summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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
|/
* Fix wrong type casting for octahedral tangentsnklbdev2023-07-011-9/+9
|
* Binding LIGHT_PARAM_INTENSITY in RenderingServerAlex Drozd2023-06-221-0/+1
|
* Set both texture format overrides to false by defaultAaron Franke2023-06-121-1/+4
|
* Enable S3TC_BPTC but not ETC2_ASTC by defaultAaron Franke2023-06-091-2/+2
|
* Merge pull request #74711 from BastiaanOlij/add_texture_native_handleRémi Verschelde2023-05-091-0/+1
|\ | | | | | | Provide access to internal graphics handles for textures
| * For GDExternal use, provides access to internal graphics handles for texturesBastiaan Olij2023-05-091-0/+1
| |
* | Merge pull request #73588 from ↵Rémi Verschelde2023-05-091-0/+10
|\ \ | |/ |/| | | | | | | smosages/resolve-display-shader-settings-in-settings-editor Define shader language project settings before creation of `TextShaderEditor` object.
| * Move ShaderWarning definitions into rendering_serversmosages2023-02-251-0/+10
| |
* | Merge pull request #76418 from reduz/method-bind-validated-callRémi Verschelde2023-05-081-1/+11
|\ \ | | | | | | | | | Add ValidatedCall to MethodBind
| * | Add ValidatedCall to MethodBindJuan Linietsky2023-04-301-1/+11
| | | | | | | | | | | | | | | | | | | | | * This should optimize GDScript function calling _enormously_. * It also should simplify the GDScript VM considerably. NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
* | | Merge pull request #75517 from BastiaanOlij/expose_render_targetMax Hilbrunner2023-05-051-0/+1
|\ \ \
| * | | Expose viewports render targer RIDBastiaan Olij2023-03-311-0/+1
| | | |
* | | | Merge pull request #74883 from dalexeev/fix-thin-multiline-colorsMax Hilbrunner2023-05-051-0/+1
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix `draw_multiline_colors()` for `width < 0`Danil Alexeev2023-03-141-0/+1
| |/ /
* | | Fix `setrngth` typo in `particles_collision_set_attractor_strength()`Hugo Locurcio2023-04-131-1/+1
| | |
* | | Fix `get_test_texture()` returning an almost fully white textureHugo Locurcio2023-04-041-3/+3
|/ / | | | | | | | | The texture's appearance is now similar to the texture that was displayed on the TestCube node in Godot 2.x.
* / Merge duplicate rd_texture functionsBastiaan Olij2023-03-101-1/+1
|/