|
Visual Computing Library
devel
|

Public Types | |
| enum class | SurfaceProgramsType { UBER , SPLIT , UBER_WITH_STATIC_IF } |
Public Member Functions | |
| Box3d | boundingBox () const override |
| This member function is used to find a good camera position to render object. It should return the the bounding box of the object. Return a null bounding box if the object shouldn't influence the position of the camera. | |
| std::shared_ptr< DrawableObject > | clone () &&override |
| This member function is used to create a new DrawableObject that is a moved from the current one. This object will be destroyed after the call of this function. Each derived class must implement this member function, that returns a shared pointer pointing to the moved object. For more details about this paradigm, check polimorphism clone in modern c++: https://www.fluentcpp.com/2017/09/08/make-polymorphic-copy-modern-cpp/. | |
| std::shared_ptr< DrawableObject > | clone () const &override |
| This member function is used to create a new copy of the DrawableObject. Each derived class must implement this member function, that returns a shared pointer pointing to a copy of the current one. for more details about this paradigm, check polimorphism clone in modern c++: https://www.fluentcpp.com/2017/09/08/make-polymorphic-copy-modern-cpp/. | |
| void | draw (uint viewId) const override |
| This member function must draw the object. It will be called at every frame. | |
| DrawableMeshBGFX (const DrawableMeshBGFX &drawableMesh) | |
| DrawableMeshBGFX (const MeshType &mesh) | |
| DrawableMeshBGFX (DrawableMeshBGFX &&drawableMesh) | |
| DrawableMeshBGFX (MeshType &&mesh) | |
| void | drawId (uint viewId, uint id) const override |
| This member function should draw the object. It will be called on request when the renderer needs to draw the ID of the object. | |
| uint | edgeNumber () const override |
| uint | faceNumber () const override |
| void | init () override |
| This member function is called after the initialization of the Context. It must initialize and bind data to the GPU like buffers and textures. | |
| const std::string & | name () const override |
| Returns the name of the object. | |
| std::string & | name () override |
| Returns a reference of the name of the object, that allows to modify it. | |
| DrawableMeshBGFX & | operator= (DrawableMeshBGFX drawableMesh) |
| void | setRenderSettings (const MeshRenderSettings &rs) override |
| void | setSurfaceProgramType (SurfaceProgramsType type) |
| void | setVisibility (bool vis) override |
| This member function is used to set the visibility of the object. | |
| void | swap (DrawableMeshBGFX &other) |
| std::vector< std::string > | textures () const override |
| vcl::Matrix44d | transformMatrix () const override |
| void | updateBuffers (MRI::BuffersBitSet buffersToUpdate=MRI::BUFFERS_ALL) override |
| uint | vertexNumber () const override |
Public Member Functions inherited from vcl::AbstractDrawableMesh | |
| AbstractDrawableMesh (const AbstractDrawableMesh &other)=default | |
| template<MeshConcept MeshType> | |
| AbstractDrawableMesh (const MeshType &m) | |
| bool | isVisible () const |
| This member function is used to check if the object is visible. | |
| const MeshRenderSettings & | renderSettings () const |
Public Member Functions inherited from vcl::DrawableObject | |
| DrawableObject ()=default | |
| Empty constructor. | |
| std::string & | info () |
| Returns a reference of the info of the object, that allows to modify it. | |
| const std::string & | info () const |
| Returns the info of the object. | |
Protected Member Functions | |
| void | bindUniforms () const |
| bgfx::ProgramHandle | surfaceProgramSelector () const |
Protected Member Functions inherited from vcl::AbstractDrawableMesh | |
| void | swap (AbstractDrawableMesh &other) |
Protected Member Functions inherited from vcl::DrawableObject | |
| void | swap (DrawableObject &other) |
| Utility swap function that allows to swap the content of two DrawableObject instances. | |
Protected Attributes | |
| MeshRenderBuffers< MeshType > | mMRB |
Protected Attributes inherited from vcl::AbstractDrawableMesh | |
| MeshRenderSettings | mMRS |
Private Types | |
| using | MRI = MeshRenderInfo |
Private Attributes | |
| Box3d | mBoundingBox |
| Uniform | mIdUniform = Uniform("u_meshId", bgfx::UniformType::Vec4) |
| MeshRenderSettingsUniforms | mMeshRenderSettingsUniforms |
| SurfaceProgramsType | mSurfaceProgramType = SurfaceProgramsType::UBER |
Friends | |
| void | swap (DrawableMeshBGFX &a, DrawableMeshBGFX &b) |
|
inlineoverridevirtual |
This member function is used to find a good camera position to render object. It should return the the bounding box of the object. Return a null bounding box if the object shouldn't influence the position of the camera.
Implements vcl::DrawableObject.
|
inlineoverridevirtual |
This member function is used to create a new DrawableObject that is a moved from the current one. This object will be destroyed after the call of this function. Each derived class must implement this member function, that returns a shared pointer pointing to the moved object. For more details about this paradigm, check polimorphism clone in modern c++: https://www.fluentcpp.com/2017/09/08/make-polymorphic-copy-modern-cpp/.
Generally, if your class that inherits from DrawableObject is called MyObject, the clone member function should be implemented as follows:
Implements vcl::DrawableObject.
|
inlineoverridevirtual |
This member function is used to create a new copy of the DrawableObject. Each derived class must implement this member function, that returns a shared pointer pointing to a copy of the current one. for more details about this paradigm, check polimorphism clone in modern c++: https://www.fluentcpp.com/2017/09/08/make-polymorphic-copy-modern-cpp/.
Generally, if your class that inherits from DrawableObject is called MyObject, the clone member function should be implemented as follows:
Implements vcl::DrawableObject.
|
inlineoverridevirtual |
This member function must draw the object. It will be called at every frame.
| viewId | The ID of the view to draw. It may be used depending on the rendering engine. |
Implements vcl::DrawableObject.
|
inlineoverridevirtual |
This member function should draw the object. It will be called on request when the renderer needs to draw the ID of the object.
| viewId | The ID of the view to draw. It may be used depending on the rendering engine. |
| id | The ID of the object. |
Reimplemented from vcl::DrawableObject.
|
inlineoverridevirtual |
Implements vcl::AbstractDrawableMesh.
|
inlineoverridevirtual |
Implements vcl::AbstractDrawableMesh.
|
inlineoverridevirtual |
This member function is called after the initialization of the Context. It must initialize and bind data to the GPU like buffers and textures.
Reimplemented from vcl::DrawableObject.
|
inlineoverridevirtual |
Returns the name of the object.
Reimplemented from vcl::DrawableObject.
|
inlineoverridevirtual |
Returns a reference of the name of the object, that allows to modify it.
| [in] | name | The name of the object. |
Reimplemented from vcl::DrawableObject.
|
inlineoverridevirtual |
Reimplemented from vcl::AbstractDrawableMesh.
|
inlineoverridevirtual |
This member function is used to set the visibility of the object.
| [in] | vis | true if the object should be visible; |
Reimplemented from vcl::AbstractDrawableMesh.
|
inlineoverridevirtual |
Reimplemented from vcl::AbstractDrawableMesh.
|
inlineoverridevirtual |
Implements vcl::AbstractDrawableMesh.
|
inlineoverridevirtual |
Implements vcl::AbstractDrawableMesh.
|
inlineoverridevirtual |
Implements vcl::AbstractDrawableMesh.