Cogs.Core
Public Member Functions | Public Attributes | List of all members
Cogs::Core::RenderMesh Struct Reference
Inheritance diagram for Cogs::Core::RenderMesh:
Cogs::Core::RenderResourceBase< Mesh > Cogs::Core::RenderResource

Public Member Functions

 RenderMesh (RenderMesh &)=delete
 
ActivationResult update (Mesh *mesh, IGraphicsDevice *device, class RenderResources *resources)
 
void release (class Renderer *renderer)
 
MeshgetMesh () const
 
Cogs::VertexArrayObjectHandle getVertexArrayObject (IGraphicsDevice *device, const RenderEffect *renderEffect) const
 
- Public Member Functions inherited from Cogs::Core::RenderResourceBase< Mesh >
 RenderResourceBase (const RenderResourceBase &)=delete
 
void setResource (Mesh *resource)
 
MeshgetResource () const
 
- Public Member Functions inherited from Cogs::Core::RenderResource
 RenderResource (const RenderResource &)=delete
 
RenderResourceoperator= (const RenderResource &)=delete
 
void setActive ()
 
void setDelayed ()
 
void setFailed ()
 
void setReleased ()
 
void setOwned ()
 
void setPersistent ()
 
void setOverride ()
 
bool isActive () const
 Get if the render resource is active and can be used for rendering.
 
bool isDelayed () const
 Get if the render resource is in a delayed state.
 
bool isSet (RenderResourceFlags flag) const
 
bool isPersistent () const
 
bool isOverride () const
 
bool hasFailed () const
 
bool isReleased () const
 
bool isOwned () const
 
void setName (const StringView &str)
 
StringView getName () const
 
RenderResourceType getType () const
 
RenderResourceFlags getFlags () const
 
void incrementGeneration ()
 
uint16_t getGeneration ()
 
Id getIdentity () const
 

Public Attributes

uint32_t numVertexes = 0
 
MeshStreamsLayout streamsLayout
 
VertexBufferHandle vertexBuffers [MeshStreamsLayout::maxStreams]
 
uint32_t vertexOffsets [MeshStreamsLayout::maxStreams]
 
uint32_t vertexStrides [MeshStreamsLayout::maxStreams]
 
IndexBufferHandle indexBuffer = IndexBufferHandle::NoHandle
 
uint32_t indexOffset = 0
 
uint32_t indexStride = 4
 
std::unordered_map< RenderResource::Id, Cogs::VertexArrayObjectHandlevaos
 

Additional Inherited Members

- Public Types inherited from Cogs::Core::RenderResource
typedef uint32_t Id
 
- Protected Attributes inherited from Cogs::Core::RenderResource
StringRef name = NoString
 
RenderResourceType type = RenderResourceType::Unknown
 
RenderResourceFlags flags = RenderResourceFlags::None
 
uint16_t generation = 0
 
Id identity = 0
 

Detailed Description

Definition at line 19 of file RenderMesh.h.

Constructor & Destructor Documentation

◆ RenderMesh()

Cogs::Core::RenderMesh::RenderMesh ( )

Definition at line 61 of file RenderMesh.cpp.

Member Function Documentation

◆ getMesh()

Mesh * Cogs::Core::RenderMesh::getMesh ( ) const
inline

Definition at line 27 of file RenderMesh.h.

◆ getVertexArrayObject()

Cogs::VertexArrayObjectHandle Cogs::Core::RenderMesh::getVertexArrayObject ( IGraphicsDevice device,
const RenderEffect renderEffect 
) const

Definition at line 74 of file RenderMesh.cpp.

◆ release()

void Cogs::Core::RenderMesh::release ( class Renderer renderer)

Definition at line 174 of file RenderMesh.cpp.

◆ update()

Cogs::Core::ActivationResult Cogs::Core::RenderMesh::update ( Mesh mesh,
IGraphicsDevice device,
class RenderResources resources 
)

Definition at line 100 of file RenderMesh.cpp.

Member Data Documentation

◆ indexBuffer

IndexBufferHandle Cogs::Core::RenderMesh::indexBuffer = IndexBufferHandle::NoHandle

Definition at line 39 of file RenderMesh.h.

◆ indexOffset

uint32_t Cogs::Core::RenderMesh::indexOffset = 0

Definition at line 40 of file RenderMesh.h.

◆ indexStride

uint32_t Cogs::Core::RenderMesh::indexStride = 4

Definition at line 41 of file RenderMesh.h.

◆ numVertexes

uint32_t Cogs::Core::RenderMesh::numVertexes = 0

Definition at line 31 of file RenderMesh.h.

◆ streamsLayout

MeshStreamsLayout Cogs::Core::RenderMesh::streamsLayout

Definition at line 33 of file RenderMesh.h.

◆ vaos

std::unordered_map<RenderResource::Id, Cogs::VertexArrayObjectHandle> Cogs::Core::RenderMesh::vaos
mutable

Definition at line 43 of file RenderMesh.h.

◆ vertexBuffers

VertexBufferHandle Cogs::Core::RenderMesh::vertexBuffers[MeshStreamsLayout::maxStreams]

Definition at line 35 of file RenderMesh.h.

◆ vertexOffsets

uint32_t Cogs::Core::RenderMesh::vertexOffsets[MeshStreamsLayout::maxStreams]

Definition at line 36 of file RenderMesh.h.

◆ vertexStrides

uint32_t Cogs::Core::RenderMesh::vertexStrides[MeshStreamsLayout::maxStreams]

Definition at line 37 of file RenderMesh.h.


The documentation for this struct was generated from the following files: