openGL中材质需要设置glMatrixMode(GL_MODELVIEW)吗?
时间: 2024-02-16 15:01:35 浏览: 63
opengl.rar_opengl 缩放_opengl 缩放旋转_vc 旋转
不需要。`glMatrixMode(GL_MODELVIEW)`是OpenGL中的矩阵模式,用于指定接下来要对模型视图矩阵进行操作。而材质的设置与矩阵模式无关,可以在任何矩阵模式下进行设置。一般来说,设置材质的步骤是:
1. 开启材质功能:`glEnable(GL_LIGHTING); glEnable(GL_COLOR_MATERIAL);`
2. 设置材质的反射属性:`glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient); glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse); glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular); glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, shininess);`
3. 设置材质对光照的响应方式(单面或双面):`glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);`
需要注意的是,在设置材质之前,需要先开启光照功能:`glEnable(GL_LIGHTING);`。
阅读全文