0
저는 우주 스타의 시스템을 나타내는 간단한 studyng 프로젝트를 가지고 있습니다. 나는 별 주위를 돌고있는 달과 함께 여러 행성을 가지고있다. 나는 깊이 버퍼를 사용하고 있지만 행성이 별에 의해 가려 져야한다고해도 행성은 항상 별 앞에 있습니다. 문제의 이유는 무엇입니까? 더는 OpenGL 컨텍스트 존재하지 않는 경우는OpenGL 색 농도 버퍼
void drawPlanet(float orbitRadius, float planetRadius, float daysInYear, float hoursInDay){
static float year = 0;
static float days = 0;
static float hours = 0;
glPushMatrix();
glRotatef(year, 0, 1, 0);
glTranslatef(orbitRadius, 0 ,0);
glRotatef(days, 1, 2, 0);
glutWireSphere(planetRadius, 20, 16);
drawLuna(0.3, 0.1, 30, 15);
glPopMatrix();
hours++;
days = hours/hoursInDay;
year=days/daysInYear;
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0,0,5, 0, 0, 0, 0 ,1, 0);
glColor3f(1.0, 0.647059, 0.00);
glutSolidSphere(0.5, 20, 16);
glColor3b(197, 96, 63);
drawPlanet(2, 0.2, 50, 12);
drawPlanet(1, 0.15, 30, 15);
glFlush();
}
int main(int argc, char** argv)
{
....
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glEnable(GL_DEPTH_TEST);
....
}