VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Protected Member Functions | Protected Attributes
makVrv::DtOverlayRenderer Class Reference

The DtOverlayRenderer implements the overlay concept. More...

Classes

struct  RenderInfo
 

Public Member Functions

 DtOverlayRenderer (DtOverlayResourceProvider &provider)
 
 ~DtOverlayRenderer ()
 
bool render (bool geocentric, float geocentricAlpha, const double location[3], const double worldToWindow[16], const double projectionMatrix[16], double viewport[4])
 Render the overlay. More...
 
void releaseResources ()
 Release any rendering resources. More...
 
void setProjectCameraIs3D (bool is3D)
 
bool projectCameraIs3D () const
 
void setProjectCameraIsNormalized (bool isNormalize)
 
bool projectCameraIsNormalized () const
 
DtOverlayResourceProviderresourceProvider ()
 
DtLineRendererlineRenderer () const
 
DtQuadRendererquadRenderer () const
 
DtTriangleRenderertriangleRenderer () const
 
DtTextRenderertextRenderer () const
 

Static Protected Member Functions

static void fillInNormalizedProjectionMatrix (const double viewport[4], double mat[16])
 The projection matrix that needs to be given to to the line, quad and triangle renderers is different from the camera projection matrix when normalized coordinates are used; it incorporates the viewport information. More...
 
static void fillInTextProjectionMatrix (const double viewport[4], double mat[16])
 The projection matrix that needs to be given to the text renderer is different then the camera projection matrix. More...
 

Protected Attributes

DtOverlayResourceProvidermyProvider
 
DtLineRenderermyLinesRenderer
 
DtQuadRenderermyQuadsRenderer
 
DtTriangleRenderermyTrianglesRenderer
 
DtTextRenderermyTextRenderer
 
bool myProjectCameraIs3D
 
bool myProjectCameraIsNormalized
 

Detailed Description

The DtOverlayRenderer implements the overlay concept.

An overlay is a 2D scene that is drawn on top of a 3D scene. The 2D scene can contain any number of the 2D primitives which include: DtLineSegment, DtQuad, DtFilledPolygon and DtOutlinedPolygon. The DtOverlayRendered does the actual drawing of the graphical primitives.

Constructor & Destructor Documentation

makVrv::DtOverlayRenderer::DtOverlayRenderer ( DtOverlayResourceProvider provider)
makVrv::DtOverlayRenderer::~DtOverlayRenderer ( )

Member Function Documentation

bool makVrv::DtOverlayRenderer::render ( bool  geocentric,
float  geocentricAlpha,
const double  location[3],
const double  worldToWindow[16],
const double  projectionMatrix[16],
double  viewport[4] 
)

Render the overlay.

Returns false IFF no objects were rendered

void makVrv::DtOverlayRenderer::releaseResources ( )

Release any rendering resources.

void makVrv::DtOverlayRenderer::setProjectCameraIs3D ( bool  is3D)
bool makVrv::DtOverlayRenderer::projectCameraIs3D ( ) const
void makVrv::DtOverlayRenderer::setProjectCameraIsNormalized ( bool  isNormalize)
bool makVrv::DtOverlayRenderer::projectCameraIsNormalized ( ) const
DtOverlayResourceProvider& makVrv::DtOverlayRenderer::resourceProvider ( )
DtLineRenderer& makVrv::DtOverlayRenderer::lineRenderer ( ) const
DtQuadRenderer& makVrv::DtOverlayRenderer::quadRenderer ( ) const
DtTriangleRenderer& makVrv::DtOverlayRenderer::triangleRenderer ( ) const
DtTextRenderer& makVrv::DtOverlayRenderer::textRenderer ( ) const
static void makVrv::DtOverlayRenderer::fillInNormalizedProjectionMatrix ( const double  viewport[4],
double  mat[16] 
)
staticprotected

The projection matrix that needs to be given to to the line, quad and triangle renderers is different from the camera projection matrix when normalized coordinates are used; it incorporates the viewport information.

This will fill in that as an array of 16 doubles that the caller mus provide.

static void makVrv::DtOverlayRenderer::fillInTextProjectionMatrix ( const double  viewport[4],
double  mat[16] 
)
staticprotected

The projection matrix that needs to be given to the text renderer is different then the camera projection matrix.

It is the same regardless of camera type. You must pass in an array of 16 doubles.

Member Data Documentation

DtOverlayResourceProvider& makVrv::DtOverlayRenderer::myProvider
protected
DtLineRenderer* makVrv::DtOverlayRenderer::myLinesRenderer
protected
DtQuadRenderer* makVrv::DtOverlayRenderer::myQuadsRenderer
protected
DtTriangleRenderer* makVrv::DtOverlayRenderer::myTrianglesRenderer
protected
DtTextRenderer* makVrv::DtOverlayRenderer::myTextRenderer
protected
bool makVrv::DtOverlayRenderer::myProjectCameraIs3D
protected
bool makVrv::DtOverlayRenderer::myProjectCameraIsNormalized
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)