summaryrefslogtreecommitdiff
path: root/servers/rendering_server.cpp
AgeCommit message (Collapse)Author
2022-08-19Remove requirement to have vertex positions when creating a mesh. Meshes can ↵clayjohn
now be constructed from an index buffer alone
2022-08-07Add a shadow opacity property to Light3DHugo Locurcio
This can be used to make shadows translucent for a specific light. The light distance fade system also uses this to smoothly fade the shadow when the light fade transition distance is greater than 0.
2022-08-04Rename shader parameter uniform setter/getter methods for consistencyHugo Locurcio
`shader_uniform` is now consistenly used across both per-shader and per-instance shader uniform methods. This makes methods easier to find in the class reference when looking for them.
2022-08-03Add Nearest Mipmap Anisotropic filter option to decals and projectorsHugo Locurcio
This is consistent with the BaseMaterial3D filtering options. It can be used for high-quality pixel art textures that remain sharp when viewed at oblique angles, but prevents them from becoming grainy thanks to mipmaps.
2022-07-29Merge pull request #46557 from asmaloney/remove-impossible-conditionRémi Verschelde
Remove impossible condition in RenderingServer::mesh_surface_make_offsets_from_format
2022-07-28Merge pull request #59840 from Calinou/renderingserver-global-uniform-renameRémi Verschelde
2022-07-28Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio
The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
2022-07-28Allow changing mipmap LOD bias when FSR 1.0 scaling is not usedHugo Locurcio
Mipmap LOD bias can be useful to improve the appearance of distant textures without increasing anisotropic filtering (or in situations where anisotropic filtering is not effective). `fsr_mipmap_bias` was renamed to `texture_mipmap_bias` accordingly. The property hint now allows for greater precision as well.
2022-07-25Remove ThreadWorkPool, replace by WorkerThreadPoolJuan Linietsky
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient. It can also be better debugged.
2022-07-22Clean up Shader Preprocessorreduz
* Moved preprocessor to Shader and ShaderInclude * Clean up RenderingServer side * Preprocessor is separate from parser now, but it emits tokens with include location hints. * Improved ShaderEditor validation code * Added include file code completion * Added notification for all files affected by a broken include.
2022-07-17Adding Variable Rate Shading support to GodotBastiaan Olij
Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
2022-07-13Rename soft shadow quality project settings for easier searchingHugo Locurcio
`rendering/quality/shadows` is now `rendering/quality/positional_shadow` to explicitly denote that the settings only affect positional light shadows, not directional light shadows. Shadow atlas settings now contain the word "atlas" for easier searching. Soft shadow quality settings were renamed to contain the word "filter". This makes the settings appear when searching for "filter" in the project settings dialog, like in Godot 3.x.
2022-06-19Automatically update the editor viewport when 3D scaling options are changedHugo Locurcio
This allows for previewing the effects of the various 3D scaling project settings without having to restart the editor.
2022-06-07Initial TAA implementationjfons
Initial TAA support based on the implementation in Spartan Engine. Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
2022-06-01Ensure has_os_features is safely called as it can't be called from within ↵Bastiaan Olij
the construct of RenderingServerDefault on which it relies
2022-05-25Add Cone and Cylinder shapes to FogVolumeHugo Locurcio
This complements the existing Ellipsoid and Box local fog shapes. This can be used to represent a light cone coming from a SpotLight.
2022-05-16Add basic lighting to GLES3 renderer.clayjohn
This includes all three light types and IBL, but does not include shadows or any form of GI
2022-05-12Merge pull request #60976 from Calinou/fsr-rename-property-hintRémi Verschelde
2022-05-12Basic 3D renderingclayjohn
2022-05-12Rename remaining references of FSR to FSR 1.0Hugo Locurcio
With FSR 2.0 around the corner, we should avoid any ambiguity by explicitly stating the version number.
2022-05-03Add `get_video_adapter_api_version()` to RenderingServerHugo Locurcio
This method can be used to get the graphics API version currently in use (such as Vulkan). It can be used by projects for troubleshooting or statistical purposes.
2022-04-20Fix more issues found by cppcheck.bruvzg
2022-04-12Restore antialiasing for `draw_line`Yuri Roubinsky
2022-04-06Fix some issues found by cppcheck.bruvzg
2022-03-18Merge pull request #49738 from Calinou/ssao-gi-default-half-resolutionRémi Verschelde
Compute SSAO at half resolution by default
2022-03-17Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enumHugo Locurcio
3 options are available: - Light and Sky (default) - Light Only (new) - Sky Only (equivalent to `use_in_sky_only = true`) Co-authored by: clayjohn <claynjohn@gmail.com>
2022-03-13Expose `RenderingServer::canvas_item_add_animation_slice` in GDScriptXavier Loh
2022-03-04Remove unused `shadow_color` property from Light3DHugo Locurcio
This shadow color property was no longer effective since the shaders were optimized to improve occupancy.
2022-03-04Merge pull request #58512 from Calinou/light3d-add-distance-fadeRémi Verschelde
2022-02-28Fix typo in SSR roughness quality enum value namesHugo Locurcio
2022-02-25Implement distance fade properties in OmniLight3D and SpotLight3DHugo Locurcio
This can be used to fade lights and their shadows in the distance, similar to Decal nodes. This can bring significant performance improvements, especially for lights with shadows enabled and when using higher-than-default shadow quality settings. While lights can be smoothly faded out over distance, shadows are currently "all or nothing" since per-light shadow color is no longer customizable in the Vulkan renderer. This may result in noticeable pop-in when leaving the shadow cutoff distance, but depending on the scene, it may not always be that noticeable.
2022-02-23Implementing OpenXR driverBastiaan Olij
2022-02-22Use Filament specular models and parametrizationclayjohn
2022-02-17Merge pull request #58177 from clayjohn/VULKAN-prefiltered-radianceRémi Verschelde
2022-02-16Use prefiltered radianceclayjohn
2022-02-16Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde
Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
2022-02-14Compute SSAO at half resolution by defaultHugo Locurcio
This provides a significant speedup for a small quality loss. The quality loss is generally more noticeable during a project's early stages of development (e.g. in level blockouts) than it is in a finished project.
2022-02-10Merge pull request #54158 from Calinou/decrease-default-soft-shadow-qualityRémi Verschelde
2022-02-10Merge pull request #54677 from Calinou/voxelgi-default-low-qualityRémi Verschelde
2022-02-10Merge pull request #39965 from Calinou/tweak-sdfgi-defaultsRémi Verschelde
2022-02-08Fix BLEND_SHAPE_MASKreduz
* Should now be correct * Supersedes 53738
2022-02-06Tweak default SDFGI settings for better qualityHugo Locurcio
- Enable Read Sky Light to get proper outdoors lighting out of the box. - Set bounce feedback to 0.5 by default to get a better quality result. - Higher values may cause infinite feedback with bright surfaces. - Increase the number of frames to converge to improve quality at the cost of latency. Most scenes are fairly static after all. - Use 75% Y scale by default as most scenes are not highly vertical. - Reorder the Y scale enum to go from the lowest Y scale to the highest. Also rename the "Disabled" setting to "100%" for clarity.
2022-01-26Merge pull request #54574 from Ansraer/glow_mapRémi Verschelde
2022-01-20Rename or refactor macros to avoid leading underscoresOmar Polo
These are not used consistently and some can conflict with system-specific defines. While here, also delete some unused macros.
2022-01-20Merge pull request #55360 from Calinou/rename-bake-mode-propertiesRémi Verschelde
2022-01-20add support for glow mapsAnsraer
2022-01-19Revert "Add new scaling modes for splash screen"Rémi Verschelde
This reverts commit fcc9f5ce396ff921ed8253f657a8c9c38e7a878d. The feature is good but the implementation still needs more work. A new PR will be made with a rework of this commit.
2022-01-18Add new scaling modes for splash screenSamuel Pedrajas
Removes the `fullsize` option which is superseded by `stretch_mode`. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-01-18Merge pull request #56761 from Calinou/sdfgi-allow-any-number-of-cascadesRémi Verschelde
2022-01-17Allow using between 1 and 8 cascades for SDFGIHugo Locurcio
This provides more flexibility between performance and quality adjustments, especially when using SDFGI for small-scale levels (which can be useful for procedurally generated scenes).