glColorMaterial 和 glMaterial 的区别

  • Post author:
  • Post category:其他


直接代码说明吧。

1、在使用(固定管线的)光照后,这2个函数才生效

glEnable( GL_LIGHTING );
/// 设置光源属性
///...

2、使用glMaterial指定3D模型的材质,以环境光颜色为例

glm::vec4 ambientColor(1.0f,0.0f,0.0f,1.0f);
glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT, &ambientColor.x );

3、与2等价的效果: 使用glColorMaterial指定3D模型的材质

glEnable(GL_COLOR_MATERIAL); 
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT );

/// 指定顶点的颜色属性
/// 如使用glBegin指定图元时,glColor设置的颜色,
/// 如果和上面glMaterial效果一样:需要把所有color设置为(1.0f,0.0f,0.0f,1.0f)



版权声明:本文为iMatt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。