Skip to content

Commit 50ece7c

Browse files
authored
Add NORMAL_TYPE to PBRTerrainUtils.glsllib
1 parent d602311 commit 50ece7c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

jme3-terrain/src/main/resources/Common/MatDefs/Terrain/Modular/PBRTerrainUtils.glsllib

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
#import "Common/ShaderLib/TriPlanarUtils.glsllib"
88

99
#ifdef ENABLE_PBRTerrainUtils_readPBRTerrainLayers
10+
11+
#ifndef NORMAL_TYPE
12+
#define NORMAL_TYPE 1.0
13+
#endif
1014

1115
#ifdef USE_TEXTURE_ARRAYS
1216
//texture arrays:
@@ -23,6 +27,7 @@
2327
uniform float m_AlbedoMap_$i_scale;
2428
uniform vec4 m_EmissiveColor_$i;
2529

30+
2631
#ifdef USE_TEXTURE_ARRAYS
2732
uniform int m_AlbedoMap_$i;
2833
#ifdef NORMALMAP_$i
@@ -139,6 +144,7 @@
139144
// normal:
140145
void PBRTerrainUtils_readNormalTexture(in sampler2D tex, in float scale, inout PBRTerrainTextureLayer layer){
141146
vec4 packedNormalParallaxVec = texture2D(tex, texCoord * scale);
147+
packedNormalParallaxVec.xyz *= normalize(vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0));
142148
updateLayerFromPackedNormalParallaxVec(packedNormalParallaxVec, layer);
143149
}
144150
// metallicRoughnessAoEi:
@@ -157,6 +163,7 @@
157163
// Triplanar normal:
158164
void PBRTerrainUtils_readTriPlanarNormalTexture(in sampler2D tex, in float scale, inout PBRTerrainTextureLayer layer){
159165
vec4 packedNormalParallaxVec = getTriPlanarNormalBlend(lPosition, tex, scale);
166+
packedNormalParallaxVec.xyz *= normalize(vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0));
160167
updateLayerFromPackedNormalParallaxVec(packedNormalParallaxVec, layer);
161168
}
162169
// TriPlanar metallicRoughnessAoEi:
@@ -175,6 +182,7 @@
175182
// Normal TextureArray:
176183
void PBRTerrainUtils_readNormalTexArray(in int indexInTexArray, in float scale, in sampler2DArray texArray, inout PBRTerrainTextureLayer layer){
177184
vec4 packedNormalParallaxVec = texture2DArray(texArray, vec3(texCoord * scale, indexInTexArray));
185+
packedNormalParallaxVec.xyz *= normalize(vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0));
178186
updateLayerFromPackedNormalParallaxVec(packedNormalParallaxVec, layer);
179187
}
180188
// metallicRoughnessAoEi TextureArray:
@@ -193,6 +201,7 @@
193201
// Triplanar normal TextureArray:
194202
void PBRTerrainUtils_readTriPlanarNormalTexArray(in int indexInTexArray, in float scale, in sampler2DArray texArray, inout PBRTerrainTextureLayer layer){
195203
vec4 packedNormalParallaxVec = getTriPlanarNormalBlendFromTexArray(lPosition, indexInTexArray, scale, texArray);
204+
packedNormalParallaxVec.xyz *= normalize(vec3(2.0, NORMAL_TYPE * 2.0, 2.0) - vec3(1.0, NORMAL_TYPE * 1.0, 1.0));
196205
updateLayerFromPackedNormalParallaxVec(packedNormalParallaxVec, layer);
197206
}
198207
// TriPlanar metallicRoughnessAoEi TextureArray:

0 commit comments

Comments
 (0)