Add support 2.8 version
The ability to place ShadowMap for terrain considering different light sources has been added, with rendering performed using a single cascade, unlike diffuse rendering. This allows for just one draw call, as the system automatically gathers the necessary fragments, taking into account the type of lighting and its AABB, ensuring efficient and fast rendering in a single call.
Hi! I want to use this, but I canāt figure out how to add it to a project. If you could help me thatād be great!
Hi!
Beta: PlayCanvas | HTML5 Game Engine
Project: PlayCanvas | HTML5 Game Engine
Github: GitHub - AlexAPPi/playcanvas-terrain-system: Terrain System WebGL and WebGPU for PlayCanvas
Update:
Now the terrain uses the standard wireframe approach from the engine.
We are close to finishing writing a plugin for the editor.
Update:
LodScopes have been added to the LodManager, allowing independent control of zFar. This new feature enables the creation of LodScopes for shadows, both for individual light sources and for global illumination, facilitating management of level of detail and distance-based filtering.
Huge update:
Within the moduleās methodology, a chunk is a part of the height map stored in memory and represents a segment of the landscape. The PatchedHeightMap has been renamed to ChunkHeightMap to emphasize its role as a part of the height map associated with a specific chunk.
-
Transfer AbsPatchedHeightMap to AbsChunkedHeightMap
-
A PatchesSphereBuffer has been added, designed to detect changes in the height map and update the spheres for the frustum accordingly. Thanks to optimizations and a lightweight structure, we have managed to accelerate frustum processing by at least four times.
-
LodManager has become independent of the landscape, and a LodEstimator has been introduced within the landscape to calculate the number of LOD levels needed. Consequently, LodManager is now only required for determining the LOD for a specific point.
-
For LodManager, a LodState has been added, which can control the zFar parameter. Based on this parameter, the LodManager can determine which LOD levels are appropriate for a specific LodState.
-
Now, each LodState can have its own MeshInstance, allowing LodState to be used for different layers (for example, a cascade shadow layer).
-
Now, the combination of frustum culling and LOD management allows for optimal segmentation of the landscape, providing the desired level of detail or fragmentation.
-
A shader example has been added that enables eliminating the need for tile textures in the landscape.
-
Added meshInstance bus, which allows using a single buffer for everything.