载入中...
搜索中...
未找到
MeshTangent.cpp
浏览该文件的文档.
10 DiagnosticCode::InvalidArgument, "vegetation factor stream must contain five values per mesh vertex"));
29 DiagnosticCode::InvalidArgument, "vegetation deformation stream must contain nine values per mesh vertex"));
69Result<void> Mesh::validateTangentFrame(std::span<const float> tangents, std::span<const float> bitangents) const {
78 if (gpuVertexCount <= 0 || tangents.size() != size_t(gpuVertexCount) * 3 || bitangents.size() != tangents.size())
93Result<void> Mesh::adoptTangentFrame(std::vector<float>&& tangents, std::vector<float>&& bitangents) {
103Result<void> Mesh::setTangentFrame(std::span<const float> tangents, std::span<const float> bitangents) {
107 std::vector<float> t(tangents.begin(), tangents.end()), b(bitangents.begin(), bitangents.end());
112 return Result<void>::failure(Diagnostic::error(DiagnosticCode::Failed, "tangent frame allocation failed"));
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Result< void > adoptVegetationFactors(std::vector< float > &&values)
Validate and take ownership of interleaved vegetation variation/occlusion pairs.
Definition MeshTangent.cpp:19
Result< void > validateMotionHighlights(std::span< const float > values) const
Validate an optional per-vertex motion-highlight stream without mutation.
Definition MeshTangent.cpp:51
Result< void > adoptVegetationDeformationFactors(std::vector< float > &&values)
Validate and atomically take ownership of a TVE rest-deformation stream. Failure preserves the mesh a...
Definition MeshTangent.cpp:45
Result< void > validateVegetationDeformationFactors(std::span< const float > values) const
Validate optional TVE rest-deformation data without mutation. Nine floats per vertex are pivot XYZ,...
Definition MeshTangent.cpp:25
Result< void > adoptTangentFrame(std::vector< float > &&tangents, std::vector< float > &&bitangents)
Validate then take owning frame buffers without allocating on success.
Definition MeshTangent.cpp:93
Result< void > validateVegetationFactors(std::span< const float > values) const
Validate optional interleaved vegetation variation/occlusion pairs without mutation.
Definition MeshTangent.cpp:6
Result< void > adoptMotionHighlights(std::vector< float > &&values)
Validate and transfer an owning motion-highlight stream without allocating on success.
Definition MeshTangent.cpp:63
Result< void > setTangentFrame(std::span< const float > tangents, std::span< const float > bitangents)
Atomically copy authored tangent and bitangent XYZ streams, or clear both with empty spans.
Definition MeshTangent.cpp:103
Result< void > validateTangentFrame(std::span< const float > tangents, std::span< const float > bitangents) const
Validate a frame against current vertex count without mutation or allocation on success.
Definition MeshTangent.cpp:69
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
@ InvalidArgument
@ Failed