载入中...
搜索中...
未找到
eve::graphics::hair::StrandsDatas类 参考

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)

Adds curve.

在文件 StrandsDatas.cpp 第 30 行定义.

引用了 curve , 以及 index.

◆ addPoint()

uint32_t eve::graphics::hair::StrandsDatas::addPoint ( const StrandPoint &  point)

Adds point.

在文件 StrandsDatas.cpp 第 24 行定义.

引用了 index , 以及 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()

◆ curvePoints()

std::span< const StrandPoint > eve::graphics::hair::StrandsDatas::curvePoints ( size_t  curveIndex) const

Borrowed points of one curve.

返回
Empty span when curveIndex is out of range or the range is invalid.

在文件 StrandsDatas.cpp 第 81 行定义.

引用了 c.

被这些函数引用 eve::graphics::hair::filterStrandsByCurves() , 以及 eve::graphics::hair::GuideSimulator::reset().

◆ curves()

std::span< const StrandCurve > eve::graphics::hair::StrandsDatas::curves ( ) const
inline

Borrowed curves; invalidated by mutation.

在文件 StrandsDatas.h 第 71 行定义.

被这些函数引用 eve::graphics::hair::GroomBinding::deform(), eve::graphics::hair::interpolateStrands() , 以及 setCurves().

◆ pointCount()

size_t eve::graphics::hair::StrandsDatas::pointCount ( ) const
inline

◆ points()

std::span< const StrandPoint > eve::graphics::hair::StrandsDatas::points ( ) const
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()

◆ setPoints()

◆ validate()


该类的文档由以下文件生成: