Age | Commit message (Collapse) | Author |
|
|
|
Prevent error if varying assigned but not used (push warning instead)
|
|
Use the standard C `INFINITY` and `NAN` constants directly
|
|
The `Math_INF` and `Math_NAN` defines were just aliases for those
constants, so we might as well use them directly.
Some portions of the code were already using `INFINITY` directly.
|
|
|
|
Add error marking to the shader error console output
|
|
Use C++11 raw literals for shader code to improve readability
|
|
Implement more rendering options as specialization constants
|
|
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.
These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
|
|
Explicitly cast real_t to float when creating a float array
|
|
|
|
Optimize StringName usage
|
|
In files that have lots of branching, `\t` was replaced with a
tab character instead.
|
|
|
|
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
|
|
This makes it possible to see where the shader error is without
having to look at the trace printed below the source code.
|
|
* use valid format for framebuffer: VK_FORMAT_A2B10G10R10_UNORM_PACK32
* Unfortunately cant be used for compute.
* Mobile will need to do refprobe, sky, mipmapblurring using raster.
|
|
|
|
Added a shader warning about unused local variable
|
|
Use 32bit instead of 64bit 3D render buffer on mobile renderer
|
|
Fixing by applying the movement in two steps, first the platform
movement, and then the body movement. Plus, add the platform movement
when we are on_wall.
|
|
|
|
|
|
Add a method to set the number of physics solver iterations in 3D
|
|
Make move_and_slide collision detection more accurate
|
|
Use specialization constants in clustered renderer
|
|
Separate underscore from grapheme punctuation to enable doubleclick and caret jump over snakecase variables in editor
|
|
Implement the ability to disable classes
|
|
caret jump over snakecase variables in editor
|
|
* This PR adds the ability to disable classes when building.
* For now it's only possible to do this via command like:
`scons disable_classes=RayCast2D,Area3D`
* Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
|
|
Improvements to Label's layout options
|
|
|
|
* Keep track of when projector, softshadow or directional sofshadow were enabled.
* Enable them via specializaton constant where it makes sense.
* Re-implements soft shadows.
* Re-implements light projectors.
|
|
Fix indexing of multiple reflection probes
|
|
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
|
|
|
|
* Added support to our local copy of SpirV Reflect (which does not support it).
* Pass them on render or compute pipeline creation.
* Not implemented in our shaders yet.
|
|
This is only for GodotPhysics, and adds a 3D counterpart to the 2D
method that was recently added.
|
|
|
|
* IF a texture was reimported (calling replace as an example), it would invalidate all materials using it, causing plenty of errors.
* Added the possibility to get a notification when a uniform set is erased.
* With this notification, materials can be queued for update properly.
|
|
* Previews and other stuff now works again.
* Not the best solution, will have to be improved in the future usinc async queues where supported.
|
|
Fix Command Queue Crash
|
|
* No longer allow sending an object (texture) to the server as material parameter
* Keep a parameter cache locally in ShaderMaterial
|
|
Fix concave collision with backface collision disabled
|
|
Disabled backface collision is only applied on face separation axes,
because applying it also on edges and vertices was causing some contacts
to be wrongly disabled and contact points to be off.
|
|
* Unifies how material parameters are updated.
* Single function, easier to maintain.
* Updates materials properly when textures change.
|
|
Support for anisotropy in VoxelGI was removed during its development
due to the high cost. This was a leftover from anisotropy support.
|
|
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
|
|
|
|
* Works again
* Transmittance also works again
* Removed the curve patamter, exp() function is good enough.
|