0
이 없습니다 I는 OpenGL에서 다음 코드 조각이 : teapot.obj는 3ds 맥스에서 만든 .OBJ 파일로 내 보낸 파일이로드 된 객체는 어떤 색상
...main render scene...
glPushMatrix();
glEnable(GL_TEXTURE_2D);
glRotatef(90,1,0,0);
drawModel(teapotModel,"teapot.obj",GLM_NONE|GLM_FLAT);
glDisable(GL_TEXTURE_2D);
glPopMatrix();
. 그리기 함수입니다 :이 예제를 실행하면
void drawModel(GLMmodel *pmodel,char*filename,GLuint mode)
{
if(!pmodel)
{
pmodel=glmReadOBJ(filename);
if(!pmodel)
exit(0);
glmUnitize(pmodel);
//generate facet normal vectors for model
glmFacetNormals(pmodel);
//generate vertex normal vectors (called after generating facet normals)
glmVertexNormals(pmodel,90.0);
}
glmDraw(pmodel,mode);
}
, 그것은 정확하게 주전자 개체를 렌더링, 그러나 그것의 색상은 흰색 (이 파란색 색상을 가지고 3ds 맥스 디자인 할 때). 오브젝트를 색상과 함께 렌더링하려면 어떻게해야합니까 ??
할당 된 자료가 파일에 저장 되었습니까? 적재 되었습니까? – Bart
참고로 :이 코드는 모든 프레임을 모델로로드하고 있습니다. 다른 곳에서로드하지 않는 한이 'drawModel' 함수에서로드 할 필요가 없습니다. "draw"라는 함수가 모델 로딩을 수행하면 잘못된 "드로잉"을합니다. 프로 팁. –
프레임마다 모델을로드하는 것이 옳았습니다. "init"메서드에서 모델을 초기화했습니다. Stil, 모델은 파란 색이 아닌 흰색을가집니다. 나는 다른 곳에 모델을 적재하지 않았다. –