summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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-2/+0
|/
* Fix some switching decisions for index format.ueshita2022-11-221-5/+5
|
* RenderingServer::create_local_rendering_device null check and docsdzil1232022-11-191-1/+5
| | | | Co-authored-by: Clay John <claynjohn@gmail.com>
* Merge pull request #67948 from DeeJayLSP/split_webpRémi Verschelde2022-11-151-2/+6
|\ | | | | | | Overhaul WebP packer and split compression options
| * Overhaul WebP packer and split compression optionsDeeJayLSP2022-11-151-2/+6
| |
* | Merge pull request #68186 from pkdawson/expose-texture-rdRémi Verschelde2022-11-111-0/+1
|\ \ | | | | | | | | | Expose texture_get_rd_texture for scripts
| * | Expose texture_get_rd_texturePatrick Dawson2022-11-031-0/+1
| | |
* | | Remove duplicate project settings definitionskobewi2022-11-081-9/+0
|/ /
* / Viewport canvas cull mask featureBimDav2022-10-311-0/+2
|/ | | | Co-authored-by: Valentin Zagura <puthre@gmail.com>
* Implement multiple clip_children modes for CanvasItemsclayjohn2022-10-141-1/+2
|
* Optimize Convex CollisionJuan Linietsky2022-10-131-2/+2
| | | | | | | | Implements the Gauss Mapping optimization to SAT convex collision test. * Described [here](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822403Gregorius_Dirk_TheSeparatingAxisTest.pdf) by Dirk Gregorius. * Requires adding of face information to edges in MeshData * Took the chance to convert MeshData to LocalVector for performance.
* Merge pull request #67000 from RandomShaper/split_render_furtherRémi Verschelde2022-10-111-2/+3
|\ | | | | | | Polish rendering driver refactor further
| * Polish rendering driver refactor furtherPedro J. Estébanez2022-10-061-2/+3
| | | | | | | | | | | | | | | | Mainly: - Make `max_descriptors_per_pool` project setting Vulkan-specific. - Use a common, render driver agnostic magic FourCC for shader binary data. - Downgrade spirv_reflect to Vulkan-only dependency. - Add a `RENDER_DRIVER_*` macro to GLSL shader code for per-driver customizations.
* | Use a giant UBO to optimize performance in 2Dclayjohn2022-10-061-0/+4
|/ | | | | | | | This removes the countless small UBO writes we had before and replaces them with a single large write per render pass. This results in much faster rendering on low-end devices but improves speed on all devices.
* Fix crash when executing `RenderingServer.mesh_surface_get_format_offset`Haoyu Qiu2022-10-051-0/+1
|
* Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1Rémi Verschelde2022-09-221-3/+7
| | | | | | Not sure why I didn't get those before, it may be due to upstream changes (12.2.1 is a moving target, it's basically 12.3-dev), or simply rebuilding Godot from scratch with different options.
* Split rendering driver project setting into renderer_name and ↵clayjohn2022-09-191-10/+4
| | | | rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
* Decode octahedral compression when retreiving meshesclayjohn2022-09-141-6/+8
|
* 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-20/+20
|\ \
| * | Rename `uniform` to `parameter` across the engineYuri Rubinsky2022-09-011-20/+20
| |/
* | 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-20/+25
| |/ |/| | | | | | | | | 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-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