Skip to content

Commit 5098bb9

Browse files
author
SkyLoader
committed
OpenGL: fixed static geometry normals and dynamic model normals, fixed 'waterd' shader when gbuffer optimization is on
1 parent 685e47d commit 5098bb9

File tree

3 files changed

+5
-10
lines changed

3 files changed

+5
-10
lines changed

res/gamedata/shaders/gl/deffer_base_bump.vs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,7 @@ v2p_bumped _main( v_in I )
3333
float3 N = unpack_bx4(I.Nh); // just scale (assume normal in the -.5f, .5f)
3434
float3 T = unpack_bx4(I.T); //
3535
float3 B = unpack_bx4(I.B); //
36-
float3x3 xform = mul (float3x3(m_WV), float3x3(
37-
T.x,B.x,N.x,
38-
T.y,B.y,N.y,
39-
T.z,B.z,N.z
40-
));
36+
float3x3 xform = mul (float3x3(m_WV), float3x3(T,B,N));
4137
// The pixel shader operates on the bump-map in [0..1] range
4238
// Remap this range in the matrix, anyway we are pixel-shader limited :)
4339
// ...... [ 2 0 0 0]

res/gamedata/shaders/gl/deffer_model_bump.vs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,7 @@ v2p_bumped _main( v_model I )
4141
float3 N = I.N; // just scale (assume normal in the -.5f, .5f)
4242
float3 T = I.T; //
4343
float3 B = I.B; //
44-
float3x3 xform = mul (float3x3(m_WV), float3x3(
45-
2*T.x,2*B.x,2*N.x,
46-
2*T.y,2*B.y,2*N.y,
47-
2*T.z,2*B.z,2*N.z
48-
));
44+
float3x3 xform = mul (float3x3(m_WV), float3x3(2.f*T,2.f*B,2.f*N));
4945
// The pixel shader operates on the bump-map in [0..1] range
5046
// Remap this range in the matrix, anyway we are pixel-shader limited :)
5147
// ...... [ 2 0 0 0]

res/gamedata/shaders/gl/iostructs/p_waterd.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

22
out vec4 SV_Target;
3+
in vec4 gl_FragCoord;
34

45
struct v2p
56
{
@@ -9,6 +10,7 @@ struct v2p
910
#if defined(USE_SOFT_WATER) && defined(NEED_SOFT_WATER)
1011
float4 tctexgen; // TEXCOORD3;
1112
#endif // defined(USE_SOFT_WATER) && defined(NEED_SOFT_WATER)
13+
float4 hpos ; // SV_Position;
1214
};
1315

1416
layout(location = TEXCOORD0) in float2 v2p_waterd_tbase ; // TEXCOORD0;
@@ -29,5 +31,6 @@ void main()
2931
#if defined(USE_SOFT_WATER) && defined(NEED_SOFT_WATER)
3032
I.tctexgen = v2p_waterd_tctexgen;
3133
#endif // defined(USE_SOFT_WATER) && defined(NEED_SOFT_WATER)
34+
I.hpos = gl_FragCoord;
3235
SV_Target = _main (I);
3336
}

0 commit comments

Comments
 (0)