summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fixed Timestep Interpolation (2D)Ricardo Buring2024-03-231-0/+9
| | | | | | | Adds fixed timestep interpolation to the rendering server (2D only). Switchable on and off with a project setting (default is off). Co-authored-by: lawnjelly <lawnjelly@gmail.com>
* Add new Parallax2D nodemarkdibarry2024-03-031-0/+1
|
* Merge pull request #86743 from Mickeon/autocompletion-optimise-objectRémi Verschelde2024-03-011-3/+3
|\ | | | | | | Optimise comparisons for Object's `get_argument_options`
| * Optimise Object's `get_argument_options`Micky2024-02-291-3/+3
| |
* | Merge pull request #88738 from clayjohn/mesh_compression-tangentsRémi Verschelde2024-02-271-2/+4
|\ \ | | | | | | | | | Multiple fixes for compressed meshes
| * | Avoid singularity when generated tangents and validate that tangents are ↵clayjohn2024-02-231-2/+4
| |/ | | | | | | good enough when using compression
* / Properly calculate binormal when creating SurfaceTool from arraysclayjohn2024-02-231-1/+1
|/
* Implement hooks into rendererBastiaan Olij2024-02-181-0/+28
|
* Add optional depth fogEidolon2024-02-171-1/+5
|
* Support custom AABB within MultiMesh resourcesArman Elgudzhyan2024-02-151-0/+2
| | | | | - Supporting custom AABB on the MultiMesh resource itself allows us to prevent costly runtime AABB recalculations. - Should also help improve CPU Particle performance.
* Replace error checks against `size` with `is_empty`A Thousand Ships2024-02-091-3/+3
|
* Add a reflection mask to the reflection probes.Marcel Offermans2024-01-201-0/+1
| | | | Co-authored-by: Bastiaan Olij <mux213@gmail.com>
* Deprecate RenderingServer's `has_feature` and Features enumMicky2024-01-101-4/+7
|
* Merge pull request #86798 from Mickeon/autocompletion-rendering-serverRémi Verschelde2024-01-091-0/+19
|\ | | | | | | Add autocompletion for RenderingServer's global shader methods & `has_os_feature`
| * Add autocompletion for RenderingServer's global shader & has_os_featureMicky2024-01-081-0/+19
| |
* | Acyclic Command Graph for RenderingDevice.Dario2024-01-081-1/+0
|/ | | | Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
* Merge pull request #84445 from Rubonnek/add-const-references-clang-tidyRémi Verschelde2024-01-041-1/+1
|\ | | | | | | Add const references detected by clang-tidy
| * Add const references detected by clang-tidyWilson E. Alvarez2023-12-161-1/+1
| |
* | Fix unlimited project option ranges that could cause crashes.G-Shadow2023-12-221-8/+8
|/
* Merge pull request #85811 from clayjohn/2D-render-infoRémi Verschelde2023-12-121-0/+1
|\ | | | | | | Implement render info counters for the 2D renderer
| * Implement render info counters for the 2D rendererclayjohn2023-12-061-0/+1
| | | | | | | | This provides information for the debug monitors
* | Merge pull request #84451 from ShirenY/FixSkeletonMeshCullingRémi Verschelde2023-12-121-0/+10
|\ \ | |/ |/| | | Transform mesh's AABB to skeleton's space when calculating mesh's bounds
| * Transform mesh's AABB to skeleton's space when calculate mesh's bounds.ShirenY2023-12-091-0/+10
| |
* | Add a descriptive error message when creating a mesh surface from arraysAaron Franke2023-12-021-2/+2
| |
* | Avoid division by zero in the fix surface compatibility routineYuri Sizov2023-11-201-32/+34
| |
* | Create tangent array if mesh created without tangentsclayjohn2023-11-071-7/+32
|/ | | | | | This extends our previous change to ensure that compressed meshes have tangents Now we ensure tangents are always used. This greatly simplifies our compression code at the cost of a small amount of bandwidth
* Merge pull request #84252 from clayjohn/ensure_tangentsRémi Verschelde2023-11-021-10/+45
|\ | | | | | | Enhance checks and user experience around tangent arrays in meshes.
| * Enhance checks and user experience around tangents.clayjohn2023-11-011-10/+45
| | | | | | | | | | | | | | | | Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array. Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents. Warn users if they are trying to read from tangents without providing tangents.
* | Overhaul the SurfaceUpgradeToolclayjohn2023-11-011-4/+4
|/ | | | | | | | This defers the update to a fresh restart of the editor (to ensure we aren't mid way through loading scenes anymore. It also ensures that the popup can't be used by multiple threads at once Co-authored-by: Yuri Sizov <yuris@humnom.net>
* Fix multiple issues with UV compressionclayjohn2023-10-301-10/+31
|
* Merge pull request #83840 from clayjohn/mesh-flat-bugRémi Verschelde2023-10-261-11/+8
|\ | | | | | | Ensure `r_aabb` is always used when creating surfaces through the RenderingServer
| * Ensure r_aabb is always used when creating surfaces through the RenderingServerclayjohn2023-10-231-11/+8
| |
* | Some more fixes for compressed meshesclayjohn2023-10-241-16/+16
| | | | | | | | | | | | | | This cleans up a few more cases of uint32_t->uint64_t Importantly this fixes an edge case in the axis-angle compression by using the pre-existing Basis methods instead
* | Merge pull request #83613 from clayjohn/surface_upgrade_toolRémi Verschelde2023-10-241-2/+26
|\ \ | |/ |/| Add an editor tool to automatically upgrade and re-save meshes
| * Implementation of tool to automatically upgrade and re-save meshesclayjohn2023-10-231-2/+26
| |
* | Add property hint for 2D shadow size project settingHugo Locurcio2023-10-221-1/+1
|/ | | | | | | | Previously, it was possible to use zero or negative values, which are invalid. This also prevents crashing the engine by setting a shadow size of 0 or lower from a script.
* Fix disabling depth prepass breaks opaque materialLunarisnia2023-10-151-2/+2
|
* Merge pull request #83179 from clayjohn/tangents-sanitizeRémi Verschelde2023-10-131-0/+12
|\ | | | | | | Sanitize tangents when creating mesh surfaces to avoid triggering the compressed mesh path in the shader
| * Sanitize tangents when creating mesh surfaces to avoid triggering the ↵clayjohn2023-10-131-0/+12
| | | | | | | | compressed mesh path in the shader
* | Cleanup instances of using uint32_t for mesh formatsClay2023-10-121-7/+7
|/ | | | And tidy up some leftovers from the attribute compression PR
* Merge pull request #79527 from QbieShay/qbe/particles-reworkRémi Verschelde2023-10-101-0/+3
|\ | | | | | | Particle internal refactor and additions for more artistic control
| * Particle internal refactor and additions for more artistic controlQbieShay2023-10-101-0/+3
| | | | | | | | | | | | | | | | Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro> Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Co-authored-by: Raul Santos <raulsntos@gmail.com> Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com> Co-authored-by: Clay John <claynjohn@gmail.com>
* | Fix incorrect check in `_dict_to_surf`A Thousand Ships2023-10-091-4/+4
|/
* Vertex and attribute compression to reduce the size of the vertex format.clayjohn2023-10-051-115/+542
| | | | | | | | | | | | | This allows Godot to automatically compress meshes to save a lot of bandwidth. In general, this requires no interaction from the user and should result in no noticable quality loss. This scheme is not backwards compatible, so we have provided an upgrade mechanism, and a mesh versioning mechanism. Existing meshes can still be used as a result, but users can get a performance boost by reimporting assets.
* Disable `lightmapper_rd` module in non-editor builds (and in Android editor)Hugo Locurcio2023-09-291-0/+1
| | | | | | | | | | | | | | | This is consistent with `xatlas_unwrap`, which isn't enabled in non-editor builds and the Android editor either. There is currently no way to use the lightmapper in a non-editor build anyway, as it doesn't expose any methods (and even if there was, there would be no way to perform UV2 unwrapping in the exported project). This reduces binary size of a stripped Linux x86_64 export template build by ~164 KB. This also moves the PrimitiveMesh texel size project setting so that it's defined when the module is disabled, and adds a property hint to it.
* Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support.Dario2023-09-251-1/+3
| | | | Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion.
* 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/+2
|\ | | | | | | Add ability to call code on rendering thread
| * Add ability to call code on rendering threadJuan Linietsky2023-07-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+3
|/