* subresource download, upload improvements, ktx2, basis convert: using mipmap data from GPU
* bush and tree terrain assets: mipmap coverage fix
* refactors
* comments
Splitting visibility buffer shaders to reduce register usage:
resolve (async)
binning (async)
velocity (async)
surface sampling (async)
sky (async)
lighting (gfx)
Successfully improved GPU utilization in lighting shader.
Binning is faster, because binning tiles and not pixels
Because tiles are binned, lighting tiles are using coherent tile info for whole thread group
Surface, sky and decal rendering also runs now in async compute.
Velocity is separate pass, improves GPU utilization in resolve, and only runs as optional.
Surface shader occupancy is still bad, and wind computation is still bad per pixel, but now it is only done in surface shader.
Surface shader can now write out proper top layer of clearcoated material, this improves screen space and raytraced reflections.
MSAA not implemented yet for visibility compute shading
Tessellation is still only half way supported in visibility compute shading (tessellation data not available in memory for pixel interpolation, but depth is written in prepass, this causes mismatch)
0.60.50:
- Added procedural terrain generator (for now this is Editor only preview version)
- Added LOD (Level Of Detail) support
- Added LOD Generator to Editor (Mesh Window -> LOD Gen), uses the meshoptimizer library
- Editor can merge multiple objects now into one mesh (Mesh window -> Merge Selected)
- Ocean: added occlusion culling support to detect when ocean is occluded
- can skip planar reflection render for ocean
- can skip ocean simulation
- can skip ocean rendering
- CPU ray tracing optimization: TMin and TMax parameter
- can improve Ray-AABB and Ray-Triangle tests
- improves performance of third person character controller script
- other fixes
* Wrote Linux package files
* Moved the package distribution content
* Started rewriting `Install.sh` in Python
* Added the `ttkbootstrap` module
* Applied a dark theme to the installer
* More dependency installation changes
* More installer changes
* Overhauled all distribution changes
* Fixed the `Setup.py` script
The `Setup.py` script tried to build `Dependencies.py`, which was
removed. It now builds `Install.py` instead.
* Moved from `subprocess.run()` to `os.system()`
The installer now uses the **deprecated** `os.system` function. In the
feature `Install.py` will use `subprocess.run()` again, however,
`os.system()` has better infrastructure to work.
* Fixed a grammatical error in `Install.py`
A comment referred to *the* Discord server as Discord, as a whole.
* Fixed two typos in `Install.py` caused by my editor
* Fixed major bugs in the `Install.py` script
* Fixed a possible issue that might occur in `Install.py`
* (Linux) File dialog glob pattern fix (#403)
* ocean: change to use indexed draw; fixed gradient tiling;
* raytracing now uses configurable sampler + refactors
* Underwater post process (#405)
* added underwater post process
* improvements
* update
* update
* border between underwater and air is better faded
* fixes: volumetric cloud blend mode in planar reflection; ocean receive shadow;
* underwater caustics
* Fixed a major `.gitignore` issue
* Debug changes
Co-authored-by: Megumumpkin <megumumpkin@protonmail.ch>
Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>