Age | Commit message (Collapse) | Author |
|
Unify usage of GLOBAL/EDITOR_GET
|
|
|
|
Changing timing of call to xr_interface->pre_draw_viewport
|
|
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`
|
|
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
|