다음은 솔리드 구를 표시하는 코드입니다. ModelMatrix를 사용하여 표시했습니다. 그러나 나는 단단한 것을 볼 수 없다. 영사를 추가해야하는 것과 같은 것이 있어야합니다. 그러나 나는 현재 예상 할 필요가 없다.sput가 glutSolidSphere()와 함께 표시되지 않습니다.
#include <stdlib.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include<windows.h>
static void Init() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
static void display() {
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3d(1,1,0);
glutSolidSphere(3,4,4);
}
int main(int argc, char** argv) {
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(550, 550);
glutInitWindowPosition(50, 50);
glutCreateWindow("Balloon");
glutDisplayFunc(display);
Init();
glutMainLoop();
return 0;
}
문제를 일으킬 수있는 몇 가지 사항이 있습니다. 먼저 표시 함수의 끝에서 glutSwapBuffers()를 호출해야합니다. 그러면 프론트 버퍼가 백 버퍼 (사용자가 그린 버퍼)와 바뀌어 표시됩니다. 두 번째로, 이전 프레임의 내용을 지우려면 표시 함수의 처음에 glClear를 호출해야합니다. 또한 모델 뷰와 프로젝션 매트릭스가 모두 단위 행렬 인 경우 표시 가능한 좌표는 -1에서 1이되므로 현재 구와 구가 너무 큽니다. – user3256930