|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
#include <MeshPrimitive.h>
Classes | |
| struct | MeshletBoundsHelper |
Public Attributes | |
| std::vector< meshopt_Meshlet > | meshlets {} |
| std::vector< MeshletBounds > | meshletBounds {} |
Private Member Functions | |
| void | generateMeshlets () |
| void | generateBoundingSpheres () |
Private Attributes | |
| friend | Mesh |
| PipelineNames | materialName |
| MaterialShader * | materialShader = nullptr |
| uint32_t | materialId = 0 |
| std::variant< NormalMaterialData, DiffuseFlatColorMaterialData, DiffuseShaderMaterialData, MovableDiffuseShaderMaterialData, L0ShaderMaterialData, L1ShaderMaterialData, L2ShaderMaterialData, DynamicTexturesMaterialData, StaticLightmapMaterialData > | materialData |
| std::vector< uint32_t > | meshletVertices {} |
| std::vector< uint8_t > | meshletTriangles {} |
| ObjectCullingData | objectCullingData {.worldPositionAndRadius = {0.0f, 0.0f, 0.0f, 0.0f}, .objectIndex = 0} |
| ApplicationContext * | context = nullptr |
| Renderer * | renderer = nullptr |
| uint32_t | textureIndex = 0 |
| Texture * | colorTexture = nullptr |
| std::vector< Vertex > | vertices |
| std::vector< uint32_t > | indices |
Definition at line 20 of file MeshPrimitive.h.
|
default |
References context, materialId, and renderer.
| EngineCore::MeshPrimitive::MeshPrimitive | ( | GltfLoader::GltfMeshPrimitiveData | meshPrimitiveData, |
| ApplicationContext * | context, | ||
| Renderer * | renderer ) |
Definition at line 16 of file MeshPrimitive.cpp.
References context, generateMeshlets(), getIndices(), EngineCore::GltfLoader::GltfMeshPrimitiveData::getMaterialData(), getVertices(), EngineCore::GltfLoader::GltfMaterialData::hasTexture(), EngineCore::GltfLoader::GltfMaterialData::hasVulkanSchneeExtension(), indices, meshlets, renderer, and vertices.
| EngineCore::MeshPrimitive::~MeshPrimitive | ( | ) |
Definition at line 53 of file MeshPrimitive.cpp.
|
private |
Definition at line 312 of file MeshPrimitive.cpp.
References meshletBounds, meshlets, meshletVertices, objectCullingData, TRACY_ZONE_SCOPED_NAMED, vertices, and EngineCore::MeshletBounds::worldPositionAndRadius.
Referenced by generateMeshlets().
|
private |
Definition at line 176 of file MeshPrimitive.cpp.
References generateBoundingSpheres(), indices, meshlets, meshletTriangles, meshletVertices, TRACY_ZONE_SCOPED_NAMED, and vertices.
Referenced by MeshPrimitive().
|
nodiscard |
Definition at line 130 of file MeshPrimitive.cpp.
References objectCullingData.
|
nodiscard |
Definition at line 125 of file MeshPrimitive.cpp.
References objectCullingData.
|
nodiscard |
Definition at line 135 of file MeshPrimitive.cpp.
References objectCullingData.
|
nodiscard |
Definition at line 65 of file MeshPrimitive.cpp.
References indices.
Referenced by MeshPrimitive().
|
nodiscard |
Definition at line 70 of file MeshPrimitive.cpp.
References indices.
|
inlinenodiscard |
Definition at line 93 of file MeshPrimitive.h.
References materialData.
|
nodiscard |
Definition at line 145 of file MeshPrimitive.cpp.
References materialName.
|
nodiscard |
Definition at line 150 of file MeshPrimitive.cpp.
References materialShader.
| const std::vector< MeshletBounds > & EngineCore::MeshPrimitive::getMeshletBoundsByRef | ( | ) | const |
Definition at line 170 of file MeshPrimitive.cpp.
References meshletBounds.
|
nodiscard |
Definition at line 85 of file MeshPrimitive.cpp.
References meshlets.
|
nodiscard |
Definition at line 80 of file MeshPrimitive.cpp.
References meshlets.
|
nodiscard |
Definition at line 120 of file MeshPrimitive.cpp.
References meshlets.
|
nodiscard |
Definition at line 110 of file MeshPrimitive.cpp.
References meshletTriangles.
|
nodiscard |
Definition at line 90 of file MeshPrimitive.cpp.
References meshletTriangles.
|
nodiscard |
Definition at line 95 of file MeshPrimitive.cpp.
References meshletTriangles.
|
nodiscard |
Definition at line 115 of file MeshPrimitive.cpp.
References meshletVertices.
|
nodiscard |
Definition at line 100 of file MeshPrimitive.cpp.
References meshletVertices.
|
nodiscard |
Definition at line 105 of file MeshPrimitive.cpp.
References meshletVertices.
| const ObjectCullingData & EngineCore::MeshPrimitive::getPrimitiveBoundsByRef | ( | ) | const |
Definition at line 165 of file MeshPrimitive.cpp.
References objectCullingData.
|
nodiscard |
Definition at line 75 of file MeshPrimitive.cpp.
References textureIndex.
|
nodiscard |
Definition at line 55 of file MeshPrimitive.cpp.
References vertices.
Referenced by MeshPrimitive().
|
nodiscard |
Definition at line 60 of file MeshPrimitive.cpp.
References vertices.
|
nodiscard |
Definition at line 140 of file MeshPrimitive.cpp.
References colorTexture.
| void EngineCore::MeshPrimitive::setMaterialId | ( | uint32_t | materialId | ) |
Definition at line 160 of file MeshPrimitive.cpp.
References materialId.
| void EngineCore::MeshPrimitive::setMaterialShader | ( | MaterialShader * | shader | ) |
Definition at line 155 of file MeshPrimitive.cpp.
References materialShader.
|
private |
Definition at line 107 of file MeshPrimitive.h.
Referenced by hasCustomTexture().
|
private |
Definition at line 103 of file MeshPrimitive.h.
Referenced by MeshPrimitive(), and MeshPrimitive().
|
private |
Definition at line 110 of file MeshPrimitive.h.
Referenced by generateMeshlets(), getIndices(), getIndicesByRef(), and MeshPrimitive().
|
private |
Definition at line 88 of file MeshPrimitive.h.
Referenced by getMaterialData().
|
private |
Definition at line 77 of file MeshPrimitive.h.
Referenced by MeshPrimitive(), and setMaterialId().
|
private |
Definition at line 75 of file MeshPrimitive.h.
Referenced by getMaterialName().
|
private |
Definition at line 76 of file MeshPrimitive.h.
Referenced by getMaterialShader(), and setMaterialShader().
|
private |
Definition at line 21 of file MeshPrimitive.h.
| std::vector<MeshletBounds> EngineCore::MeshPrimitive::meshletBounds {} |
Definition at line 72 of file MeshPrimitive.h.
Referenced by generateBoundingSpheres(), and getMeshletBoundsByRef().
| std::vector<meshopt_Meshlet> EngineCore::MeshPrimitive::meshlets {} |
Definition at line 71 of file MeshPrimitive.h.
Referenced by generateBoundingSpheres(), generateMeshlets(), EngineCore::MeshPrimitive::MeshletBoundsHelper::getBounds(), getMeshletByRef(), getMeshlets(), getMeshletsCount(), and MeshPrimitive().
|
private |
Definition at line 99 of file MeshPrimitive.h.
Referenced by generateMeshlets(), getMeshletTriangleCount(), getMeshletTriangles(), and getMeshletTrianglesByRef().
|
private |
Definition at line 98 of file MeshPrimitive.h.
Referenced by generateBoundingSpheres(), generateMeshlets(), EngineCore::MeshPrimitive::MeshletBoundsHelper::getBounds(), getMeshletVertexCount(), getMeshletVertices(), and getMeshletVerticesByRef().
|
private |
Definition at line 101 of file MeshPrimitive.h.
Referenced by generateBoundingSpheres(), getBoundingSphereCenter(), getBoundingSphereRadius(), getCullingData(), and getPrimitiveBoundsByRef().
|
private |
Definition at line 104 of file MeshPrimitive.h.
Referenced by MeshPrimitive(), and MeshPrimitive().
|
private |
Definition at line 106 of file MeshPrimitive.h.
Referenced by getTextureIndex().
|
private |
Definition at line 109 of file MeshPrimitive.h.
Referenced by generateBoundingSpheres(), generateMeshlets(), EngineCore::MeshPrimitive::MeshletBoundsHelper::getBounds(), getVertices(), getVerticesByRef(), and MeshPrimitive().