我可以在GLSL中重用与转换相关的代码吗?

时间:2013-04-11 20:50:51

标签: opengl glsl

我有一个旧的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;
    }
}

1 个答案:

答案 0 :(得分:2)

据我所知,gluLookAt适用于内置矩阵类型。对于opengl上的新版本,您需要重新编写它或使用第三方库。如果您正在使用c ++,我相信glm库已经内置了