| Description | Hierarchy | Fields | Methods | Properties |
type TVRMLOpenGLRendererContextCache = class(TImagesVideosCache)
This is a cache that may be used by many TVRMLOpenGLRenderer instances to share some common resources related to this OpenGL context.
For examples, texture names and OpenGL display lists for fonts. Such things can usually be shared by all TVRMLOpenGLRenderer instances used within the same OpenGL context. And this may save a lot of memory if you use many TVRMLOpenGLRenderer instances in your program.
Instance of this class is tied to particular OpenGL context if and only if there are some TVRMLOpenGLRenderer instances using this cache and tied to that OpenGL context.
![]() |
constructor Create; |
![]() |
destructor Destroy; override; |
![]() |
function Fonts_IncReference( fsfam: TVRMLFontFamily; fsbold: boolean; fsitalic: boolean; TTF_Font: PTrueTypeFont): TGLOutlineFont; |
![]() |
procedure Fonts_DecReference( fsfam: TVRMLFontFamily; fsbold: boolean; fsitalic: boolean); |
![]() |
function ShapeState_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
![]() |
procedure ShapeState_IncReference_New( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure ShapeState_DecReference( const GLList: TGLuint); |
![]() |
function ShapeStateNoTransform_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
![]() |
procedure ShapeStateNoTransform_IncReference_New( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure ShapeStateNoTransform_DecReference( const GLList: TGLuint); |
![]() |
function RenderBegin_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
![]() |
procedure RenderBegin_IncReference_New( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure RenderBegin_DecReference( const GLList: TGLuint); |
![]() |
function RenderEnd_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
![]() |
procedure RenderEnd_IncReference_New( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure RenderEnd_DecReference( const GLList: TGLuint); |
![]() |
constructor Create; |
![]() |
destructor Destroy; override; |
![]() |
function Fonts_IncReference( fsfam: TVRMLFontFamily; fsbold: boolean; fsitalic: boolean; TTF_Font: PTrueTypeFont): TGLOutlineFont; |
![]() |
procedure Fonts_DecReference( fsfam: TVRMLFontFamily; fsbold: boolean; fsitalic: boolean); |
![]() |
function ShapeState_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
|
These will be used by TVRMLGLScene. Note that we have two versions of ShapeState_IncReference, because if the list will already exist in the cache then we don't want to waste time on creating and immediately freeing unnecessary list. you should call | |
![]() |
procedure ShapeState_IncReference_New( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure ShapeState_DecReference( const GLList: TGLuint); |
![]() |
function ShapeStateNoTransform_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
![]() |
procedure ShapeStateNoTransform_IncReference_New( AAttributes: TVRMLRenderingAttributes; AGeometryNode: TVRMLGeometryNode; AState: TVRMLGraphTraverseState; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure ShapeStateNoTransform_DecReference( const GLList: TGLuint); |
![]() |
function RenderBegin_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
![]() |
procedure RenderBegin_IncReference_New( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure RenderBegin_DecReference( const GLList: TGLuint); |
![]() |
function RenderEnd_IncReference_Existing( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; out AGLList: TGLuint): boolean; |
![]() |
procedure RenderEnd_IncReference_New( AAttributes: TVRMLRenderingAttributes; AFogNode: TNodeFog; const AFogDistanceScaling: Single; AGLList: TGLuint); |
![]() |
procedure RenderEnd_DecReference( const GLList: TGLuint); |