7#include <meshoptimizer.h>
27 [[nodiscard]] std::vector<Vertex>
getVertices()
const;
29 [[nodiscard]] std::vector<uint32_t>
getIndices()
const;
34 [[nodiscard]] std::vector<meshopt_Meshlet>
getMeshlets()
const;
35 [[nodiscard]]
const std::vector<meshopt_Meshlet>&
getMeshletByRef()
const;
The application context is the core class which stores the basic openxr and vulkan objects.
Material data for an Object which displays a flat color.
Dynamic textures material with PBR and lightmap support.
L1 Spherical Harmoics shader.
std::vector< uint8_t > getMeshletTriangles() const
float getBoundingSphereRadius() const
ApplicationContext * context
bool hasCustomTexture() const
std::vector< meshopt_Meshlet > getMeshlets() const
std::vector< Vertex > getVertices() const
PipelineNames getMaterialName() const
std::variant< NormalMaterialData, DiffuseFlatColorMaterialData, DiffuseShaderMaterialData, MovableDiffuseShaderMaterialData, L0ShaderMaterialData, L1ShaderMaterialData, L2ShaderMaterialData, DynamicTexturesMaterialData, StaticLightmapMaterialData > materialData
uint32_t getTextureIndex() const
ObjectCullingData objectCullingData
const std::vector< uint32_t > & getIndicesByRef() const
const std::vector< MeshletBounds > & getMeshletBoundsByRef() const
uint32_t getMeshletTriangleCount() const
std::vector< uint32_t > meshletVertices
const std::vector< Vertex > & getVerticesByRef() const
std::vector< Vertex > vertices
PipelineNames materialName
const std::vector< uint32_t > & getMeshletVerticesByRef() const
void setMaterialShader(MaterialShader *shader)
std::vector< uint32_t > getIndices() const
std::vector< meshopt_Meshlet > meshlets
std::vector< MeshletBounds > meshletBounds
std::vector< uint8_t > meshletTriangles
const std::variant< NormalMaterialData, DiffuseFlatColorMaterialData, DiffuseShaderMaterialData, MovableDiffuseShaderMaterialData, L0ShaderMaterialData, L1ShaderMaterialData, L2ShaderMaterialData, DynamicTexturesMaterialData, StaticLightmapMaterialData > & getMaterialData() const
MaterialShader * materialShader
const ObjectCullingData & getPrimitiveBoundsByRef() const
uint32_t getMeshletVertexCount() const
uint32_t getMeshletsCount() const
const std::vector< uint8_t > & getMeshletTrianglesByRef() const
MaterialShader * getMaterialShader() const
void setMaterialId(uint32_t materialId)
std::vector< uint32_t > getMeshletVertices() const
std::vector< uint32_t > indices
void generateBoundingSpheres()
const std::vector< meshopt_Meshlet > & getMeshletByRef() const
glm::vec3 getBoundingSphereCenter() const
ObjectCullingData getCullingData() const
Moveable diffuse shader with PBR and lightmap support.
Material data for an object which displays its normals.
The renderer is the main class for rendering. It owns all data which is used any time in any frame....
Static lightmap material with PBR support.
Log category system implementation.
Stores intermediate data from loading the asset from disk. These are the vertices,...
MeshletBoundsHelper(glm::vec3 init)
MeshletBounds getBounds(const std::vector< meshopt_Meshlet > &meshlets, const std::vector< Vertex > &vertices, const std::vector< uint32_t > &meshletVertices) const
void enlarge(glm::vec3 point)