summaryrefslogtreecommitdiff
path: root/servers/rendering_server.cpp
AgeCommit message (Collapse)Author
2023-01-21Use range iterators in LocalVector loopskobewi
2023-01-20Add mutex when adding geometry instances to the dirty list in the Forward ↵clayjohn
Clustered renderer
2023-01-20Merge pull request #71679 from kleonc/draw_polyline_line_stripRémi Verschelde
`CanvasItem::draw_polyline` Support thin polylines drawn using line strip
2023-01-19CanvasItem::draw_polyline Support thin polylines drawn using line stripkleonc
2023-01-19Fix LOD sort order; checks in add_surface; and document all parameters of ↵RedworkDE
`ArrayMesh::add_surface_from_arrays` Also clarify some related documentation and expose the misssing `ArrayFormat::ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY`
2023-01-16Fix scaling issue in `draw_line` and similar methodsDanil Alexeev
2023-01-12Add framework for avoidance of color flash in new windowsPedro J. Estébanez
2023-01-08Use BitField<> hint for ArrayFormatJuan Linietsky
This was missing in the conversion of bitflags to BitField<>.
2023-01-06Merge pull request #68429 from KoBeWi/PropertySettingsRémi Verschelde
Add PropertyInfo overload for GLOBAL_DEF
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-23Merge pull request #69998 from BastiaanOlij/sorting-pivot-4Rémi Verschelde
Added options for sorting transparent objects (port of PR #63040)
2022-12-23Added options for sorting transparent objects (port of PR 63040)Bastiaan Olij
2022-12-17Scale MSDF font outline with the font size and MSDF source size to match ↵bruvzg
dynamic font behavior.
2022-12-13Remove high quality glow as it is not any higher quality than regular glowclayjohn
2022-12-11Add PropertyInfo overload for GLOBAL_DEFkobewi
2022-11-22Fix some switching decisions for index format.ueshita
2022-11-19RenderingServer::create_local_rendering_device null check and docsdzil123
Co-authored-by: Clay John <claynjohn@gmail.com>
2022-11-15Merge pull request #67948 from DeeJayLSP/split_webpRémi Verschelde
Overhaul WebP packer and split compression options
2022-11-15Overhaul WebP packer and split compression optionsDeeJayLSP
2022-11-11Merge pull request #68186 from pkdawson/expose-texture-rdRémi Verschelde
Expose texture_get_rd_texture for scripts
2022-11-08Remove duplicate project settings definitionskobewi
2022-11-03Expose texture_get_rd_texturePatrick Dawson
2022-10-31Viewport canvas cull mask featureBimDav
Co-authored-by: Valentin Zagura <puthre@gmail.com>
2022-10-14Implement multiple clip_children modes for CanvasItemsclayjohn
2022-10-13Optimize Convex CollisionJuan Linietsky
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.
2022-10-11Merge pull request #67000 from RandomShaper/split_render_furtherRémi Verschelde
Polish rendering driver refactor further
2022-10-06Polish rendering driver refactor furtherPedro J. Estébanez
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.
2022-10-06Use a giant UBO to optimize performance in 2Dclayjohn
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.
2022-10-05Fix crash when executing `RenderingServer.mesh_surface_get_format_offset`Haoyu Qiu
2022-09-22Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1Rémi Verschelde
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.
2022-09-19Split rendering driver project setting into renderer_name and ↵clayjohn
rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
2022-09-14Decode octahedral compression when retreiving meshesclayjohn
2022-09-02Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde
2022-09-02Merge pull request #64952 from Chaosus/vs_rename_uniform_to_paramRémi Verschelde
2022-09-01Merge pull request #60185 from Calinou/environment-fog-and-sky-affectRémi Verschelde
2022-09-01Add Environment properties to control fog rendering on background skyHugo Locurcio
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.
2022-09-01Change Array arguments to TypedArraykobewi
2022-09-01Rename `uniform` to `parameter` across the engineYuri Rubinsky
2022-08-31Implement Physical Light Units as an optional setting.clayjohn
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.
2022-08-30Add a per-light volumetric fog energy propertyHugo Locurcio
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.
2022-08-30Merge pull request #63003 from Geometror/msaa-2dRémi Verschelde
2022-08-26Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0Rémi Verschelde
2022-08-24Replace Array return types with TypedArray 3kobewi
2022-08-23Replace Array return types with TypedArray 2kobewi
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-22Merge pull request #60309 from The-O-King/octRémi Verschelde
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-13Octahedral Normal/Tangent CompressionOmar El Sheikh
Implementation of Octahedral normal compression into Godot 4.0
2022-08-13Implement MSAA for 2D [Vulkan only]Hendrik Brucker
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.