12 #include <osg/Texture2DArray>
15 #include <osg/MatrixTransform>
16 #include <osg/Geometry>
23 static void makeRotate( osg::Quat&
q,
const double&
angle,
const double&
x,
const double&
y,
const double&
z )
25 double coshalfangle = cos( 0.5*angle );
26 double sinhalfangle = sin( 0.5*angle );
38 static void quatMult( osg::Quat& lhs,
const osg::Quat& rhs )
42 double x = lhs[0] * rhs[3] + lhs[1] * rhs[2] - lhs[2] * rhs[1] + lhs[3] * rhs[0];
43 double y = -lhs[0] * rhs[2] + lhs[1] * rhs[3] + lhs[2] * rhs[0] + lhs[3] * rhs[1];
44 double z = lhs[0] * rhs[1] - lhs[1] * rhs[0] + lhs[2] * rhs[3] + lhs[3] * rhs[2];
45 double w = -lhs[0] * rhs[0] - lhs[1] * rhs[1] - lhs[2] * rhs[2] + lhs[3] * rhs[3];
55 float x,
float y,
float w,
float h);
58 float x,
float y,
float w,
float h);
66 void updateDebugFrustum(osg::Vec3d * frustumVertices);
88 double& aspectRatio,
double&
zNear,
double&
zFar);