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

helper class, random osg debug helpers and math More...

Static Public Member Functions

static void makeRotate (osg::Quat &q, const double &angle, const double &x, const double &y, const double &z)
 Make a quaternion that rotates angle radians around (x, y, z) More...
 
static void quatMult (osg::Quat &lhs, const osg::Quat &rhs)
 Multiply two quaternions together. More...
 
static osg::Camera * CreateTextureQuadOverlay (DtGlSimpleTexture *texture, float x, float y, float w, float h)
 adds an on screen quad for texture debugging (used by shadows and triton) More...
 
static osg::Camera * CreateTextureQuadOverlay (osg::Texture *texture, float x, float y, float w, float h)
 adds an on screen quad for texture debugging (used by shadows and triton) More...
 
static osg::Camera * CreateTextureQuadOverlay (const std::string &shader_root, osg::Texture2DArray *textureArray, float x, float y, float w, float h)
 adds an array of on screen quads for texture debugging (used by shadows) More...
 
static osg::MatrixTransform * create_axis_primitive ()
 helper for visualizing a coordinate system More...
 
static osg::Matrix getOrthoMatrix (bool useReverseZ, double left, double right, double bottom, double top, double zNear, double zFar)
 helpers for matrix and reverse z matrixes More...
 
static osg::Matrixd oglRevDepthOrtho (double left, double right, double bottom, double top, double zNear, double zFar)
 For Reverse Z buffer - get a reverse (near = 1, far = 0) orthographic matrix This should be moved into its own singleton or vrvUtil. More...
 
static bool getRevZProjectionMatrixAsFrustum (const osg::Matrix &mat, double &left, double &right, double &bottom, double &top, double &zNear, double &zFar)
 For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil. More...
 
static bool getRevPerspective (const osg::Matrix &mat, double &fovy, double &aspectRatio, double &zNear, double &zFar)
 For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil. More...
 
static osg::Matrix makeRevFrustum (double left, double right, double bottom, double top, double zNear, double zFar)
 For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil. More...
 
static osg::Matrix makeRevPerspective (double fovy, double aspectRatio, double zNear, double zFar)
 For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil. More...
 
static void getYPR (const osg::Matrix &m, double &yaw, double &pitch, double &roll)
 converts a matrix to a human readable yaw/pitch/roll representation More...
 
static void osgPolytopeToFrustum (const osg::Polytope &polytope, Frustum_64 &frustum)
 gets a converts a osg polytope to a vrv friendly class. More...
 
static void computeOsgCameraFrustumPlanes (std::vector< osg::Vec4d > &planes, const osg::Camera *camera)
 computes culling frustum planes from the given osg camera. More...
 
static void debugDumpShaderState (osg::State *state)
 only used for debugging prints out a bunch of uniform state for the current shader. More...
 
static void debugDumpUniformState (const osg::Node *node)
 only used for debugging More...
 
static bool clipLine (double xMin, double xMax, double yMin, double yMax, double x0src, double y0src, double x1src, double y1src, double &x0clip, double &y0clip, double &x1clip, double &y1clip)
 2D clipping routine. Implements Liang / Barsky Clipping More...
 
static void clipPolygon (double xMin, double xMax, double yMin, double yMax, std::vector< osg::Vec2 > &vertices)
 2D clipping routine. Implements Sutherland–Hodgman clipping More...
 
static osg::Vec2 rotateVec2 (const osg::Vec2 &v, double rad)
 Vec2 Helpers for DtOsgWindow classes. More...
 
static osg::Vec2 translateVec2 (const osg::Vec2 &v, const osg::Vec2 &translation)
 Utility function to translate a vec2. More...
 
static osg::Vec2 scaleVec2 (const osg::Vec2 &v, double s)
 Utility function to scale a vec2. More...
 
static osg::Vec2 scaleVec2 (const osg::Vec2 &v, double xScale, double yScale)
 Utility function to scale a vec2. More...
 

Detailed Description

helper class, random osg debug helpers and math

Member Function Documentation

static void makVrv::DtOsgUtils::makeRotate ( osg::Quat &  q,
const double angle,
const double x,
const double y,
const double z 
)
static

Make a quaternion that rotates angle radians around (x, y, z)

static void makVrv::DtOsgUtils::quatMult ( osg::Quat &  lhs,
const osg::Quat &  rhs 
)
static

Multiply two quaternions together.

This is more efficient than the OSG built in implementation

static osg::Camera* makVrv::DtOsgUtils::CreateTextureQuadOverlay ( DtGlSimpleTexture texture,
float  x,
float  y,
float  w,
float  h 
)
static

adds an on screen quad for texture debugging (used by shadows and triton)

static osg::Camera* makVrv::DtOsgUtils::CreateTextureQuadOverlay ( osg::Texture *  texture,
float  x,
float  y,
float  w,
float  h 
)
static

adds an on screen quad for texture debugging (used by shadows and triton)

static osg::Camera* makVrv::DtOsgUtils::CreateTextureQuadOverlay ( const std::string &  shader_root,
osg::Texture2DArray *  textureArray,
float  x,
float  y,
float  w,
float  h 
)
static

adds an array of on screen quads for texture debugging (used by shadows)

static osg::MatrixTransform* makVrv::DtOsgUtils::create_axis_primitive ( )
static

helper for visualizing a coordinate system

static osg::Matrix makVrv::DtOsgUtils::getOrthoMatrix ( bool  useReverseZ,
double  left,
double  right,
double  bottom,
double  top,
double  zNear,
double  zFar 
)
static

helpers for matrix and reverse z matrixes

static osg::Matrixd makVrv::DtOsgUtils::oglRevDepthOrtho ( double  left,
double  right,
double  bottom,
double  top,
double  zNear,
double  zFar 
)
static

For Reverse Z buffer - get a reverse (near = 1, far = 0) orthographic matrix This should be moved into its own singleton or vrvUtil.

static bool makVrv::DtOsgUtils::getRevZProjectionMatrixAsFrustum ( const osg::Matrix &  mat,
double left,
double right,
double bottom,
double top,
double zNear,
double zFar 
)
static

For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil.

static bool makVrv::DtOsgUtils::getRevPerspective ( const osg::Matrix &  mat,
double fovy,
double aspectRatio,
double zNear,
double zFar 
)
static

For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil.

static osg::Matrix makVrv::DtOsgUtils::makeRevFrustum ( double  left,
double  right,
double  bottom,
double  top,
double  zNear,
double  zFar 
)
static

For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil.

static osg::Matrix makVrv::DtOsgUtils::makeRevPerspective ( double  fovy,
double  aspectRatio,
double  zNear,
double  zFar 
)
static

For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil.

static void makVrv::DtOsgUtils::getYPR ( const osg::Matrix &  m,
double yaw,
double pitch,
double roll 
)
static

converts a matrix to a human readable yaw/pitch/roll representation

static void makVrv::DtOsgUtils::osgPolytopeToFrustum ( const osg::Polytope &  polytope,
Frustum_64 frustum 
)
static

gets a converts a osg polytope to a vrv friendly class.

static void makVrv::DtOsgUtils::computeOsgCameraFrustumPlanes ( std::vector< osg::Vec4d > &  planes,
const osg::Camera *  camera 
)
static

computes culling frustum planes from the given osg camera.

planes The computed culling planes (vector will be resized to 6). camera The camera used to compute the culling planes.

static void makVrv::DtOsgUtils::debugDumpShaderState ( osg::State *  state)
static

only used for debugging prints out a bunch of uniform state for the current shader.

static void makVrv::DtOsgUtils::debugDumpUniformState ( const osg::Node *  node)
static

only used for debugging

static osg::Vec2 makVrv::DtOsgUtils::rotateVec2 ( const osg::Vec2 &  v,
double  rad 
)
static

Vec2 Helpers for DtOsgWindow classes.

Utility function to rotate a vec2

static osg::Vec2 makVrv::DtOsgUtils::translateVec2 ( const osg::Vec2 &  v,
const osg::Vec2 &  translation 
)
static

Utility function to translate a vec2.

static osg::Vec2 makVrv::DtOsgUtils::scaleVec2 ( const osg::Vec2 &  v,
double  s 
)
static

Utility function to scale a vec2.

static osg::Vec2 makVrv::DtOsgUtils::scaleVec2 ( const osg::Vec2 &  v,
double  xScale,
double  yScale 
)
static

Utility function to scale a vec2.

static bool makVrv::DtOsgUtils::clipLine ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  x0src,
double  y0src,
double  x1src,
double  y1src,
double x0clip,
double y0clip,
double x1clip,
double y1clip 
)
static

2D clipping routine. Implements Liang / Barsky Clipping

static void makVrv::DtOsgUtils::clipPolygon ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
std::vector< osg::Vec2 > &  vertices 
)
static

2D clipping routine. Implements Sutherland–Hodgman clipping


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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)