我在GLSL中有一个着色器,我试图创建一个聚光灯。
vec3 s = normalize( vec3(positionOflight) - FragmentPosition );
float angle = acos( dot(-s,directionOflight) );
float Newcutoff = radians( clamp(cutoff, 0.0, 90.0 ) );
if( angle < Newcutoff )
这是着色器中用于测试片段是否在聚光灯锥内的代码。在我的代码中,cutoff
是20.0f。如果片段在锥体内,则为红色,否则为绿色。