Skip to content

Commit 28d34cb

Browse files
authored
Update AdvancedPBRTerrain.j3md
1 parent 2dc1294 commit 28d34cb

File tree

1 file changed

+58
-43
lines changed

1 file changed

+58
-43
lines changed

jme3-terrain/src/main/resources/Common/MatDefs/Terrain/AdvancedPBRTerrain.j3md

Lines changed: 58 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
1-
// NOTE: Doesn't support OpenGL1
2-
MaterialDef Advanced PBR Terrain {
1+
MaterialDef AdvancedPBRTerrain {
32

43
MaterialParameters {
5-
Int BoundDrawBuffer
64

7-
5+
Texture2D SunLightExposureMap
86
Boolean UseVertexColorsAsSunIntensity //set true to make the vertex color's R channel how exposed a vertex is to the sun
97
Float StaticSunIntensity //used for setting the sun exposure value for a whole material
10-
//these are usually generated at run time or setup in a level editor per-geometry, so that models indoors can have the DirectionalLight dimmed accordingly.
8+
//these are usually generated at run time or setup in a level editor per-geometry, so that models indooes can have the DirectionalLight dimmed accordingly.
119

12-
Boolean BrightenIndoorShadows //set true if shadows are enabled and indoor areas without full sun exposure are too dark compared to when shadows are turned off in settings
10+
Boolean BrightenIndoorShadows //set true if shadows are enabled and indoor areas withour full sun exposure are too dark compared to when shadows are turned off in settings
1311

12+
Boolean FirstLayerAsTransparency
1413

1514
TextureArray AlbedoTextureArray
1615
TextureArray NormalParallaxTextureArray -LINEAR
1716
TextureArray MetallicRoughnessAoEiTextureArray -LINEAR
1817

19-
20-
2118
Int AfflictionSplatScale : 8
2219
Float AfflictionRoughnessValue : 1.0
2320
Float AfflictionMetallicValue : 0.0
@@ -27,13 +24,6 @@ MaterialDef Advanced PBR Terrain {
2724
// affliction texture splatting & desaturation functionality
2825
Boolean UseTriplanarAfflictionMapping
2926

30-
// Specular-AA
31-
Boolean UseSpecularAA : true
32-
// screen space variance,Use the slider to set the strength of the geometric specular anti-aliasing effect between 0 and 1. Higher values produce a blurrier result with less aliasing.
33-
Float SpecularAASigma
34-
// clamping threshold,Use the slider to set a maximum value for the offset that HDRP subtracts from the smoothness value to reduce artifacts.
35-
Float SpecularAAKappa
36-
3727
Texture2D AfflictionAlphaMap
3828

3929
Texture2D SplatAlbedoMap -LINEAR
@@ -125,6 +115,19 @@ MaterialDef Advanced PBR Terrain {
125115
Float AlbedoMap_10_scale : 1
126116
Float AlbedoMap_11_scale : 1
127117

118+
Boolean TriPlanar_0
119+
Boolean TriPlanar_1
120+
Boolean TriPlanar_2
121+
Boolean TriPlanar_3
122+
Boolean TriPlanar_4
123+
Boolean TriPlanar_5
124+
Boolean TriPlanar_6
125+
Boolean TriPlanar_7
126+
Boolean TriPlanar_8
127+
Boolean TriPlanar_9
128+
Boolean TriPlanar_10
129+
Boolean TriPlanar_11
130+
128131

129132
Int NormalMap_0
130133
Int NormalMap_1
@@ -169,17 +172,21 @@ MaterialDef Advanced PBR Terrain {
169172

170173

171174

172-
// debug the final value of the selected layer as a color output
173-
Int DebugValuesMode
175+
//used in order to convert world coords to tex coords so afflictionTexture accurately represents the world in cases where terrain is not scaled at a 1,1,1 value
176+
Float TileWidth : 0
177+
Vector3 TileLocation
174178

179+
// debug the final value of the selected layer as a color output
180+
Int DebugValuesMode
175181
// Layers:
176182
// 0 - albedo (un-shaded)
177183
// 1 - normals
178184
// 2 - roughness
179185
// 3 - metallic
180186
// 4 - ao
181187
// 5 - emissive
182-
188+
// 6 - exposure
189+
// 7 - alpha
183190

184191
// use tri-planar mapping
185192
Boolean useTriPlanarMapping
@@ -263,8 +270,8 @@ MaterialDef Advanced PBR Terrain {
263270

264271
LightMode SinglePassAndImageBased
265272

266-
VertexShader GLSL300 GLSL150 : Common/MatDefs/Terrain/PBRTerrain.vert
267-
FragmentShader GLSL300 GLSL150 : Common/MatDefs/Terrain/AdvancedPBRTerrain.frag
273+
VertexShader GLSL150: MatDefs/vert/AfflictedPBRTerrain.vert
274+
FragmentShader GLSL150: MatDefs/frag/AfflictedAdvancedPBRTerrain.frag
268275

269276
WorldParameters {
270277
WorldViewProjectionMatrix
@@ -278,7 +285,20 @@ MaterialDef Advanced PBR Terrain {
278285
}
279286

280287
Defines {
281-
BOUND_DRAW_BUFFER: BoundDrawBuffer
288+
USE_FOG : UseFog
289+
FOG_LINEAR : LinearFog
290+
FOG_EXP : ExpFog
291+
FOG_EXPSQ : ExpSqFog
292+
293+
EXPOSUREMAP : SunLightExposureMap
294+
USE_VERTEX_COLORS_AS_SUN_EXPOSURE : UseVertexColorsAsSunIntensity
295+
STATIC_SUN_EXPOSURE : StaticSunIntensity
296+
BRIGHTEN_INDOOR_SHADOWS : BrightenIndoorShadows
297+
298+
USE_FIRST_LAYER_AS_TRANSPARENCY : FirstLayerAsTransparency;
299+
300+
TILELOCATION : TileLocation
301+
AFFLICTIONTEXTURE : AfflictionAlphaMap
282302

283303
AFFLICTIONTEXTURE : AfflictionAlphaMap
284304
AFFLICTIONALBEDOMAP: SplatAlbedoMap
@@ -287,23 +307,12 @@ MaterialDef Advanced PBR Terrain {
287307
AFFLICTIONEMISSIVEMAP : SplatEmissiveMap
288308
USE_SPLAT_NOISE : SplatNoiseVar
289309

290-
SPECULAR_AA : UseSpecularAA
291-
SPECULAR_AA_SCREEN_SPACE_VARIANCE : SpecularAASigma
292-
SPECULAR_AA_THRESHOLD : SpecularAAKappa
293-
294310
TRI_PLANAR_MAPPING : useTriPlanarMapping
295311

296-
DISCARD_ALPHA : AlphaDiscardThreshold
297-
298312
ALPHAMAP : AlphaMap
299313
ALPHAMAP_1 : AlphaMap_1
300314
ALPHAMAP_2 : AlphaMap_2
301315

302-
USE_FOG : UseFog
303-
FOG_LINEAR : LinearFog
304-
FOG_EXP : ExpFog
305-
FOG_EXPSQ : ExpSqFog
306-
307316
ALBEDOMAP_0 : AlbedoMap_0
308317
ALBEDOMAP_1 : AlbedoMap_1
309318
ALBEDOMAP_2 : AlbedoMap_2
@@ -343,18 +352,29 @@ MaterialDef Advanced PBR Terrain {
343352
METALLICROUGHNESSMAP_10 : MetallicRoughnessMap_10
344353
METALLICROUGHNESSMAP_11 : MetallicRoughnessMap_11
345354

346-
DEBUG_VALUES_MODE : DebugValuesMode
347-
355+
TRI_PLANAR_MAPPING_0 : TriPlanar_0
356+
TRI_PLANAR_MAPPING_1 : TriPlanar_1
357+
TRI_PLANAR_MAPPING_2 : TriPlanar_2
358+
TRI_PLANAR_MAPPING_3 : TriPlanar_3
359+
TRI_PLANAR_MAPPING_4 : TriPlanar_4
360+
TRI_PLANAR_MAPPING_5 : TriPlanar_5
361+
TRI_PLANAR_MAPPING_6 : TriPlanar_6
362+
TRI_PLANAR_MAPPING_7 : TriPlanar_7
363+
TRI_PLANAR_MAPPING_8 : TriPlanar_8
364+
TRI_PLANAR_MAPPING_9 : TriPlanar_9
365+
TRI_PLANAR_MAPPING_10 : TriPlanar_10
366+
TRI_PLANAR_MAPPING_11 : TriPlanar_11
348367

368+
DEBUG_VALUES_MODE : DebugValuesMode
349369

350370
}
351371
}
352372

353373

354374
Technique PreShadow {
355375

356-
VertexShader GLSL300 GLSL150 GLSL100: Common/MatDefs/Shadow/PreShadow.vert
357-
FragmentShader GLSL300 GLSL150 GLSL100: Common/MatDefs/Shadow/PreShadow.frag
376+
VertexShader GLSL100 GLSL150 : Common/MatDefs/Shadow/PreShadow.vert
377+
FragmentShader GLSL100 GLSL150 : Common/MatDefs/Shadow/PreShadow.frag
358378

359379
WorldParameters {
360380
WorldViewProjectionMatrix
@@ -364,7 +384,6 @@ MaterialDef Advanced PBR Terrain {
364384
}
365385

366386
Defines {
367-
BOUND_DRAW_BUFFER: BoundDrawBuffer
368387
DISCARD_ALPHA : AlphaDiscardThreshold
369388
NUM_BONES : NumberOfBones
370389
INSTANCING : UseInstancing
@@ -382,8 +401,8 @@ MaterialDef Advanced PBR Terrain {
382401

383402

384403
Technique PostShadow{
385-
VertexShader GLSL300 GLSL150 GLSL100: Common/MatDefs/Shadow/PostShadow.vert
386-
FragmentShader GLSL300 GLSL150 GLSL100: Common/MatDefs/Shadow/PostShadow.frag
404+
VertexShader GLSL100 GLSL150: Common/MatDefs/Shadow/PostShadow.vert
405+
FragmentShader GLSL100 GLSL150: Common/MatDefs/Shadow/PostShadow.frag
387406

388407
WorldParameters {
389408
WorldViewProjectionMatrix
@@ -393,7 +412,6 @@ MaterialDef Advanced PBR Terrain {
393412
}
394413

395414
Defines {
396-
BOUND_DRAW_BUFFER: BoundDrawBuffer
397415
HARDWARE_SHADOWS : HardwareShadows
398416
FILTER_MODE : FilterMode
399417
PCFEDGE : PCFEdge
@@ -413,7 +431,4 @@ MaterialDef Advanced PBR Terrain {
413431
PolyOffset -0.1 0
414432
}
415433
}
416-
417-
418-
419434
}

0 commit comments

Comments
 (0)