Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
如何使用/绘制“ Kd Ka Ks”?
我对如何使用这些选项感兴趣。
谢谢。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
如何使用/绘制“ Kd Ka Ks”?
我对如何使用这些选项感兴趣。
Ks[3]
Kd[3]
Ka[3]
glcolor3f(..., ..., ...);
谢谢。
最佳答案
这些是反射系数。 Ka用于环境成分,Kd用于散射成分,Ks用于镜面反射成分。
Ks,Kd和Ka是3个元素的数组(您也可以使用第4个值,即alpha分量)。元素代表RGB颜色。如果要修改光从表面反射的方式,可以调整这些值(增加Ks以获得更多的镜面照明,使表面更发光,Kd以获得更多的漫反射,Ka以获得更多的环境光,这将使所有内容变亮) 。
例如,您可以使用glMaterialfv
修改材料:
GLfloat mat_ambient[] = { 0.7, 0.7, 0.7, 1.0 };
GLfloat mat_diffuse[] = { 0.1, 0.5, 0.8, 1.0 };
GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat shinyness[] = { 5.0 };
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, shinyness);
关于c++ - 如何使用选项Kd Ks Ka ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18000434/
10-11 22:23