summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.h
Commit message (Collapse)AuthorAgeFilesLines
...
| * Prevent windows from having a size greater than device limitMinusKube2022-09-041-0/+2
| |
* | Implement multiple clip_children modes for CanvasItemsclayjohn2022-10-141-1/+2
| |
* | Move cluster builder, sdfgi and gi structures to clustered renderer, move ↵Bastiaan Olij2022-10-041-0/+6
|/ | | | light and probe elements into storage and reorganise our render_scene method.
* Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde2022-09-021-2/+2
|\
| * Change Array arguments to TypedArraykobewi2022-09-011-2/+2
| |
* | Merge pull request #64952 from Chaosus/vs_rename_uniform_to_paramRémi Verschelde2022-09-021-22/+22
|\ \
| * | Rename `uniform` to `parameter` across the engineYuri Rubinsky2022-09-011-22/+22
| |/
* | Merge pull request #60185 from Calinou/environment-fog-and-sky-affectRémi Verschelde2022-09-011-2/+2
|\ \
| * | Add Environment properties to control fog rendering on background skyHugo Locurcio2022-09-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Values lower than 1.0 can be used to make the fog rendering not fully obstruct the sky. This can be desired when using fog as a purely atmospheric effect, without intending to use fog for open world fog fading. When set to 0.0, fog rendering behavior will be similar to Godot 3.x where sky rendering was never affected by fog.
* | | Implement Physical Light Units as an optional setting.clayjohn2022-08-311-9/+13
| |/ |/| | | | | | | | | 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.
* | Add a per-light volumetric fog energy propertyHugo Locurcio2022-08-301-1/+1
|/ | | | | | | | | | | | | | 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.
* 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-4/+4
| | |
* | | Replace Array return types with TypedArray 2kobewi2022-08-231-1/+4
|/ /
* / Remove requirement to have vertex positions when creating a mesh. Meshes can ↵clayjohn2022-08-191-2/+4
|/ | | | 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-7/+7
| | | | | | `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-2/+4
| | | | | | | 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 #59840 from Calinou/renderingserver-global-uniform-renameRémi Verschelde2022-07-281-13/+13
|\
| * Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio2022-07-281-13/+13
| | | | | | | | | | 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-1/+1
|/ | | | | | | | | 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-3/+1
| | | | | 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/+1
| | | | | | | | | * 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/+11
| | | | | 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-4/+4
| | | | | | | | | | | | `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.
* Implement Running Godot as Movie Writerreduz2022-06-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | * Allows running the game in "movie writer" mode. * It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time). * If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult. * Implements a simple, default MJPEG writer. This new features has two main use cases, which have high demand: * Saving game videos in high quality and ensuring the frame rate is *completely* stable, always. * Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this). **Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly). Usage: $ godot --write-movie movie.avi [scene_file.tscn] Missing: * Options for configuring video writing via GLOBAL_DEF * UI Menu for launching with this mode from the editor. * Add to list of command line options. * Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
* Initial TAA implementationjfons2022-06-071-1/+4
| | | | | | 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-1/+1
| | | | 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 `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.
* Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde2022-05-021-1/+1
| | | | | | | | | | | Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
* Restore antialiasing for `draw_line`Yuri Roubinsky2022-04-121-1/+1
|
* Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enumHugo Locurcio2022-03-171-1/+8
| | | | | | | | | | 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>
* 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
|/
* Merge pull request #39965 from Calinou/tweak-sdfgi-defaultsRémi Verschelde2022-02-101-2/+2
|\
| * Tweak default SDFGI settings for better qualityHugo Locurcio2022-02-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | Merge pull request #57628 from Calinou/shadow-atlas-default-enable-16-bitsRémi Verschelde2022-02-101-2/+2
|\ \
| * | Enable 16-bit shadow atlas by default in the RenderingServer methodsHugo Locurcio2022-02-041-2/+2
| |/ | | | | | | | | | | | | | | | | 16-bit shadow atlases are already the default in the project settings, but low-level methods used 24-bit shadows by default. This makes low-level methods more consistent with the default project settings to avoid accidental performance issues when users change the shadow size at run-time.
* / Fix BLEND_SHAPE_MASKreduz2022-02-081-1/+1
|/ | | | | * Should now be correct * Supersedes 53738
* Merge pull request #54574 from Ansraer/glow_mapRémi Verschelde2022-01-261-1/+1
|\
| * add support for glow mapsAnsraer2022-01-201-1/+1
| |
* | Merge pull request #55360 from Calinou/rename-bake-mode-propertiesRémi Verschelde2022-01-201-1/+1
|\ \ | |/ |/|
| * Rename and reorder bake mode properties for consistencyHugo Locurcio2021-12-141-1/+1
| | | | | | | | | | | | | | | | The order now goes from least to most computationally expensive: - Disabled - Static - Dynamic
* | Revert "Add new scaling modes for splash screen"Rémi Verschelde2022-01-191-11/+1
| | | | | | | | | | | | | | 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.