|
43 | 43 | vec4 col2 = texture2D( map, coords.xz * scale);
|
44 | 44 | vec4 col3 = texture2D( map, coords.xy * scale);
|
45 | 45 |
|
46 |
| - col1.xyz = col1.xyz * vec3(2.0) - vec3(1.0); |
47 |
| - col2.xyz = col2.xyz * vec3(2.0) - vec3(1.0); |
48 |
| - col3.xyz = col3.xyz * vec3(2.0) - vec3(1.0); |
| 46 | + col1.xyz = col1.xyz * vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0); |
| 47 | + col2.xyz = col2.xyz * vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0); |
| 48 | + col3.xyz = col3.xyz * vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0); |
49 | 49 |
|
50 | 50 | // blend the results of the 3 planar projections.
|
51 | 51 | vec4 tex = normalize(col1 * triBlending.x + col2 * triBlending.y + col3 * triBlending.z);
|
52 |
| - tex.y *= NORMAL_TYPE; |
53 | 52 |
|
54 | 53 | return tex;
|
55 | 54 | }
|
56 | 55 |
|
57 | 56 | // triplanar blend for Normal maps in a TextureArray:
|
58 | 57 | vec4 getTriPlanarNormalBlendFromTexArray(in vec3 coords, in int idInTexArray, in float scale, in sampler2DArray texArray) {
|
59 |
| - vec4 col1 = texture2DArray( texArray, vec3((coords.yz * scale), idInTexArray ) ); |
60 |
| - vec4 col2 = texture2DArray( texArray, vec3((coords.xz * scale), idInTexArray ) ); |
61 |
| - vec4 col3 = texture2DArray( texArray, vec3((coords.xy * scale), idInTexArray ) ); |
| 58 | + vec4 col1 = texture2DArray( texArray, vec3((coords.yz * scale), idInTexArray )); |
| 59 | + vec4 col2 = texture2DArray( texArray, vec3((coords.xz * scale), idInTexArray )); |
| 60 | + vec4 col3 = texture2DArray( texArray, vec3((coords.xy * scale), idInTexArray )); |
62 | 61 |
|
63 |
| - col1.xyz = col1.xyz * vec3(2.0) - vec3(1.0); |
64 |
| - col2.xyz = col2.xyz * vec3(2.0) - vec3(1.0); |
65 |
| - col3.xyz = col3.xyz * vec3(2.0) - vec3(1.0); |
| 62 | + col1.xyz = col1.xyz * vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0); |
| 63 | + col2.xyz = col2.xyz * vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0); |
| 64 | + col3.xyz = col3.xyz * vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0); |
66 | 65 |
|
67 | 66 | // blend the results of the 3 planar projections.
|
68 |
| - vec4 tex = normalize(col1 * triBlending.x + col2 * triBlending.y + col3 * triBlending.z); |
69 |
| - tex.y *= NORMAL_TYPE; |
| 67 | + vec4 tex = normalize(col1 * triBlending.x + col2 * triBlending.y + col3 * triBlending.z); |
70 | 68 |
|
71 | 69 | return tex;
|
72 | 70 | }
|
|
0 commit comments