1
我試圖通過將屏幕空間點投影到視圖空間以用於照明來避免使用位置緩衝區。我已經嘗試乘以逆投影矩陣,但是這並沒有給出視圖空間點。添加矩陣乘法以避免位置緩衝區值得嗎?是延遲渲染所需的位置緩衝區嗎?
最後通着色:
vec3 ScreenSpace = vec3(0.0,0.0,0.0);
ScreenSpace.xy = (texcoord.xy * 2.0) - 1.0;
ScreenSpace.z = texture2D(depthtex, texcoord.xy);
vec4 ViewSpace = InvProjectionMatrix * vec3(ScreenSpace, 1.0);
ViewSpace.xyz = ViewSpace.w;
嘿,這樣計算出的UV座標看起來更準確,我在做什麼是頂點着色器texcoord =((gl_ModelViewProjectionMatrix * gl_Vertex)+1.0)/2.0 – erai