本文整理汇总了C++中Box3f::Diag方法的典型用法代码示例。如果您正苦于以下问题:C++ Box3f::Diag方法的具体用法?C++ Box3f::Diag怎么用?C++ Box3f::Diag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Box3f
的用法示例。
在下文中一共展示了Box3f::Diag方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRandPlane
void GetRandPlane(Box3f &bb, Plane3f &plane)
{
Point3f planeCenter = bb.Center();
Point3f planeDir = Point3f(-0.5f+float(rand())/RAND_MAX,-0.5f+float(rand())/RAND_MAX,-0.5f+float(rand())/RAND_MAX);
planeDir.Normalize();
plane.Init(planeCenter+planeDir*0.3f*bb.Diag()*float(rand())/RAND_MAX,planeDir);
}
示例2: setCamera
void AmbientOcclusionPlugin::setCamera(Point3f camDir, Box3f &meshBBox)
{
cameraDir = camDir;
GLfloat d = (meshBBox.Diag()/2.0) * 1.1,
k = 0.1f;
Point3f eye = meshBBox.Center() + camDir * (d+k);
glViewport(0.0, 0.0, depthTexSize, depthTexSize);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-d, d, -d, d, k, k+(2.0*d) );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(eye.X(), eye.Y(), eye.Z(),
meshBBox.Center().X(), meshBBox.Center().Y(), meshBBox.Center().Z(),
0.0, 1.0, 0.0);
}
示例3: setCamera
void SdfGpuPlugin::setCamera(Point3f camDir, Box3f &meshBBox)
{
GLfloat d = (meshBBox.Diag()/2.0),
k = 0.1f;
Point3f eye = meshBBox.Center() + camDir * (d+k);
mScale = 2*k+(2.0*d);
glViewport(0.0, 0.0, mPeelingTextureSize, mPeelingTextureSize);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-d, d, -d, d, /*k*/0, mScale );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(eye.X(), eye.Y(), eye.Z(),
meshBBox.Center().X(), meshBBox.Center().Y(), meshBBox.Center().Z(),
0.0, 1.0, 0.0);
}