Age | Commit message (Collapse) | Author |
|
Move Fog logic from render scene render to fog
|
|
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient.
It can also be better debugged.
|
|
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
|
|
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
|
|
|
|
|
|
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
|
|
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
|
|
|
|
|
|
Bind correct default resource type in GI
|
|
|
|
|
|
|
|
|
|
added usage defines for opengl3 renderer
|
|
Improve GI renderer and add VRS support
Implement render device has_feature and move subgroup settings to limit_get
|
|
|
|
`rendering/quality/shadows` is now `rendering/quality/positional_shadow`
to explicitly denote that the settings only affect positional light shadows,
not directional light shadows.
Shadow atlas settings now contain the word "atlas" for easier searching.
Soft shadow quality settings were renamed to contain the word "filter".
This makes the settings appear when searching for "filter" in the
project settings dialog, like in Godot 3.x.
|
|
Spartan Engine has recently removed its own internal TAA in favor
of FSR 2.0. The link has been changed to point to a fixed commit,
so the link will keep working as long as the repository exists.
|
|
|
|
Rationalize certain cases of texture usage flags
|
|
|
|
|
|
These methods weren't exposed to the scripting API.
Anisotropy was used in earlier iterations of VoxelGI, but it was
removed as it was too expensive.
|
|
|
|
|
|
Use the Static global illumination mode in GeometryInstance3D by default
|
|
Consider uniform writability part of the interface of the set
|
|
raw render to the screen. Now, it commits
the fsr upscaled image
|
|
|
|
Split FOG
Split visibility notifier
Final cleanup of storage classes
|
|
- Check for exhaustive usage flags for depth buffer
- Remove uneeded storage flag from normal-roughness buffer
|
|
|
|
|
|
This makes VoxelGI and SDFGI work out of the box with primitive meshes,
loaded OBJ meshes and CSG nodes.
|
|
|
|
|
|
|
|
This makes it work consistently for motion vectors in all functions, including user-defined ones.
|
|
|
|
|
|
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
|
|
Introduce eye_offset for correcting stereoscopic reflections
|
|
Use view instead of vertex for reflections.
|
|
Glow must be performed after FXAA to ensure correct appearance.
|
|
- Specular can now be set above 1.0.
- Blur can be set to 0 to disable shadow blurring entirely, which is useful
on lights that have a non-zero size.
- When shadow blurring is disabled, lights that have a non-zero size will
not use PCSS-like soft shadows, speeding up shadow rendering
considerably.
- Some property hints now allow more precise values.
|
|
|
|
|
|
|