9 #include <glm/mat4x4.hpp> 143 void SetBindings(
const std::vector<YI_ATTRIBUTE_BINDING> &bindings);
148 const std::vector<YI_ATTRIBUTE_BINDING> &
GetBindings()
const;
170 const std::shared_ptr<CYIAssetBufferObjectData> &
GetIndexBuffer()
const;
251 std::vector<std::shared_ptr<CYIAssetBufferObjectData>>
m_VBOs;
252 std::shared_ptr<CYIAssetBufferObjectData>
m_IBO;
267 #endif // _YI_MESH_H_ bool m_bIsLoaded
Definition: YiMesh.h:262
uint32_t GetNumVertexBuffers() const
uint32_t uNumElements
Definition: YiMesh.h:74
std::vector< YI_ATTRIBUTE_BINDING > m_Attributes
Definition: YiMesh.h:253
YI_GEOMETRY_PRIMITIVE
Definition: YiMesh.h:39
uint32_t uByteOffset
Definition: YiMesh.h:76
uint32_t GetIndexCount() const
YI_BUFFER_OWNERSHIP
Definition: YiMesh.h:52
bool GetDepthTesting() const
Class representing an instance of geometry information.
Definition: YiMesh.h:33
static const uint32_t YI_COLOR
Definition: YiMesh.h:98
glm::mat4 m_transform
Definition: YiMesh.h:257
const YI_ATTRIBUTE_BINDING & GetBinding(uint32_t uBindingIndex)
static const uint32_t YI_NORMAL
Definition: YiMesh.h:97
YI_GEOMETRY_PRIMITIVE m_primitive
Definition: YiMesh.h:254
YI_GEOMETRY_PRIMITIVE GetPrimitive() const
void SetIndexCount(uint32_t count)
The base class for an object accessible from script source code.
Definition: YiScriptableObject.h:28
uint32_t GetStartOffset() const
const glm::mat4 & GetTransform() const
void SetPrimitive(YI_GEOMETRY_PRIMITIVE primitive)
uint32_t uStride
Definition: YiMesh.h:75
std::vector< YI_BUFFER_OWNERSHIP > m_VBOOwnership
Definition: YiMesh.h:260
bool m_bHasDepth
Definition: YiMesh.h:259
uint32_t m_uStartOffset
Definition: YiMesh.h:256
void SetTransform(const glm::mat4 &transform)
std::shared_ptr< CYIAssetBufferObjectData > m_IBO
Definition: YiMesh.h:252
const CYIAABB & GetAxisAlignedBoundingBox() const
uint32_t uAttribute
Definition: YiMesh.h:73
std::vector< std::shared_ptr< CYIAssetBufferObjectData > > m_VBOs
Definition: YiMesh.h:251
void SetBindings(const std::vector< YI_ATTRIBUTE_BINDING > &bindings)
This class represents an Axis-Aligned Bounding Box.
Definition: YiAABB.h:24
const std::shared_ptr< CYIAssetBufferObjectData > & GetVertexBuffer(uint32_t uBufferIndex) const
static const uint32_t YI_TEXCOORD
Definition: YiMesh.h:96
uint32_t GetNumBindings() const
uint32_t uBufferIndex
Definition: YiMesh.h:72
void SetDepthTesting(bool bEnabled)
void SetAxisAlignedBoundingBox(const CYIAABB &aabb)
void SetStartOffset(uint32_t uStartOffset)
uint32_t AddVertexBuffer(const std::shared_ptr< CYIAssetBufferObjectData > &pData, YI_BUFFER_OWNERSHIP ownership)
void SetIndexBuffer(const std::shared_ptr< CYIAssetBufferObjectData > &pData, YI_BUFFER_OWNERSHIP ownership)
uint32_t m_indexCount
Definition: YiMesh.h:255
const std::vector< YI_ATTRIBUTE_BINDING > & GetBindings() const
static const uint32_t YI_POSITION
Definition: YiMesh.h:95
const std::shared_ptr< CYIAssetBufferObjectData > & GetIndexBuffer() const
YI_BUFFER_OWNERSHIP m_IBOOwnership
Definition: YiMesh.h:261
CYIAABB m_AABB
Definition: YiMesh.h:258
void RemoveVertexBuffer(uint32_t uBufferIndex)