Age | Commit message (Collapse) | Author |
|
Unify usage of GLOBAL/EDITOR_GET
|
|
Correctly rename to read_model_matrix when using shader builtins that rely on model matrix
|
|
Ensure vulkan subgroups are disabled for MoltenVK
|
|
|
|
This comes from an uncaught merge conflict resulting from the split of scene_data into
scene_data and implementation_data
|
|
Fix ambient_light_disabled render mode flag
|
|
Prevent windows from having a size greater than device limit
|
|
Improve behaviour of clip_children by clipping to parent alpha value but still retaining parent color
|
|
Clean up Basis from Euler code
|
|
We found they don't work on intel macbooks properly at all.
Possible future solutions:
- update to moltenvk.
- update to spirv may resolve it.
|
|
This argument is now non optional, but this never hits the same bad access.
I voted to simplify the code here since the argument is never used optionally in our codebase.
|
|
on model matrix
|
|
|
|
|
|
1. Viewport::get_visible_rect().position is always zero.
So Control::get_window_rect is identical to Control::get_global_rect.
Remove Control::get_window_rect since it is not used in the source code.
2. sqrt(a * a) = abs(a) for doubles
3. Simplify affine_inverse combination
4. Simplify calculation in shaders
|
|
|
|
|
|
to parent alpha value, but still retaining
parent color
|
|
Add 2D lights to OpenGL3 canvas renderer
|
|
Fix volumetric fog not rendering at densities lower than or equal to 0.001
|
|
Use radial distance for making LOD decisions.
|
|
This is an initial implementation using the same single-pass approach as the RenderingDevice.
|
|
This allows volumetric fog to render with the lowest density that
can be specified in the inspector (0.0001).
|
|
Previously, only forward basis distance from the camera was used.
This means that unnecessarily high LOD levels were used for objects located to the side of the camera.
The distance from the camera origin is now used, independently of direction.
|
|
Fix incorrect offset for vec3 datatypes in `_fill_std140_ubo_empty`
|
|
|
|
Vulkan Clustered: Fix culling of negatively-scaled objects
|
|
Polish rendering driver refactor further
|
|
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.
We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
|
|
Negatively scaled objects should be mirrored. This is already implemented, but it breaks when mirrored and non-mirrored instances of the same object are visible together.
It turns out that the code that skips-over repeats in `RenderForwardClustered::_render_list_template` also skips the code that accounts for the culling mode of mirrored objects.
The solution here is to consider the `mirror` flag when determining repeats. This might result in more draw commands than necessary since a mirrored object can split a group of non-mirrored instances in two.
This problem doesn't appear in the mobile renderer because the repeat optimization isn't implemented there yet.
The problem still appears in MultiMeshInstance3D in *all* renderers.
Fixes #62879 and #58546.
|
|
|
|
|
|
This avoids an issue where having multiple CanvasGroups overlap
would create a weird artifact
|
|
change warnings=all to use /W4.
|
|
Fixing artifacts in SSR
|
|
Mainly:
- Make `max_descriptors_per_pool` project setting Vulkan-specific.
- Use a common, render driver agnostic magic FourCC for shader binary data.
- Downgrade spirv_reflect to Vulkan-only dependency.
- Add a `RENDER_DRIVER_*` macro to GLSL shader code for per-driver customizations.
|
|
Make sure atlas rect for directional lights is calculated using floats
|
|
|
|
Default CanvasItem materials to use sRGB space for uniform colors
|
|
Rename Projection `matrix` to `columns`
|
|
|
|
|
|
|
|
|
|
light and probe elements into storage and reorganise our render_scene method.
|
|
|
|
The 2D renderer in Godot is totally in sRGB space so it is appropriate
to keep 2D uniform colors in sRGB space
|
|
Using codespell 2.3-dev from current git.
And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
|
|
Emulate double precision for regular rendering operation when REAL_T_IS_DOUBLE
|
|
Add various null checks in RenderingServer
|