载入中...
搜索中...
未找到
VirtualGeometryRuntime.cpp
浏览该文件的文档.
45 const bool normalsInvalid = !mesh.normals.empty() && mesh.normals.size() != mesh.positions.size();
47 mesh.indices.size() % 3 != 0 || mesh.positions.size() / 3 > 50000000 || mesh.indices.size() > 150000000 ||
85 if (cluster.childCount > 4 || cluster.triStart + cluster.triCount > candidate->triangles.size() / 3)
const T & value() const &
Borrow the value from a const lvalue after checking success.
Definition Result.h:308
CPU preprocessor that builds a Nanite-style hierarchical cluster DAG from a triangle mesh:
Definition Builder.h:23
bool build(const MeshInput &in, const Options &opt, VirtualGeometryAsset &out)
Returns false on empty/invalid input.
Definition Builder.cpp:337
Asset resolver boundary for VirtualGeometry preprocessing.
Definition VirtualGeometryTarget.h:120
virtual Result< VirtualGeometryMeshData > resolve(const std::string &assetId) const =0
Return an owned triangulated mesh for one asset generation.
Result< VirtualGeometryBuildArtifact > build(const VirtualGeometryDocumentTarget &document, const IVirtualGeometryMeshResolver &resolver)
Resolve, validate and build fully before replacing the active asset.
Definition VirtualGeometryRuntime.cpp:30
~VirtualGeometryBuildRuntime()
Virtual geometry build runtime.
VirtualGeometryBuildRuntime()
Virtual geometry build runtime.
Revisioned VirtualGeometry importer preset.
Definition VirtualGeometryTarget.h:64
std::vector< EditorDiagnostic > validate() const
Validate builder invariants, CPU budgets and preview sweep.
Definition VirtualGeometryTarget.cpp:177
void lodHistogram(const VirtualGeometryAsset &asset, const std::vector< std::uint32_t > &selected, std::vector< int > &perLevelCount)
Per-LOD-level counts of the selected clusters (size = maxLod+1).
Definition LodSelection.cpp:31
int selectClusters(const VirtualGeometryAsset &asset, float dist, float projScale, float errorPx, std::vector< std::uint32_t > &outSelected)
CPU reference implementation of the GPU cluster-DAG LOD selection (mirrors shaders/vg_cull....
Definition LodSelection.cpp:8
CPU-side processed cluster (before packing into VgGpuCluster).
Definition VirtualGeometryAsset.h:25
Fully processed virtual-geometry asset (CPU representation). Produced by Builder from a Mesh; uploade...
Definition VirtualGeometryAsset.h:41
int vertexCount
Definition Builder.h:27
Immutable quality/cost report for a built virtual-geometry generation.
Definition VirtualGeometryTarget.h:137
Revision sourceRevision
Definition VirtualGeometryTarget.h:138
int clusters
Definition VirtualGeometryTarget.h:141
std::vector< VirtualGeometryLodSample > lodCurve
Definition VirtualGeometryTarget.h:143
std::uint64_t storedTriangles
Definition VirtualGeometryTarget.h:140
std::uint64_t sourceTriangles
Definition VirtualGeometryTarget.h:140
int maxLod
Definition VirtualGeometryTarget.h:141
int vertices
Definition VirtualGeometryTarget.h:139
int roots
Definition VirtualGeometryTarget.h:141
std::uint64_t checksum
Definition VirtualGeometryTarget.h:142
virtualgeometry::VirtualGeometryBuilder::Options builder
Definition VirtualGeometryTarget.h:50
std::string sourceAsset
Definition VirtualGeometryTarget.h:49
float nearDistance
Definition VirtualGeometryTarget.h:54
One sample in the logarithmic camera-distance LOD cost curve.
Definition VirtualGeometryTarget.h:129
float distance
Definition VirtualGeometryTarget.h:130