A GLES2-specific tweak is now documented for the GUI in 3D demo.
This also tweaks shadow quality and performance to find a better
balance and result in smoother shadows, including when using GLES2
(thanks to the use of PCF13 shadow filter mode).
In demos that allow falling back to GLES2, ETC1 texture import
is enabled to allow exporting to Android or HTML5 without having
to tweak anything.
- Enable anisotropic filtering in 3D demos, and set the quality to
16× on desktop and 4× on mobile.
- Enable 4× MSAA on some 3D demos that didn't use it beforehand.
- On GLES3 demos, disable MSAA on mobile as these demos are often
more demanding.
- Use more conservative framebuffer allocation settings for better
performance.
- Use PCF13 shadow filtering in GLES2 demos on desktop to benefit
from soft shadows in Godot 3.2.4 and later.
In Godot 3.2.3, this will make shadows smoother but still "blocky".
- Use Lossless compression instead of VRAM compression for
small textures such as the voxel demo texture atlas.
It turns out using a TextureRect node isn't necessary :)
The typical ViewportContainer + Viewport setup can be used just
fine to enable filtering on the ViewportTexture returned by the
Viewport.
The performance of the new method is equivalent to the old one.
This is required to benefit from crisp display on hiDPI monitors.
This also fixes issues related to fullscreen and input handling
when using an hiDPI display on Windows.
This demo shows how to scale the 3D viewport rendering without
affecting 2D elements such as the HUD. It also demonstrates how to
toggle filtering on a viewport by using TextureRect to display the
ViewportTexture delivered by the Viewport node.
- Use 4× MSAA for a better visual appearance.
- Use "3D Without Effects" framebuffer allocation when possible
for better performance.
- Disable Glow in the 3D Kinematic Character demo for better
performance. Increase the DirectionalLight strength to compensate.
- Use a non-linear attenuation for the OmniLight in the
Window Management demo (and increase its range to compensate).
This makes demos render correctly on hiDPI displays,
while also demonstrating how to handle multiple resolutions.
The 3D in 2D demo now uses "3D No-Effects" for the 3D viewport,
which is faster to render. Thanks to this, 4× MSAA is now enabled
for a better result.
The background loading demo now uses mipmaps for better-looking images.
The material testers demo now samples mouse input in a
resolution-independent manner when panning.
Default clear colors were also changed in some projects for visual
consistency with the project's theme.
Answering PR reviews
Removeing class_name
_get_split_state documentation
Mentioning Voronoi split screen in README
Fixing comments
Use the same script for both players
The input map is configured to work with AZERTY and QWERTY keyboards
Use spaces for comments alignment + code style
Fix empty line and incorrect comment
Add arrow keys to control player 2
Removing most static typing as suggested for demo projects
Removing broken split origin feature
Removing the floor texture to avoid copyright issues
Changing game icon
Make Walls.gd a tool script + randomize
Fixing style
Handle joysticks for player movement
* Made the whole block a separated scene to demonstrate it can work across multiple instances.
* Dropped the Area.input_event and did everything manually with raycasting.
* Made quad_mesh_size automatically pick the quad size, avoiding the extra setup.
* Changed from PlaneMesh to QuadMesh. Now everyting can start with 0 rotation.
* The function will keep handling input when the mouse is outside of the area to avoid orphan clicks, but stop when the click is released.
* Changed some variable and function names to make sense with the code changes.
* Added an extra function to deal with billboard mode. But is not perfect, specially with scaling and Y-billboard + camera tilting.