12 #include <osg/Texture2DArray>
15 #include <osg/MatrixTransform>
22 static void makeRotate( osg::Quat& q,
const double& angle,
const double& x,
const double& y,
const double& z )
24 double coshalfangle = cos( 0.5*angle );
25 double sinhalfangle = sin( 0.5*angle );
37 static void quatMult( osg::Quat& lhs,
const osg::Quat& rhs )
41 double x = lhs[0] * rhs[3] + lhs[1] * rhs[2] - lhs[2] * rhs[1] + lhs[3] * rhs[0];
42 double y = -lhs[0] * rhs[2] + lhs[1] * rhs[3] + lhs[2] * rhs[0] + lhs[3] * rhs[1];
43 double z = lhs[0] * rhs[1] - lhs[1] * rhs[0] + lhs[2] * rhs[3] + lhs[3] * rhs[2];
44 double w = -lhs[0] * rhs[0] - lhs[1] * rhs[1] - lhs[2] * rhs[2] + lhs[3] * rhs[3];
54 float x,
float y,
float w,
float h);
57 float x,
float y,
float w,
float h);
65 void updateDebugFrustum(osg::Vec3d * frustumVertices);
75 double top,
double zNear,
double zFar);
81 double& right,
double& bottom,
double& top,
double& zNear,
double& zFar);
87 double& aspectRatio,
double& zNear,
double& zFar);
93 double bottom,
double top,
double zNear,
double zFar);
99 double zNear,
double zFar);
104 DT_DLL_VRVOSG osg::Matrix
getOrthoMatrix(
bool useReverseZ,
double left,
double right,
double bottom,
double top,
double zNear,
double zFar);