|
누가좀 도와 주세요.
초보 인데요, opengl을 c++builder 에서 구현하려고 합니다. 그런데 잘 되지를 않아요.
gluQuadricDrawStyle (quadObj, GLU_FILL);
glColor3f(0.5f,0.5f,1.0f);
gluSphere (quadObj, 1.5, 16, 16);
이렇게 해서 구를 보라색으로 그리구요 조명을 줬는데 색깔이 회색으로 나와요.
조명을 주지 않으면 보라색으로 나오고요 입체감이 없어져요. 랜더링하는 다른 함수가 있나요?
조명은 아래와 같이 줬어요.( 물체가 여러개인데 각 다른 색으로 랜더링 하고 싶거든요.)
GLfloat light_0_pos[]={-1.0,-1.0,1.0,1.0};
GLfloat Ambient[4];
Ambient[0]= GetRValue(ColorToRGB(1.0f))/255.0f;
Ambient[1]= GetGValue(ColorToRGB(1.0f))/255.0f;
Ambient[2]= GetBValue(ColorToRGB(1.0f))/255.0f;
Ambient[3]= 1.0;
GLfloat Diffuse[] = {0.8f, 0.8f, 0.8f, 1.0f};
GLfloat Specular[]= {1.0f, 1.0f, 1.0f, 1.0f};
glLightfv(GL_LIGHT0, GL_POSITION, light_0_pos);
glLightfv( GL_LIGHT0, GL_AMBIENT, Ambient);
glLightfv( GL_LIGHT0, GL_DIFFUSE, Diffuse);
glLightfv( GL_LIGHT0, GL_SPECULAR,Specular);
glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, 1.0);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
|