summaryrefslogtreecommitdiffstats
path: root/servers/rendering/rendering_server_default.h
Commit message (Collapse)AuthorAgeFilesLines
* Add option to enable HDR rendering in 2Dclayjohn2023-08-071-0/+1
| | | | | | | This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear. This is necessary for proper HDR screen support in the future.
* Merge pull request #79696 from reduz/call-on-render-threadYuri Sizov2023-07-311-0/+11
|\ | | | | | | Add ability to call code on rendering thread
| * Add ability to call code on rendering threadJuan Linietsky2023-07-261-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As more users use compute in Godot 4, the way they do is most likely incompatible when running on separate threads and will start erroring soon as we improve the thread safety of the render thread. To properly run code on the render thread, this function was added. Use like this: ```GDScript func initialize_compute_code(): .... func update_compute_code(custom_data): ... func _ready(): RenderingServer.call_on_render_thread( initialize_compute_code ) func _process(): RenderingServer.call_on_render_thread( update_compute_code.bind(with_data) ) ```
* | Add custom texture create functionBastiaan Olij2023-07-261-0/+4
|/
* Fix crash when calling get_video_adapter_* in a threaduniveous2023-07-191-14/+17
| | | | co-authored-by: Clay John <claynjohn@gmail.com>
* For GDExternal use, provides access to internal graphics handles for texturesBastiaan Olij2023-05-091-0/+1
|
* Expose viewports render targer RIDBastiaan Olij2023-03-311-0/+1
|
* Merge duplicate rd_texture functionsBastiaan Olij2023-03-101-1/+1
|
* Move some worker_thread_pool.h includes out of header filesmyaaaaaaaaa2023-02-131-0/+1
|
* Merge pull request #72075 from Maran23/extents-to-sizeRémi Verschelde2023-02-011-3/+3
|\ | | | | | | Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
| * Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and ↵Marius Hanl2023-01-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | GPUParticles*3D - Extents are replaced by Size (Size is Extents * 2) - The UI text displays 'Size' - Snapping is adjusted to work with Size - _set and _get handle extents for compatibility Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
* | Remove viewport_set_disable_environment in favor of ↵clayjohn2023-01-301-1/+1
|/ | | | | | viewport_set_environment_mode This allows us to set a default value inherited by child viewports and have child viewports set the value themselves which is needed for disabling the environment in the editor
* Fix scaling issue in `draw_line` and similar methodsDanil Alexeev2023-01-161-1/+1
|
* Add framework for avoidance of color flash in new windowsPedro J. Estébanez2023-01-121-0/+1
|
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Merge pull request #69998 from BastiaanOlij/sorting-pivot-4Rémi Verschelde2022-12-231-0/+1
|\ | | | | | | Added options for sorting transparent objects (port of PR #63040)
| * Added options for sorting transparent objects (port of PR 63040)Bastiaan Olij2022-12-231-0/+1
| |
* | Scale MSDF font outline with the font size and MSDF source size to match ↵bruvzg2022-12-171-1/+1
|/ | | | dynamic font behavior.
* Remove high quality glow as it is not any higher quality than regular glowclayjohn2022-12-131-1/+0
|
* Expose texture_get_rd_texturePatrick Dawson2022-11-031-0/+1
|
* Viewport canvas cull mask featureBimDav2022-10-311-0/+4
| | | | Co-authored-by: Valentin Zagura <puthre@gmail.com>
* Merge pull request #64710 from MinusKube/window-size-crashClay John2022-10-271-0/+2
|\ | | | | Prevent windows from having a size greater than device limit
| * Prevent windows from having a size greater than device limitMinusKube2022-09-041-0/+2
| |
* | Move cluster builder, sdfgi and gi structures to clustered renderer, move ↵Bastiaan Olij2022-10-041-1/+7
| | | | | | | | light and probe elements into storage and reorganise our render_scene method.
* | Split rendering driver project setting into renderer_name and ↵clayjohn2022-09-191-3/+3
|/ | | | rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
* Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde2022-09-021-1/+1
|\
| * Change Array arguments to TypedArraykobewi2022-09-011-1/+1
| |
* | Merge pull request #64952 from Chaosus/vs_rename_uniform_to_paramRémi Verschelde2022-09-021-17/+17
|\ \
| * | Rename `uniform` to `parameter` across the engineYuri Rubinsky2022-09-011-17/+17
| |/
* | 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-14/+23
|/ | | | | | 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.
* 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
| |
* | Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-0/+1
|/
* Rename shader parameter uniform setter/getter methods for consistencyHugo Locurcio2022-08-041-5/+5
| | | | | | `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.
* Merge pull request #59840 from Calinou/renderingserver-global-uniform-renameRémi Verschelde2022-07-281-10/+10
|\
| * Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio2022-07-281-10/+10
| | | | | | | | | | 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.
* Code quality: Fix header guards consistencyRémi Verschelde2022-07-251-1/+1
| | | | | Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
* 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/+3
| | | | | 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.
* Remove Octreelawnjelly2022-07-061-1/+0
| | | | Octree is no longer used in 4.x.
* Split dependency logicBastiaan Olij2022-06-281-2/+8
| | | | | | Split FOG Split visibility notifier Final cleanup of storage classes
* Merge pull request #61221 from BastiaanOlij/split_gi_effectsRémi Verschelde2022-06-231-2/+2
|\
| * Split GI effects and fix stereoscopic rendering of GI effectsBastiaan Olij2022-06-221-2/+2
| |
* | Merge pull request #35758 from zmanuel/eliminate-draw-pendingRémi Verschelde2022-06-221-1/+0
|\ \ | |/ |/| Remove redundant thread sync counter draw_pending
| * Remove redundant thread sync counter draw_pendingManuel Moos2021-03-211-1/+0
| | | | | | | | | | | | | | | | The functions that used it already use a threadsafe FIFO queue to communicate between threads and a sync to have the main thread wait for the render thread. Fixes #35718
* | Implement Running Godot as Movie Writerreduz2022-06-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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).