Visual Computing Library  devel
Loading...
Searching...
No Matches
vcl::MeshRenderVectors< Mesh > Class Template Reference
Inheritance diagram for vcl::MeshRenderVectors< Mesh >:

Public Member Functions

const uint32_tedgeBufferData () const
 
uint edgeBufferSize () const
 
const uint32_tedgeColorBufferData () const
 
const floatedgeNormalBufferData () const
 
uint edgeNumber () const
 
const floatmeshColorBufferData () const
 
 MeshRenderVectors (const MeshType &mesh, MRI::BuffersBitSet buffersToFill=MRI::BUFFERS_ALL)
 
void swap (MeshRenderVectors &other)
 
const unsigned chartextureBufferData (uint ti) const
 
uint textureNumber () const
 
vcl::Point2i textureSize (uint ti) const
 
const uint32_ttriangleBufferData () const
 
uint triangleBufferSize () const
 
const uint32_ttriangleColorBufferData () const
 
const floattriangleNormalBufferData () const
 
uint triangleNumber () const
 
const floatvertexBufferData () const
 
uint vertexBufferSize () const
 
const uint32_tvertexColorBufferData () const
 
const floatvertexNormalBufferData () const
 
uint vertexNumber () const
 
const floatvertexTexCoordsBufferData () const
 
const uint32_tvertexTextureIDsBufferData () const
 
const floatwedgeTexCoordsBufferData () const
 
const uint32_twedgeTextureIDsBufferData () const
 
const uint32_twireframeBufferData () const
 
uint wireframeBufferSize () const
 
uint wireframeEdgeNumber () const
 
- Public Member Functions inherited from vcl::MeshRenderData< MeshRenderVectors< Mesh > >
void update (const MeshConcept auto &mesh, MRI::BuffersBitSet buffersToUpdate=MRI::BUFFERS_ALL)
 Update the buffers used to render the mesh.
 

Private Types

using Base = MeshRenderData< MeshRenderVectors< MeshType > >
 
using MeshType = Mesh
 
using MRI = MeshRenderInfo
 

Private Member Functions

void setEdgeColorsBuffer (const MeshType &mesh)
 
void setEdgeIndicesBuffer (const MeshType &mesh)
 
void setEdgeNormalsBuffer (const MeshType &mesh)
 
void setMeshUniforms (const MeshType &m)
 
void setTextureUnits (const MeshType &mesh)
 
void setTriangleColorsBuffer (const MeshType &mesh)
 
void setTriangleIndicesBuffer (const MeshType &mesh)
 
void setTriangleNormalsBuffer (const MeshType &mesh)
 
void setVertexColorsBuffer (const MeshType &mesh)
 
void setVertexNormalsBuffer (const MeshType &mesh)
 
void setVertexPositionsBuffer (const MeshType &mesh)
 
void setVertexTexCoordsBuffer (const MeshType &mesh)
 
void setVertexTextureIndicesBuffer (const MeshType &mesh)
 
void setWedgeTexCoordsBuffer (const MeshType &mesh)
 
void setWedgeTextureIndicesBuffer (const MeshType &mesh)
 
void setWireframeIndicesBuffer (const MeshType &mesh)
 

Private Attributes

friend Base
 
std::vector< uint32_tmEColors
 
std::vector< uint32_tmEdges
 
std::vector< floatmENormals
 
std::array< float, 4 > mMeshColor = {0.5, 0.5, 0.5, 1}
 
std::vector< uint32_tmTColors
 
std::vector< vcl::ImagemTextures
 
std::vector< floatmTNormals
 
std::vector< uint32_tmTris
 
std::vector< uint32_tmVColors
 
std::vector< floatmVerts
 
std::vector< floatmVNormals
 
std::vector< floatmVTexCoords
 
std::vector< uint32_tmVTexIds
 
std::vector< uint32_tmWireframe
 
std::vector< floatmWTexCoords
 
std::vector< uint32_tmWTexIds
 

Additional Inherited Members

- Protected Member Functions inherited from vcl::MeshRenderData< MeshRenderVectors< Mesh > >
void fillEdgeColors (const EdgeMeshConcept auto &mesh, auto *buffer, Color::Format fmt)
 Given the mesh and a pointer to a buffer, fills the buffer with the edge colors of the mesh (each color is packed in a single uint).
 
void fillEdgeIndices (const EdgeMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the edge indices of the mesh.
 
void fillEdgeNormals (const EdgeMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the edge normals of the mesh.
 
void fillTriangleColors (const FaceMeshConcept auto &mesh, auto *buffer, Color::Format fmt)
 Given the mesh and a pointer to a buffer, fills the buffer with the triangle colors of the mesh (each color is packed in a single uint).
 
void fillTriangleIndices (const FaceMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the triangle indices of the mesh.
 
void fillTriangleNormals (const FaceMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the triangle normals of the mesh.
 
void fillVertexColors (const MeshConcept auto &mesh, auto *buffer, Color::Format fmt)
 Given the mesh and a pointer to a buffer, fills the buffer with the vertex colors of the mesh (each color is packed in a single uint).
 
void fillVertexNormals (const MeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the vertex normals of the mesh.
 
void fillVertexPositions (const MeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the vertex positions of the mesh.
 
void fillVertexQuadIndices (const MeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the vertex quad indices of the mesh (6 indices per vertex, 2 triangles per quad).
 
void fillVertexTexCoords (const MeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the vertex texcoords of the mesh.
 
void fillVertexTextureIndices (const FaceMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the vertex texture indices of the mesh.
 
void fillWedgeTexCoords (const FaceMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the wedge texcoors of the mesh.
 
void fillWedgeTextureIndices (const FaceMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the wedge texture indices of the mesh.
 
void fillWireframeIndices (const FaceMeshConcept auto &mesh, auto *buffer)
 Given the mesh and a pointer to a buffer, fills the buffer with the wireframe indices of the mesh.
 
 MeshRenderData (MRI::BuffersBitSet buffersToFill)
 
uint numEdges () const
 Returns the number of edges that will be used to render the mesh.
 
uint numTris () const
 Returns the number of triangles that will be used to render the mesh.
 
uint numVerts () const
 Returns the number of vertices that will be used to render the mesh.
 
uint numWireframeLines () const
 Returns the number of wireframe lines that will be used to render the mesh.
 
void setEdgeColorsBuffer (const EdgeMeshConcept auto &)
 Function that sets the content of edge colors buffer and sends the data to the GPU.
 
void setEdgeIndicesBuffer (const EdgeMeshConcept auto &)
 Function that sets the content of edge indices buffer and sends the data to the GPU.
 
void setEdgeNormalsBuffer (const EdgeMeshConcept auto &)
 Function that sets the content of edge normals buffer and sends the data to the GPU.
 
void setMeshUniforms (const MeshConcept auto &)
 Function that sets the mesh uniforms from the mesh.
 
void setTextureUnits (const MeshConcept auto &)
 Function that sets the texture units from the mesh and sends the data to the GPU.
 
void setTriangleColorsBuffer (const FaceMeshConcept auto &)
 Function that sets the content of triangle colors buffer and sends the data to the GPU.
 
void setTriangleIndicesBuffer (const FaceMeshConcept auto &)
 Function that sets the content of triangle indices buffer and sends the data to the GPU.
 
void setTriangleNormalsBuffer (const FaceMeshConcept auto &)
 Function that sets the content of triangle normals buffer and sends the data to the GPU.
 
void setVertexColorsBuffer (const MeshConcept auto &)
 Function that sets the content of vertex colors buffer and sends the data to the GPU.
 
void setVertexNormalsBuffer (const MeshConcept auto &)
 Function that sets the content of vertex normals buffer and sends the data to the GPU.
 
void setVertexPositionsBuffer (const MeshConcept auto &)
 Function that sets the content of vertex positions buffer and sends the data to the GPU.
 
void setVertexTexCoordsBuffer (const MeshConcept auto &)
 Function that sets the content of vertex texture coordinates buffer and sends the data to the GPU.
 
void setVertexTextureIndicesBuffer (const FaceMeshConcept auto &)
 Function that sets the content of vertex texture indices buffer and sends the data to the GPU.
 
void setWedgeTexCoordsBuffer (const MeshConcept auto &)
 Function that sets the content of wedge texture coordinates buffer and sends the data to the GPU.
 
void setWedgeTextureIndicesBuffer (const FaceMeshConcept auto &)
 Function that sets the content of wedge texture indices buffer and sends the data to the GPU.
 
void setWireframeIndicesBuffer (const FaceMeshConcept auto &)
 Function that sets the content of wireframe indices buffer and sends the data to the GPU.
 
void swap (MeshRenderData &other)
 

The documentation for this class was generated from the following file: