CPU-authoritative strand buffer (UE FHairStrandsDatas analogue).
更多...
#include <StrandsDatas.h>
Public 成员函数 | |
| void | setPoints (std::vector< StrandPoint > points) |
| Sets the points. | |
| void | setCurves (std::vector< StrandCurve > curves) |
| Sets the curves. | |
| uint32_t | addPoint (const StrandPoint &point) |
| Adds point. | |
| uint32_t | addCurve (const StrandCurve &curve) |
| Adds curve. | |
| void | clear () |
| Clears . | |
| Result< void > | validate () const |
| Verify offsets, counts, and finite values. | |
| size_t | pointCount () const |
| size_t | curveCount () const |
| std::span< const StrandPoint > | points () const |
| Borrowed points; invalidated by mutation. | |
| std::span< const StrandCurve > | curves () const |
| Borrowed curves; invalidated by mutation. | |
| std::span< const StrandPoint > | curvePoints (size_t curveIndex) const |
| Borrowed points of one curve. | |
| void | computeBounds (glm::vec3 &outMin, glm::vec3 &outMax) const |
| Axis-aligned bounds of all points; empty → zero box at origin. | |
详细描述
CPU-authoritative strand buffer (UE FHairStrandsDatas analogue).
Points are dense; each curve references a contiguous subrange. Optional per-point attributes can be added later without changing curve indices.
@thread Affine to the owning asset/instance; no internal synchronization. @reentrancy Does not invoke callbacks.
在文件 StrandsDatas.h 第 44 行定义.
成员函数说明
◆ addCurve()
| uint32_t eve::graphics::hair::StrandsDatas::addCurve | ( | const StrandCurve & | curve | ) |
◆ addPoint()
| uint32_t eve::graphics::hair::StrandsDatas::addPoint | ( | const StrandPoint & | point | ) |
◆ clear()
| void eve::graphics::hair::StrandsDatas::clear | ( | ) |
Clears .
在文件 StrandsDatas.cpp 第 36 行定义.
◆ computeBounds()
| void eve::graphics::hair::StrandsDatas::computeBounds | ( | glm::vec3 & | outMin, |
| glm::vec3 & | outMax | ||
| ) | const |
Axis-aligned bounds of all points; empty → zero box at origin.
在文件 StrandsDatas.cpp 第 88 行定义.
引用了 p.
◆ curveCount()
|
inline |
◆ curvePoints()
| std::span< const StrandPoint > eve::graphics::hair::StrandsDatas::curvePoints | ( | size_t | curveIndex | ) | const |
Borrowed points of one curve.
- 返回
- Empty span when
curveIndexis out of range or the range is invalid.
在文件 StrandsDatas.cpp 第 81 行定义.
引用了 c.
被这些函数引用 eve::graphics::hair::filterStrandsByCurves() , 以及 eve::graphics::hair::GuideSimulator::reset().
◆ curves()
|
inline |
Borrowed curves; invalidated by mutation.
在文件 StrandsDatas.h 第 71 行定义.
被这些函数引用 eve::graphics::hair::GroomBinding::deform(), eve::graphics::hair::interpolateStrands() , 以及 setCurves().
◆ pointCount()
|
inline |
在文件 StrandsDatas.h 第 65 行定义.
被这些函数引用 eve::graphics::hair::filterStrandsByCurves() , 以及 eve::graphics::hair::GuideSimulator::reset().
◆ points()
|
inline |
Borrowed points; invalidated by mutation.
在文件 StrandsDatas.h 第 69 行定义.
被这些函数引用 eve::graphics::hair::GroomBinding::deform(), eve::graphics::hair::interpolateStrands(), eve::graphics::hair::GuideSimulator::reset() , 以及 setPoints().
◆ setCurves()
| void eve::graphics::hair::StrandsDatas::setCurves | ( | std::vector< StrandCurve > | curves | ) |
Sets the curves.
在文件 StrandsDatas.cpp 第 22 行定义.
引用了 curves().
被这些函数引用 eve::graphics::hair::GroomBinding::deform(), eve::graphics::hair::extractGuides(), eve::graphics::hair::filterStrandsByCurves(), eve::graphics::hair::generateOnMesh(), eve::graphics::hair::interpolateStrands() , 以及 eve::graphics::hair::GuideSimulator::snapshot().
◆ setPoints()
| void eve::graphics::hair::StrandsDatas::setPoints | ( | std::vector< StrandPoint > | points | ) |
Sets the points.
在文件 StrandsDatas.cpp 第 20 行定义.
引用了 points().
被这些函数引用 eve::graphics::hair::GroomBinding::deform(), eve::graphics::hair::extractGuides(), eve::graphics::hair::filterStrandsByCurves(), eve::graphics::hair::generateOnMesh(), eve::graphics::hair::interpolateStrands() , 以及 eve::graphics::hair::GuideSimulator::snapshot().
◆ validate()
| Result< void > eve::graphics::hair::StrandsDatas::validate | ( | ) | const |
Verify offsets, counts, and finite values.
- 返回
- Success, or InvalidArgument / InvariantViolation with path.
在文件 StrandsDatas.cpp 第 41 行定义.
引用了 c, end, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::InvariantViolation, p , 以及 eve::Result< T >::success().
被这些函数引用 eve::graphics::hair::buildGuideWeights(), eve::graphics::hair::GroomBinding::deform(), eve::graphics::hair::extractGuides(), eve::graphics::hair::filterStrandsByCurves(), eve::graphics::hair::generateOnMesh(), eve::graphics::hair::interpolateStrands(), eve::graphics::hair::GuideSimulator::reset() , 以及 eve::graphics::hair::GuideSimulator::snapshot().
该类的文档由以下文件生成:
- src/modules/graphics/hair/StrandsDatas.h
- src/modules/graphics/hair/StrandsDatas.cpp