Loading...
Searching...
No Matches
score::gfx::CustomMesh Class Reference
Inheritance diagram for score::gfx::CustomMesh:
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, QRhi &rhi, QRhiResourceUpdateBatch &rb) const noexcept |
| void | update_vbo (int buffer_index, const ossia::geometry::gpu_buffer &vtx_buf, MeshBuffers &meshbuf, QRhi &rhi, QRhiResourceUpdateBatch &rb) const noexcept |
| void | update_index (int buffer_index, const ossia::geometry::cpu_buffer &idx_buf, MeshBuffers &meshbuf, QRhi &rhi, QRhiResourceUpdateBatch &rb) const noexcept |
| void | update_index (int buffer_index, const ossia::geometry::gpu_buffer &idx_buf, MeshBuffers &meshbuf, QRhi &rhi, 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 |
| bool | hasGeometry () 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 |
| void | drawWithFallbackBindings (const MeshBuffers &bufs, QRhiCommandBuffer &cb, const FallbackBindingPlan &plan) const noexcept |
| bool | drawSingleMesh (std::size_t mesh_index, std::size_t buffer_offset, const MeshBuffers &bufs, QRhiCommandBuffer &cb, const FallbackBindingPlan &plan={}) const noexcept |
| bool | subMeshLayoutMatchesFirst (std::size_t i) const noexcept |
| 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()
|
overridevirtualnoexcept |
A basic vertex shader that is going to work with this mesh.
Implements score::gfx::Mesh.
◆ draw()
|
overridevirtualnoexcept |
Implements score::gfx::Mesh.
◆ flags()
|
overridevirtualnoexcept |
Implements score::gfx::Mesh.
◆ hasGeometry()
|
overridevirtualnoexcept |
Reimplemented from score::gfx::Mesh.
◆ init()
|
overridevirtualnoexcept |
Implements score::gfx::Mesh.
◆ preparePipeline()
|
overridevirtualnoexcept |
Implements score::gfx::Mesh.
◆ semanticGeometry()
|
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.
◆ subMeshLayoutMatchesFirst()
|
noexcept |
True when sub-mesh i shares meshes[0]'s vertex layout — the only layout the pipeline was built for; mismatching sub-meshes are skipped by the default draw paths.
◆ update()
|
overridevirtualnoexcept |
Implements score::gfx::Mesh.
The documentation for this class was generated from the following files:
- CustomMesh.hpp
- CustomMesh.cpp
Public Member Functions inherited from