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);
87 double& aspectRatio,
double&
zNear,
double&
zFar);