summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #63003 from Geometror/msaa-2dRémi Verschelde2022-08-301-1/+2
|\
| * Implement MSAA for 2D [Vulkan only]Hendrik Brucker2022-08-131-1/+2
| |
* | Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0Rémi Verschelde2022-08-261-0/+1
|\ \
| * | Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-0/+1
| | |
* | | Replace Array return types with TypedArray 3kobewi2022-08-241-11/+11
| | |
* | | Replace Array return types with TypedArray 2kobewi2022-08-231-3/+4
|/ /
* | Merge pull request #60309 from The-O-King/octRémi Verschelde2022-08-221-27/+24
|\ \
| * | Octahedral Normal/Tangent CompressionOmar El Sheikh2022-08-131-27/+24
| |/ | | | | | | Implementation of Octahedral normal compression into Godot 4.0
* / Remove requirement to have vertex positions when creating a mesh. Meshes can ↵clayjohn2022-08-191-6/+9
|/ | | | now be constructed from an index buffer alone
* Add a shadow opacity property to Light3DHugo Locurcio2022-08-071-0/+1
| | | | | | | 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.
* Rename shader parameter uniform setter/getter methods for consistencyHugo Locurcio2022-08-041-9/+9
| | | | | | `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.
* Add Nearest Mipmap Anisotropic filter option to decals and projectorsHugo Locurcio2022-08-031-4/+6
| | | | | | | 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.
* Merge pull request #46557 from asmaloney/remove-impossible-conditionRémi Verschelde2022-07-291-12/+1
|\ | | | | Remove impossible condition in RenderingServer::mesh_surface_make_offsets_from_format
| * Remove impossible condition in ↵Andy Maloney2021-03-011-12/+1
| | | | | | | | | | | | | | | | RenderingServer::mesh_surface_make_offsets_from_format sizeof(float) cannot be less than 4, so the condition is impossible. (Also remove extra blank lines in cases for consistency.)
* | Merge pull request #59840 from Calinou/renderingserver-global-uniform-renameRémi Verschelde2022-07-281-9/+9
|\ \
| * | Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio2022-07-281-9/+9
| | | | | | | | | | | | | | | The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
* | | Allow changing mipmap LOD bias when FSR 1.0 scaling is not usedHugo Locurcio2022-07-281-5/+5
|/ / | | | | | | | | | | | | | | | | 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.
* | Remove ThreadWorkPool, replace by WorkerThreadPoolJuan Linietsky2022-07-251-2/+0
| | | | | | | | | | 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.
* | Clean up Shader Preprocessorreduz2022-07-221-0/+2
| | | | | | | | | | | | | | | | | | * 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.
* | Adding Variable Rate Shading support to GodotBastiaan Olij2022-07-171-0/+8
| | | | | | | | | | Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
* | Rename soft shadow quality project settings for easier searchingHugo Locurcio2022-07-131-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | `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.
* | Automatically update the editor viewport when 3D scaling options are changedHugo Locurcio2022-06-191-4/+4
| | | | | | | | | | This allows for previewing the effects of the various 3D scaling project settings without having to restart the editor.
* | Initial TAA implementationjfons2022-06-071-0/+2
| | | | | | | | | | | | 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.
* | Ensure has_os_features is safely called as it can't be called from within ↵Bastiaan Olij2022-06-011-0/+2
| | | | | | | | the construct of RenderingServerDefault on which it relies
* | Add Cone and Cylinder shapes to FogVolumeHugo Locurcio2022-05-251-0/+3
| | | | | | | | | | | | This complements the existing Ellipsoid and Box local fog shapes. This can be used to represent a light cone coming from a SpotLight.
* | Add basic lighting to GLES3 renderer.clayjohn2022-05-161-2/+2
| | | | | | | | This includes all three light types and IBL, but does not include shadows or any form of GI
* | Merge pull request #60976 from Calinou/fsr-rename-property-hintRémi Verschelde2022-05-121-1/+1
|\ \
| * | Rename remaining references of FSR to FSR 1.0Hugo Locurcio2022-05-121-1/+1
| | | | | | | | | | | | | | | With FSR 2.0 around the corner, we should avoid any ambiguity by explicitly stating the version number.
* | | Basic 3D renderingclayjohn2022-05-121-37/+9
|/ /
* | Add `get_video_adapter_api_version()` to RenderingServerHugo Locurcio2022-05-031-0/+1
| | | | | | | | | | | | 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.
* | Fix more issues found by cppcheck.bruvzg2022-04-201-9/+9
| |
* | Restore antialiasing for `draw_line`Yuri Roubinsky2022-04-121-1/+1
| |
* | Fix some issues found by cppcheck.bruvzg2022-04-061-2/+0
| |
* | Merge pull request #49738 from Calinou/ssao-gi-default-half-resolutionRémi Verschelde2022-03-181-2/+1
|\ \ | | | | | | Compute SSAO at half resolution by default
| * | Compute SSAO at half resolution by defaultHugo Locurcio2022-02-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enumHugo Locurcio2022-03-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Expose `RenderingServer::canvas_item_add_animation_slice` in GDScriptXavier Loh2022-03-131-0/+1
| | |
* | | Remove unused `shadow_color` property from Light3DHugo Locurcio2022-03-041-1/+0
| | | | | | | | | | | | | | | This shadow color property was no longer effective since the shaders were optimized to improve occupancy.
* | | Merge pull request #58512 from Calinou/light3d-add-distance-fadeRémi Verschelde2022-03-041-0/+1
|\ \ \
| * | | Implement distance fade properties in OmniLight3D and SpotLight3DHugo Locurcio2022-02-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Fix typo in SSR roughness quality enum value namesHugo Locurcio2022-02-281-4/+4
|/ / /
* | | Implementing OpenXR driverBastiaan Olij2022-02-231-1/+1
| | |
* | | Use Filament specular models and parametrizationclayjohn2022-02-221-2/+0
| | |
* | | Merge pull request #58177 from clayjohn/VULKAN-prefiltered-radianceRémi Verschelde2022-02-171-3/+3
|\ \ \
| * | | Use prefiltered radianceclayjohn2022-02-161-3/+3
| |/ /
* / / Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-2/+2
|/ / | | | | | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* | Merge pull request #54158 from Calinou/decrease-default-soft-shadow-qualityRémi Verschelde2022-02-101-2/+2
|\ \
| * | Decrease the default soft shadow quality to improve performanceHugo Locurcio2021-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Soft shadows are relatively expensive to filter. However, with the default blur factors, it's not needed to use too many samples (unless PCSS-like shadows are used with a large size). Textures and screen-space antialiasing can also be used to mask the noise pattern effectively. On a GeForce GTX 1080, going from Medium to Low for both shadow types saves 0.2-0.4 ms of GPU time per frame in 2560×1440 resolution. This can translate to significantly higher savings on lower-end GPUs. Given how the shader works, this improves rendering performance even if lights with shadows are never used.
* | | Merge pull request #54677 from Calinou/voxelgi-default-low-qualityRémi Verschelde2022-02-101-1/+1
|\ \ \
| * | | Decrease the default VoxelGI quality to improve performanceHugo Locurcio2021-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | On a GeForce GTX 1080 in 2002×1447 resolution, decreasing VoxelGI quality from High to Low quality saves 1.2 ms of GPU time in a medium-sized test scene. This only results in a minor drop in quality.