summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|/
* Exclude platform dependent `rendering/textures/vram_compression/import_*` ↵bruvzg2023-02-161-2/+2
| | | | default values from documentation.
* Android: Default Min SDK to 24 for Vulkan mobileRémi Verschelde2023-02-151-2/+2
| | | | | | | | | Users can still go down to 21 when using GL Compatibility. This makes the default behavior match the default renderer, and thus avoids a warning in the out of the box experience. Also mark texture compression settings as basic, since out of the box users who want to export to Android will need to enable ETC2/ASTC manually.
* Move some worker_thread_pool.h includes out of header filesmyaaaaaaaaa2023-02-131-0/+1
|
* Expose RenderingServer.canvas_light_blend_modeclayjohn2023-02-021-0/+1
| | | | This appears to have been missed in the refactor
* 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>
* | Merge pull request #72343 from clayjohn/editor-canvas-bgRémi Verschelde2023-01-311-1/+6
|\ \ | | | | | | | | | Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
| * | Remove viewport_set_disable_environment in favor of ↵clayjohn2023-01-301-1/+6
| | | | | | | | | | | | | | | | | | 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
* | | Refactor high quality texture importJuan Linietsky2023-01-301-4/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Only two texture import modes for low/high quality now: * S3TC/BPTC * ETC2/ASTC * Makes sense given this is the general preferred and most compatible combination in most platforms. * Removed lossy_quality from VRAM texture compression options. It was unused everywhere. * Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA). * Changed MacOS export settings so required texture formats depend on the architecture selected. This solves the following problems: * Makes it simpler to import textures as high quality, without having to worry about the specific format used. * As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
* / Remove cap on number of items drawn in frame in 2D gl_compatibility renderclayjohn2023-01-281-1/+1
|/ | | | | | Also clean up some names to make the overall organization more clear Also remove cap on items per batch
* Use range iterators in LocalVector loopskobewi2023-01-211-3/+1
|
* Add mutex when adding geometry instances to the dirty list in the Forward ↵clayjohn2023-01-201-3/+3
| | | | Clustered renderer
* Merge pull request #71679 from kleonc/draw_polyline_line_stripRémi Verschelde2023-01-201-1/+1
|\ | | | | | | `CanvasItem::draw_polyline` Support thin polylines drawn using line strip
| * CanvasItem::draw_polyline Support thin polylines drawn using line stripkleonc2023-01-191-1/+1
| |
* | Fix LOD sort order; checks in add_surface; and document all parameters of ↵RedworkDE2023-01-191-0/+2
|/ | | | | | `ArrayMesh::add_surface_from_arrays` Also clarify some related documentation and expose the misssing `ArrayFormat::ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY`
* Fix scaling issue in `draw_line` and similar methodsDanil Alexeev2023-01-161-2/+2
|
* Add framework for avoidance of color flash in new windowsPedro J. Estébanez2023-01-121-0/+1
|
* Use BitField<> hint for ArrayFormatJuan Linietsky2023-01-081-38/+38
| | | | This was missing in the conversion of bitflags to BitField<>.
* Merge pull request #68429 from KoBeWi/PropertySettingsRémi Verschelde2023-01-061-119/+55
|\ | | | | Add PropertyInfo overload for GLOBAL_DEF
| * Add PropertyInfo overload for GLOBAL_DEFkobewi2022-12-111-119/+55
| |