# version 450
# extension GL_ARB_separate_shader_objects : enable
layout(location = 0) in vec3 vertNormal;
layout(location = 1) in vec3 eyeDir;
layout(location = 2) in vec3 lightDir[2];
layout(location = 0) out vec4 fragColor;
void main() {
vec4 ks = vec4(0.3 , 0.3 , 0.3 , 0.0);
vec4 kd = vec4(0.4 , 0.0 , 0.0 , 0.0);
vec4 kd2 = vec4(0.0 , 0.0 , 0.4 , 0.0);
vec4 ka= 0.1 * kd;
float diff = max(dot(lightDir[0] , vertNormal) , 0.0);
float diff2 = max(dot(lightDir[1] , vertNormal) , 0.0);
vec3 reflection = reflect(-lightDir[0] , vertNormal);
vec3 reflection2 = reflect(-lightDir[1] , vertNormal);
float spec = max(dot(eyeDir , reflection), 0.0);
float spec2 = max(dot(eyeDir , reflection2), 0.0);
spec = pow(spec , 14.0);
spec2 = pow(spec , 14.0);
fragColor = ka + (kd * diff) + (kd2 * diff2) + (ks * spec) + (ks * spec2);
}
大家好,我想知道,我怎样才能把一个漫反射颜色(浮点diff,diff2)做成一个数组,这样我以后就可以循环使用它了。我是一个初学者,所以我认为答案很简单,我会很感激任何帮助。非常感谢。
1条答案
按热度按时间nwlqm0z11#
您可以建立如下的数组。
浮点数a[2] =浮点数[2](差异,差异2);