Open CASCADE Technology 7.8.2.dev
|
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.
theStats | [in] [out] frame counters to increment |
theIsDetailed | [in] 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.