我有一个旧的OpenGL项目,不涉及GLSL,现在 我重写它以便它使用GLSL。我有一个旋转的功能 移动鼠标时,相机围绕固定点。我不确定 如何在我的新项目中使用此功能,现在我使用GLSL和 不是标准的OpenGL固定管道。
这是函数,我不确定是否可以使用相同的代码 或者我是否必须重写转换以使其适用于GLSL?
void mouseMovePassive(int x, int y)
{
static int oldX=x, oldY=y;
rotateCamera(y-oldY, x-oldX);
int centerX = glutGet( GLUT_WINDOW_WIDTH )/2;
int centerY = glutGet( GLUT_WINDOW_HEIGHT )/2;
if( abs(centerX-x) > 250 || abs(centerY-y) > 250 )
{
glutWarpPointer(centerX, centerY);
oldX = centerX;
oldY = centerY;
}
else
{
oldX = x;
oldY = y;
}
}
答案 0 :(得分:2)
据我所知,gluLookAt适用于内置矩阵类型。对于opengl上的新版本,您需要重新编写它或使用第三方库。如果您正在使用c ++,我相信glm库已经内置了