Age | Commit message (Collapse) | Author |
|
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.
|
|
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
|
|
|
|
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`
|
|
Restrict MSAA attachment usage to the strictly needed set
|
|
|
|
Rename remaining "*_enable" to "*_enabled"
|
|
Vulkan Clustered: Fix culling of negatively-scaled objects
|
|
Add `is_finite` method for checking built-in types
|
|
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.
|
|
|
|
Allow clearing backbuffer after finishing CanvasGroup
|
|
|
|
This avoids an issue where having multiple CanvasGroups overlap
would create a weird artifact
|
|
Material overlay should only cast a shadow if it can cast a shadow and
the instance can cast a shadow
|
|
change warnings=all to use /W4.
|
|
Use a giant UBO to optimize performance in 2D [OpenGL3]
|
|
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.
|
|
This removes the countless small UBO writes we had before
and replaces them with a single large write per render pass.
This results in much faster rendering on low-end devices
but improves speed on all devices.
|
|
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`
|
|
|
|
|
|
|
|
Fix rendering in the WebXR emulator
|
|
|
|
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
|
|
Fix typos - "collison" -> "collision"
|
|
|
|
|
|
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
|
|
Clean up canvas light shader API.
|