gluLookAt()에 대한 도움이 필요합니다. glOrtho() 호출 (y 축의 약간 높은보기에서 z 축 아래로보기를 만들기 위해 올바른 것으로 생각 함)를 사용하여이를 사용하려고합니다. gluLookAt()에 대한 이해에서 처음 세 매개 변수는 뷰가있는 곳 또는 "눈"이고 다음 세 곳은 눈이 보이는 곳이며 마지막 세 곳은 보는 각도입니다.gluLookat()을 사용하는 OpenGL
많은 설정을 시도했지만 화면에 아무 것도 렌더링 할 수 없으며 모든 시도가 빈 검은 색 화면이되었습니다. 필자는 웹에서 사용법을 연습하면서 전체 예제를 검색했으며 기능에 대한 설명을 찾을 수는 없습니다 (이해하지만 작동하지는 않는다고 생각합니다).
내가 시도한 코드가 너무 많아서 게시하지 않을 것이고, 이제는 코드를 완전히 엉망으로 만들었고 솔직히 말해서 그렇지 않습니다. 아무도 눈을 피로하고 싶다.
내 질문은 (는 테스트 용으로 만입니다) 사람이 게시하거나 더 나은에게 여기
작동 내가 현재 가지고있는 신 끔찍한 코드하는 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
일부 코드를 포함하도록 게시물을 편집했습니다 –