我想在opengl中實現陰影映射。它正在工作,但是鋸齒是可見的,所以我決定在shadow2D中使用sampler2Dshadow,因爲我已經讀過它作爲簡單的抗鋸齒解決方案。但是一旦我使用它,就會在整個場景中產生非常顯着的陰影痤瘡。請注意,使用sample2D與texture2D時,沒有。 這是打算?如果是這樣,我該如何解決它?Opengl使用shadow2D時的陰影痤瘡
這是在使用sampler2DShadow它的外觀:
這是處理陰影片段着色器的一部分:
float theta = clamp(dot(normalize(lightVector), normalize(vertNormal)), 0, 1);
float bias = 0.005*tan(acos(theta));
float visibility = 1.0;
if (shadow2D(shadowTex, shadowCoord).z < shadowCoord.z - bias){
visibility = 0.5;
}
color = vec4(color.xyz * visibility, 1);
你的問題令人困惑,你談論很多事情,而標題很好,只是離開了。請寫一些更多的信息,顯示一些代碼,代碼中有什麼問題等等? – Vallentin
試圖增加你的偏差值 – Benlitz
我試過了,當偏差值爲1時停止:/ – user1760770