0
我有一箇舊的OpenGL項目,不涉及GLSL,現在 我重寫它,以便它使用GLSL。我有一個功能,當您移動鼠標時,相機會圍繞固定點旋轉 。我不確定 如何在我的新項目中使用這個函數,現在我使用GLSL和 而不是標準的OpenGL固定管道。我可以重複使用與GLSL相關的轉換代碼嗎?
這是函數,我不確定我是否可以使用相同的代碼 或者我將不得不重寫轉換以便它適用於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;
}
}
有趣的功能是rotateCamera而不是您的輸入事件處理程序。請張貼那個的源代碼。由於缺乏信息,我們現在無法幫助您。 – datenwolf 2013-04-11 22:37:10
這裏沒有足夠的信息來回答這個問題。我們只能猜測這些功能實際上做了什麼。 – 2013-04-12 02:18:47
嗨,大家好。該代碼有點深刻,太多打擾你,但最終它得到了一個呼籲gluLookAt。所以我想現在我真正的問題是,我該如何處理gluLookAt調用,我如何在GLSL中重寫這樣的調用。我可以重複使用嗎? – user2225930 2013-04-12 17:32:21