Terrain Shader:
Default shader used for rendering the terrain data. Optimized and prepared for high framerate. It makes use of tri-planar texturing and stochastic sampling to remove seams.
- Size Multiplier: Size multiplier for each texture of the simplified low-res texture.
- Min Distance Full Texture: Where does it start blending to a simplified texturing mode (without stochastic sampling)
- Max Distance Full Texture: Where does it stop blending to fully do texturing without stochastic sampling
- Power: Power of the blending of tri-planar texturing.
- Blend Offset: Blending of the tri-planar texturing.
- Height Blend Range: Value used for the height-based mixing.
Vegetation Shaders
This shaders are used in conjuntion with the Vegetation Renderer. If you’d like to create your own shader you can check the preexisting minimal shader.
Default:
The default shader for any object.
- Textures:
- Main Texture: Albedo
- Occlusion: Occlusion texture
- Normal: Normal Map
- Clip Mask: If needed, you can add a clip mask.
- Clip: Clipping treshold
- Coloring:
- Coloring Mode: Diferent coloring modes for the asset to blend with the terrain
- None: Doesn’t paint anything extra
- Full Body: Applies the terrain color to the whole asset (shoul be used with a grayscale albedo)
- Bottom: It paints the bottom and fades to original color
- Top: It paints the top and fades to original color
- Offset: Offset to apply to where the coloring starts
- Cutoff: Where the coloring stops
- Ground Texture Size: Size of the terrain texture sampled.
- Coloring Mode: Diferent coloring modes for the asset to blend with the terrain
- Wind:
- Tree Wind: Should it use the wind for trees? This is a fake wind system that moves the tree from side to side.
- Speed: The speed of the wind
- Strength: The strength of the wind
- Leaf Wind: Should it use the wind for leafs? This is a fake wind system that moves the leafs up and down.
- Leaf Strength: The strength of the leaf wind
Grass:
Useful for a grass blade. It’s a lightweight shader focused on grass.
- Blade Drop: How much should the grass fall
- Coloring:
- Ambient Occlusion Strenght: Fake darkening to the bottom of the blade of grass
- Ambient Occlusion Height: Up to which point should the darkening be applied
- Ground Texture Size: Size of the terrain texture sampled.
- Far Texture Multiplier: Size multiplier for each texture on far away objects.
- Color Variance: How much randomness between blades
- Min Distance Full Texture: Where does it start blending to a simplified texturing mode (without stochastic sampling)
- Max Distance Full Texture: Where does it stop blending to fully do texturing without stochastic sampling
- Wind:
- Speed: The speed of the wind
- Strength: The strength of the wind
Impostor
This shader is specifically target assets created as impostors. In this case, no editing of the material should be done apart from a little amount of variables.
- Cutoff: Clipping treshold of the textures
- Ground Texture Size: Size of the terrain texture sampled.
- Imposter Border Clamp: Clamping of edges when sampling the textures.
The workflow for this kind of shader is to make use of the public library by MaxRoetzler/IMP and after the material has been generated, it should be swaped with this one.
Minimal
The minimal shader contains, as the name says, the bare minimum required for the material to work with Infinite Lands GPU Instancing. The node, Vegetation Data, gives information about the terrain an the asset itself.
- Object Position: The position of the vertex transformed into object space taking rotation and world position into acount.
- World Point: Exact single point where the asset resides in world space
- LOD Transition: Value that goes from 0 to 1 when transitioning from one LOD to the next. Should be used with dithering or transparency to hide the transition.
- Texture Index: Terrain texture index, can be used by sampling the Albedo Texture Array.
- Random Index: Value that goes from 0 to 1, changes per instance
- Ground Normal: Vector3 normal of the ground mesh.
Others
Displacement Particle:
This shader allows the creation of the displacement texture. You must use it together with a particle system, and every particle spawned will move the grass around it. Check out the sample scene to see how to set it up.
- Strength: How strong the circle generated by the particle is.