载入中...
搜索中...
未找到
Procedural.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
5
6#include <cstdint>
7
8namespace eve::graphics::hair {
9
17 int strandCount = 512;
19 float length = 0.18f;
20 float lengthJitter = 0.04f;
21 float rootRadius = 0.0012f;
22 float tipRadius = 0.0004f;
23 float curlStrength = 0.02f;
24 float minSlopeDot = 0.25f;
25 uint32_t seed = 1;
26};
27
35[[nodiscard]] Result<StrandsDatas> generateOnMesh(const float *posXYZ, const float *nrmXYZ,
36 int vertexCount, const uint32_t *indices,
38
43[[nodiscard]] EVENGINE_API_BACKENDS Result<StrandsDatas> generateOnPlane(float sizeX, float sizeZ,
45
46} // namespace eve::graphics::hair
#define EVENGINE_API_BACKENDS
Definition Export.h:108
std::uint32_t vertexCount
std::uint32_t indexCount
std::vector< std::uint32_t > indices
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
std::vector< ParamSpec > params
Procedural hair/fur card meshes + material/LOD helpers (no strand simulation).
Definition Graphics.h:58
Result< StrandsDatas > generateOnPlane(float sizeX, float sizeZ, const ProceduralParams &params)
Grow strands on a Y-up XZ plane centered at the origin.
Result< StrandsDatas > generateOnMesh(const float *posXYZ, const float *nrmXYZ, int vertexCount, const uint32_t *indices, int indexCount, const ProceduralParams &params)
Grow strands from area-weighted samples on an indexed triangle mesh.
Parameters for growing strands on a triangle mesh (scalp / body).
Definition Procedural.h:16