10class VertexDescription;
102 unsigned int indexCount = 0;
An axis-aligned bounding box.
Definition: AxisAlignedBoundingBox.hpp:12
A buffer containing GPU accessible data.
Definition: Buffer.hpp:8
Renderable 3D geometry.
Definition: Geometry3D.hpp:15
Buffer * vertexBuffer
Vertex buffer.
Definition: Geometry3D.hpp:83
std::vector< glm::vec3 > vertexPositionData
Vertex position data.
Definition: Geometry3D.hpp:92
unsigned int GetIndexCount() const
Get number of indices.
Definition: Geometry3D.cpp:24
std::vector< uint32_t > vertexIndexData
Vertex index data.
Definition: Geometry3D.hpp:95
const std::vector< glm::vec3 > & GetVertexPositionData() const
Get vertex position vector.
Definition: Geometry3D.cpp:32
Geometry3D(LowLevelRenderer *lowLevelRenderer)
Create new 3D geometry.
Definition: Geometry3D.cpp:9
LowLevelRenderer * lowLevelRenderer
The low-level renderer used to create buffers and the vertex description.
Definition: Geometry3D.hpp:98
VertexDescription * vertexDescription
Vertex description.
Definition: Geometry3D.hpp:89
void GenerateGeometryBinding()
Generate geometry binding.
Definition: Geometry3D.cpp:45
const AxisAlignedBoundingBox & GetAxisAlignedBoundingBox() const
Get the axis-aligned bounding box around the geometry.
Definition: Geometry3D.cpp:28
const std::vector< uint32_t > & GetVertexIndexData() const
Get vertex index vector.
Definition: Geometry3D.cpp:36
void CreateAxisAlignedBoundingBox(const std::vector< glm::vec3 * > &positions)
Create local space axis-aligned bounding box around the geometry.
Definition: Geometry3D.cpp:49
Buffer * indexBuffer
Index buffer.
Definition: Geometry3D.hpp:86
GeometryBinding * GetGeometryBinding()
Get the geometry binding.
Definition: Geometry3D.cpp:20
void GenerateIndexBuffer(uint32_t *indexData, unsigned int indexCount)
Generate index buffer.
Definition: Geometry3D.cpp:40
virtual ~Geometry3D()
Destructor.
Definition: Geometry3D.cpp:13
Binds together a vertex description with buffers.
Definition: GeometryBinding.hpp:8
Low level renderer abstracting the underlaying graphics API (OpenGL or Vulkan).
Definition: LowLevelRenderer.hpp:27
Describes how a vertex buffer is accessed by a shader.
Definition: VertexDescription.hpp:8
Definition: AssetEditor.hpp:5
Definition: Editor.hpp:18