gluLookAt()で助けが必要です。私はglOrtho()(私は正しいと思う)私の呼び出しの後にy軸上のわずかに高いビューからz軸を下にビューを作成しようとして、それを使用しようとしています。 gluLookAt()の理解から、最初の3つのパラメータは、ビューがどこにあるか、「目」と次の3つは視線の最後の3つを見ている場所ですか?gluLookat()を使用したOpenGL
私はさまざまな設定を試していますが、画面に何も表示されず、空白の黒い画面が表示されることがあります。 私は、Webを使って実際の使用例を検索しましたが、機能の説明以外は何も見つかりませんでした(私は理解していますが、動作することはできません)。
私が試したコードはまだ投稿していません。試したメソッドが多すぎるため、コードの完全な混乱が残っています。 anyones目を流したい。
私の質問で、誰もが)gluLookAtを(使用する小さなプログラムの一例を投稿したり、より良い記述することができる。ここ
の作品、私は(それが唯一のテストのためです)、現在持っている神ひどいコードです:
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include <GL/glu.h>
#include <windows.h>
void init_ortho(int width, int height)
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_SetVideoMode(width,height,32,SDL_OPENGL);
SDL_WM_SetCaption("OpenGL Test", NULL);
glClearColor(0, 0, 0, 0);
glViewport(0, 0, 640, 480);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width , height , 0, 0, 20);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0,0,0, 300,300, 5, 0,1,0);
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
}
int Check(int keystroke, int x)
{
if (keystroke == 65)
x += 10;
return x;
}
int main(int argc, char **argv)
{
init_ortho(640, 480);
glLoadIdentity();
int x = 300;
bool quit = false;
while (quit == false)
{
for (int i = 0; i < 300; i++)
{
if (GetAsyncKeyState(i) == -32767)
{
x = Check(i, x);
if (x > 400)
quit = true;
glTranslatef(x,300,10);
glColor4f(1.0,1.0,1.0,1.0);
glBegin(GL_QUADS);
glVertex3f(0, 0,0);
glVertex3f(100, 0,0);
glVertex3f(100,100,0);
glVertex3f(0, 100,0);
glEnd();
glLoadIdentity();
SDL_GL_SwapBuffers();
glClear(GL_COLOR_BUFFER_BIT);
}
}
}
SDL_Quit();
return 0;
}
コードを投稿すると役立ちます。 – datenwolf
私はいくつかの神のひどいコードを含むように投稿を編集しました –