我在OpenGL中有以下代码:
...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();
其中,teapot.obj是在3ds Max中创建并导出为.obj文件的文件。绘图函数为:
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 Max中设计时为蓝色)。我能做什么来渲染物体和它的颜色?
发布于 2013-06-13 06:02:18
尝试在模式参数上添加GLM_COLOR / GLM_MATERIAL。
https://stackoverflow.com/questions/8195438
复制相似问题