Загруженные объекты в OpenGL не имеют цвета - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть следующий фрагмент кода в 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 он имеет синий цвет).Что я могу сделать, чтобы визуализировать объект вместе с его цветом ??

1 Ответ

0 голосов
/ 13 июня 2013

Попробуйте добавить GLM_COLOR / GLM_MATERIAL в ваш параметр режима.

...