기본 채우기 모드에서 와이어 프레임으로 프리미티브를 렌더링하려고합니다.glPolygonMode (GL_FRONT_AND_BACK, GL_LINES)가 작동하지 않습니다.
렌더링 코드 :
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(0.9f, 0.9f, 0.9f, 1);
// reset matrix
glLoadIdentity();
// fill display list
glColor3c(150, 255, 255);
glCallList(lDList);
// wireframe display list
glColor3f(0, 0, 0);
glLineWidth(10);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINES);
glCallList(lDList);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
표시 목록 작성 코드 :
lDList = glGenLists(1);
glNewList(lDList, GL_COMPILE);
glBegin(GL_QUADS);
glVertex3i(-1, -1, 0);
glVertex3i(1, -1, 0);
glVertex3i(1, -1, -25);
glVertex3i(-1, -1, -25);
glEnd();
glEndList();
glColor3c 매크로 : 나는 검은 색으로 그려 시안 색 비행기를 얻을 것으로 기대하고 있습니다
#define glColor3c(r, g, b) glColor3f(r/255, g/255, b/255)
프레임을 둘러싼 프레임이지만, 두 번째로는 디스플레이 목록을 렌더링 할 때마다 전체를 그려서 다른 프리미티브의 픽셀을 덮어 씁니다. 나는 그려야 할 비행기로 끝나지 만 그 검은 색 (내가 "버전"이라는 줄로 지정한 색깔)이다. 유용 할 수 있습니다
다른 정보는 내가 glEnable에 대한 호출하지 않는 MSVC++ 2010과 Windows 7에서, SDL을 사용하고 있다는 것입니다, 그래서 나는 더 이상 설정이가 혼란을 것 활성화되지 있습니다 , 또는 아마도 문제를 해결하십시오. 내 유일한 OpenGL 설정 코드는 프로젝션 및 모델 뷰 매트릭스를 설정 한 다음 디스플레이 목록을 만듭니다.
분명히 내 질문은 왜 내가 라인을 만드는 대신 원시를 채우는 디스플레이 목록을 그리는 것입니까? 이 문제를 어떻게 해결할 수 있습니까?
왜 매크로입니까? 'glColor3ub()'의 문제점은 무엇입니까? – genpfault
와우 나는 그것에 대해 결코 알지 못했다. (나는 아직도 OpenGL에서 newb이다.) 잘 사용하자. – Aaron