Base interface for drawable elements. More...
#include <OpenGl_Element.hxx>

Public Member Functions | |
| OpenGl_Element () | |
| virtual void | Render (const Handle< OpenGl_Workspace > &theWorkspace) const =0 |
| virtual void | Release (OpenGl_Context *theContext)=0 |
| Release GPU resources. Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe. | |
| virtual Standard_Boolean | IsFillDrawMode () const |
| Return TRUE if primitive type generates shaded triangulation (to be used in filters). | |
| virtual Standard_Size | EstimatedDataSize () const |
| Returns estimated GPU memory usage for holding data without considering overheads and allocation alignment rules. | |
| virtual void | UpdateMemStats (Graphic3d_FrameStatsDataTmp &theStats) const |
| Increment memory usage statistics. Default implementation puts EstimatedDataSize() into Graphic3d_FrameStatsCounter_EstimatedBytesGeom. | |
| virtual void | UpdateDrawStats (Graphic3d_FrameStatsDataTmp &theStats, bool theIsDetailed) const |
| Increment draw calls statistics. | |
| virtual void | SynchronizeAspects () |
| Update parameters of the drawable elements. | |
| virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
| Dumps the content of me into the stream. | |
Static Public Member Functions | |
| template<typename theResource_t> | |
| static void | Destroy (OpenGl_Context *theContext, theResource_t *&theElement) |
| Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe. | |
Protected Member Functions | |
| virtual | ~OpenGl_Element () |
Base interface for drawable elements.
| OpenGl_Element::OpenGl_Element | ( | ) |
|
protectedvirtual |
|
inlinestatic |
Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe.
|
virtual |
Dumps the content of me into the stream.
Reimplemented in OpenGl_Aspects, OpenGl_Flipper, OpenGl_FrameStatsPrs, OpenGl_GraduatedTrihedron, OpenGl_PrimitiveArray, OpenGl_StencilTest, and OpenGl_Text.
|
inlinevirtual |
Returns estimated GPU memory usage for holding data without considering overheads and allocation alignment rules.
Reimplemented in OpenGl_PrimitiveArray, and OpenGl_Text.
|
inlinevirtual |
Return TRUE if primitive type generates shaded triangulation (to be used in filters).
Reimplemented in OpenGl_PrimitiveArray.
|
pure virtual |
Release GPU resources. Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe.
Implemented in OpenGl_Aspects, OpenGl_Flipper, OpenGl_FrameStatsPrs, OpenGl_GraduatedTrihedron, OpenGl_PrimitiveArray, OpenGl_StencilTest, and OpenGl_Text.
|
pure virtual |
|
inlinevirtual |
Update parameters of the drawable elements.
Reimplemented in OpenGl_Aspects.
|
virtual |
Increment draw calls statistics.
| [in] |
out] theStats frame counters to increment
| [in] | theIsDetailed | indicate detailed dump (more counters - number of triangles, points, etc.) |
Reimplemented in OpenGl_PrimitiveArray, and OpenGl_Text.
|
virtual |
Increment memory usage statistics. Default implementation puts EstimatedDataSize() into Graphic3d_FrameStatsCounter_EstimatedBytesGeom.