summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2022-09-30Merge pull request #66638 from timothyqiu/rendering-nullRémi Verschelde
Add various null checks in RenderingServer
2022-09-30Merge pull request #66626 from danboo/fix-typo-run-debug-collisonsRémi Verschelde
Fix typos - "collison" -> "collision"
2022-09-30Add various null checks in RenderingServerHaoyu Qiu
2022-09-29Fix typo - "collison" -> "collision"danboo
2022-09-29Merge pull request #66583 from bruvzg/constexprRémi Verschelde
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
2022-09-29Merge pull request #66565 from clayjohn/canvas-lightsRémi Verschelde
Clean up canvas light shader API.
2022-09-29Use `constexpr` in the conditions with template parameters and `sizeof`s to ↵bruvzg
suppress C4127 warnings.
2022-09-28Clean up canvas light shader API.clayjohn
Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL. Add LIGHT_DIRECTION
2022-09-28Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable usedRémi Verschelde
2022-09-26Fix DirAccessWindows::make_dir() choking on ".."nikitalita
`CreateDirectoryW()` chokes on absolute paths that contain `..` example: "C:\\workspace\\..\\games\\assets" Simplifying the path before creating the dir fixes this.
2022-09-23SCons: Cleanup `DEBUG`, `_DEBUG` and `NDEBUG` definesRémi Verschelde
- `_DEBUG` is MSVC specific so it didn't make much sense to define for Android and iOS builds. - iOS was the only platform to define `DEBUG`. We don't use it anywhere outside thirdparty code, which we usually don't intend to debug, so it seems better to be consistent with other platforms. - Consistently define `NDEBUG` to disable assert behavior in both `release` and `release_debug` targets. This used to be set for `release` for all platforms, and `release_debug` for Android and iOS only. - Due to the above, I removed the only use we made of `assert()` in Godot code, which was only implemented for Unix anyway, should have been `DEV_ENABLED`, and is in PoolAllocator which we don't actually use. - The denoise and recast modules keep defining `NDEBUG` even for the `debug` target as we don't want OIDN and Embree asserting all over the place.
2022-09-20Merge pull request #63594 from Faless/img/4.x_loader_extRémi Verschelde
[Core] Make ImageFormatLoader extensible.
2022-09-20Merge pull request #65541 from clayjohn/renderer-settingRémi Verschelde
Split rendering driver project setting into renderer_name and rendering_driver
2022-09-20[Core] Make ImageFormatLoader extensible.Fabio Alessandrelli
2022-09-19Merge pull request #66065 from kidinashell/issue-59488Rémi Verschelde
SpotLight3D's and OmniLight3D's Projector doesn't work
2022-09-19Split rendering driver project setting into renderer_name and ↵clayjohn
rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
2022-09-19Fix Vulkan: SpotLight3D's and OmniLight3D's Projector doesn't workTobias Widner
2022-09-19Replace File/Directory with FileAccess/DirAccesskobewi
2022-09-16Merge pull request #65525 from MJacred/os/distributionRémi Verschelde
Add get_distribution_name() and get_version() to OS
2022-09-16Merge pull request #65833 from JFonS/taa_fix_particles_errorsRémi Verschelde
Fix error spam in the renderer when using GPUParticles3D
2022-09-16Add get_distribution_name() and get_version() to OSMJacred
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Co-authored-by: bruvzg
2022-09-16Fix error spam in the renderer when using GPUParticles3DJFonS
The flag INSTANCE_DATA_FLAG_MULTIMESH is used for both multimesh and particles instances, this commit adds a new INSTANCE_DATA_FLAG_PARTICLES flag to discriminate between them. This flag will also be used in the future to properly support TAA in particles.
2022-09-16Merge pull request #65794 from Geometror/fix-canvas-backbufferRémi Verschelde
Fix/restore BackBufferCopy
2022-09-15Fix/restore BackBufferCopyHendrik Brucker
2022-09-14Merge pull request #65796 from clayjohn/GLES3-canvas-shaderRémi Verschelde
2022-09-14Fix canvasitem shader builtins when using GLES3clayjohn
Remove prefix canvas_data. as it isn't used in the internal canvasitem shader
2022-09-14Clear last frame directional light buffer when number of lights changes.clayjohn
This ensures that the buffers don't go out of sync.
2022-09-13Merge pull request #65746 from clayjohn/GLES3-mem-leakRémi Verschelde
Fix leaking of Mesh version and lod memory when freeing mesh in GLES3
2022-09-13Move debanding into internal sky shader code so that it is applied after ↵clayjohn
everything else. This ensures that the debanding does not scale with exposure or any other effect.
2022-09-13Fix leaking of Mesh version and lod memory when freeing mesh in GLES3clayjohn
2022-09-13Merge pull request #65509 from gotnospirit/master-os-get_datetimeRémi Verschelde
get_datetime_* functions can return wrong values
2022-09-12Fix multiwindow support in GLES3 for X11, Windows, and MacOS.clayjohn
Instead of updating all viewports, then blitting all viewports to the backbuffer, then swapping all buffers, we run through all viewports and render, blit, and swap backbuffer before going to the next viewport.
2022-09-12Merge pull request #65544 from clayjohn/lambert-wrapRémi Verschelde
Apply energy conservation to LAMBERT_WRAP diffuse mode by dividing by PI
2022-09-12Apply energy conservation to LAMBERT_WRAP and TOON diffuse modes by dividing ↵clayjohn
by PI
2022-09-12Use proper color type for transparent render targets in GLES3clayjohn
2022-09-10Fixes #65377: get_datetime_* functions can return wrong valuesJames
2022-09-07Merge pull request #65016 from timothyqiu/skin-dataRémi Verschelde
Fix crash when executing `TubeTrailMesh.get_faces()` with GLES3
2022-09-07Fix crash when executing `SubViewport.set_size_2d_override_stretch`Haoyu Qiu
2022-09-06Fix rendering when using WebGL2.clayjohn
Fixes include using proper depth buffer format in 3D (this had previously been fixed already but the changes were lost in a rebase), Remove unused lighting and shadowing code in 2D, and update 2D UBOs using glBufferSubData so that they remain the appropriate size.
2022-09-06Merge pull request #64417 from aaronfranke/has-spaceRémi Verschelde
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06Fix various uninitialized member pointersRémi Verschelde
Using this command: ``` find -name "thirdparty" -prune -o -name "*.h" -exec sed -i {} -e '/return /! s/\t\([A-Za-z0-9_]* \*[A-Za-z0-9_]*\)\;/\t\1 = nullptr;/g' \; ``` And then reviewing the changes manually to discard the ones that don't seem correct/safe/good (notably changes to `core` unions).
2022-09-04Replace AABB has_no_volume with has_volumeAaron Franke
Also replace has_no_surface with has_surface
2022-09-03Re-enable per-pixel transparency support on Linux, macOS, and Windows (for ↵bruvzg
Vulkan and OpenGL rendering drivers).
2022-09-02Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde
2022-09-02Merge pull request #64952 from Chaosus/vs_rename_uniform_to_paramRémi Verschelde
2022-09-01Change Array arguments to TypedArraykobewi
2022-09-01Extracting render buffers and changing it to a more generic solutionBastiaan Olij
2022-09-01Rename `uniform` to `parameter` across the engineYuri Rubinsky
2022-08-31Implement Physical Light Units as an optional setting.clayjohn
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value. In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-30Add a per-light volumetric fog energy propertyHugo Locurcio
Per-light energy gives more control to the user on the final result of volumetric fog. Specific lights can be fully excluded from volumetric fog by setting their volumetric fog energy to 0, which improves performance slightly. This can also be used to prevent short-lived dynamic effects from poorly interacting with volumetric fog, as it's updated over several frames by default unless temporal reprojection is disabled. Volumetric fog shadows now obey Light3D's Shadow Opacity property as well. The shadow fog fade property was removed as it had little visible impact on the final scene's rendering.