我一直在处理照明问题,为了进行阴影映射,我使用基于半径的光衰减,而不是三个衰减因子(常数,线性和二次),但是... 在边缘附近看起来不太好。
http://i.stack.imgur.com/H680a.png
它会非常快地截断,着色器代码如下...
#version 330 core
//FragPos = world-space position of current fragment (vec3)
//light.radius is a float.
vec3 distance = (light.pos - FragPos) / light.radius;
float attenuation = 1.0f - dot(distance, distance);
那么我应该如何使它看起来不那么糟糕呢?例如,这个。