Loading...
Searching...
No Matches
score::gfx::CustomMesh Class Reference
Inheritance diagram for score::gfx::CustomMesh:
score::gfx::Mesh

Public Member Functions

 CustomMesh (const ossia::mesh_list &g, const ossia::geometry_filter_list_ptr &f)
 
const ossia::mesh_list & meshList () const noexcept
 
QRhiBuffer * init_vbo (const ossia::geometry::cpu_buffer &buf, QRhi &rhi) const noexcept
 
QRhiBuffer * init_vbo (const ossia::geometry::gpu_buffer &buf, QRhi &rhi) const noexcept
 
QRhiBuffer * init_index (const ossia::geometry::cpu_buffer &buf, QRhi &rhi) const noexcept
 
QRhiBuffer * init_index (const ossia::geometry::gpu_buffer &buf, QRhi &rhi) const noexcept
 
MeshBuffers init (QRhi &rhi) const noexcept override
 
void update_vbo (int buffer_index, const ossia::geometry::cpu_buffer &vtx_buf, MeshBuffers &meshbuf, QRhiResourceUpdateBatch &rb) const noexcept
 
void update_vbo (int buffer_index, const ossia::geometry::gpu_buffer &vtx_buf, MeshBuffers &meshbuf, QRhiResourceUpdateBatch &rb) const noexcept
 
void update_index (int buffer_index, const ossia::geometry::cpu_buffer &idx_buf, MeshBuffers &meshbuf, QRhiResourceUpdateBatch &rb) const noexcept
 
void update_index (int buffer_index, const ossia::geometry::gpu_buffer &idx_buf, MeshBuffers &meshbuf, QRhiResourceUpdateBatch &rb) const noexcept
 
void update (QRhi &rhi, MeshBuffers &output_meshbuf, QRhiResourceUpdateBatch &rb) const noexcept override
 
Flags flags () const noexcept override
 
void clear ()
 
void preparePipeline (QRhiGraphicsPipeline &pip) const noexcept override
 
void reload (const ossia::mesh_list &ml, const ossia::geometry_filter_list_ptr &f)
 
void draw (const MeshBuffers &bufs, QRhiCommandBuffer &cb) const noexcept override
 
const char * defaultVertexShader () const noexcept override
 A basic vertex shader that is going to work with this mesh.
 
const ossia::geometry * semanticGeometry () const noexcept override
 Return the underlying semantic geometry if available.
 
- Public Member Functions inherited from score::gfx::Mesh
bool hasGeometryChanged (int64_t &renderer) const noexcept
 

Additional Inherited Members

- Public Types inherited from score::gfx::Mesh
enum  Flag {
  HasPosition = SCORE_FLAG(1) , HasTexCoord = SCORE_FLAG(2) , HasColor = SCORE_FLAG(3) , HasNormals = SCORE_FLAG(4) ,
  HasTangents = SCORE_FLAG(5)
}
 
using Flags = QFlags< Flag >
 
- Public Attributes inherited from score::gfx::Mesh
ossia::geometry_filter_list_ptr filters
 
std::atomic_int64_t dirtyGeometryIndex {-1}
 

Member Function Documentation

◆ defaultVertexShader()

const char * score::gfx::CustomMesh::defaultVertexShader ( ) const
overridevirtualnoexcept

A basic vertex shader that is going to work with this mesh.

Implements score::gfx::Mesh.

◆ draw()

void score::gfx::CustomMesh::draw ( const MeshBuffers bufs,
QRhiCommandBuffer &  cb 
) const
overridevirtualnoexcept

Implements score::gfx::Mesh.

◆ flags()

Mesh::Flags score::gfx::CustomMesh::flags ( ) const
overridevirtualnoexcept

Implements score::gfx::Mesh.

◆ init()

MeshBuffers score::gfx::CustomMesh::init ( QRhi &  rhi) const
overridevirtualnoexcept

Implements score::gfx::Mesh.

◆ preparePipeline()

void score::gfx::CustomMesh::preparePipeline ( QRhiGraphicsPipeline &  pip) const
overridevirtualnoexcept

Implements score::gfx::Mesh.

◆ semanticGeometry()

const ossia::geometry * score::gfx::CustomMesh::semanticGeometry ( ) const
inlineoverridevirtualnoexcept

Return the underlying semantic geometry if available.

Used by buildPipeline() to remap vertex input layouts by matching shader input variable names to geometry attribute semantics. Meshes that carry semantic information (e.g. CustomMesh) should override this.

Reimplemented from score::gfx::Mesh.

◆ update()

void score::gfx::CustomMesh::update ( QRhi &  rhi,
MeshBuffers output_meshbuf,
QRhiResourceUpdateBatch &  rb 
) const
overridevirtualnoexcept

Implements score::gfx::Mesh.


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