1
OpenGL을 사용하여 흰색 배경에 빨간색 구를 그리려합니다. 여기 내 코드에서 구체를 그려야하는 부분이 있습니다. 주 진입 점의흰색 배경에 구체 그리기 (C++ 및 OpenGL)
부분 :
initialise();
glutDisplayFunc(draw_Sphere);
glEnable(GL_DEPTH_TEST);
glutMainLoop();
초기화 : 내가 뭘 잘못이야 아무 생각이
void draw_Sphere()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(200, 200, 0);
glColor3f(1.0, 0.0, 0.0);
glPushMatrix();
glutSolidSphere(0.25, 20, 20);
glPopMatrix();
glutSwapBuffers();
}
하지만,이 원 '
void initialise()
{
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glDepthFunc(GL_LEQUAL);
glShadeModel(GL_SMOOTH);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
}
는 영역을 그리기 구체를 렌더링하지 않습니다 (그러나 흰색 배경을 그립니다). 그것을 고칠 어떤 제안?
몇 가지 생각 : GL_LIGHTING을 사용하는 것으로 보이지만 조명 설정이 표시되지 않습니다. 당신은 X와 Y에서 glTranslatef를하지만 Z에서는 그렇지 않습니다. 그러나 기본 카메라가 Z 축을 따라보고 있기 때문에 X와 Y를 0으로 만들고 Z를 변환해야한다고 생각합니다. 나는 Z가 양수인지 음수인지를 잊어 버린다. 다음으로 glutSolidSphere를 호출 할 때 행렬을 밀거나 팝 할 필요가 없습니다. 기본 카메라 매트릭스를 사용합니다. 셋업을 올바르게하는 튜토리얼을 시작한 다음 glutSolidSphere에 콜을 추가하는 것이 좋습니다. Try http://nehe.gamedev.net/tutorial/lessons_01__05/22004/ –