Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过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