summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
2021-06-14Merge pull request #49584 from timothyqiu/shader-data-null-checkRémi Verschelde
Add missing null check for ShaderData
2021-06-14Merge pull request #49576 from clayjohn/VULKAN-SSAO-uniform-setsRémi Verschelde
Store SSAO uniform sets per viewport
2021-06-14Merge pull request #49585 from timothyqiu/oh-unsignedRémi Verschelde
Fix invalid read when using MultiMesh
2021-06-14Merge pull request #48847 from JFonS/vis_depsRémi Verschelde
Implement visibility range and dependencies
2021-06-14Implement visibility range and dependencies.jfons
This commit adds the following properties to GeometryInstance3D: `visibility_range_begin`, `visibility_range_begin_margin`, `visibility_range_end`, `visibility_range_end_margin`. Together they define a range in which the GeometryInstance3D will be visible from the camera, taking hysteresis into account for state changes. A begin or end value of 0 will be ignored, so the visibility range can be open-ended in both directions. This commit also adds the `visibility_parent` property to 'Node3D'. Which defines the visibility parents of the node and its subtree (until another parent is defined). Visual instances with a visibility parent will only be visible when the parent, and all of its ancestors recursively, are hidden because they are closer to the camera than their respective `visibility_range_begin` thresholds. Combining visibility ranges and visibility parents users can set-up a quick HLOD system that shows high detail meshes when close (i.e buildings, trees) and merged low detail meshes for far away groups (i.e. cities, woods).
2021-06-14Fix invalid read when using MultiMeshHaoyu Qiu
2021-06-14Add missing null check for ShaderDataHaoyu Qiu
2021-06-14Fixed error spam when XR mode is not enabled and a missed setting renameBastiaan Olij
2021-06-13Store SSAO uniform sets per viewportclayjohn
2021-06-13Add stereoscopic rendering through multiviewBastiaan Olij
2021-06-12Make shader compiler again after roughness limiter fixreduz
Fix shader compilation error after merging #49549
2021-06-12Merge pull request #49549 from clayjohn/VULKAN-roughness-limiterJuan Linietsky
Fix roughness limiter derivative
2021-06-12Fix roughness limiter derivativeclayjohn
2021-06-12Fix VoxelGI (works again).reduz
It was broken due to #46046, this makes it work again.
2021-06-12Merge pull request #49520 from pfertyk/issue-46278-empty-texture-crashes-godotRémi Verschelde
Validate texture in RendererStorageRD::free
2021-06-11Validate texture in RendererStorageRD::freePaweł Fertyk
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-10Merge pull request #49456 from Chaosus/fix_shader_lengthYuri Roubinsky
Fix `length()` array function usage in shader
2021-06-10Fix `length()` array function usage in shaderYuri Roubinsky
2021-06-09Refactor CommandQueueMTreduz
* RingBuffer had no reason to be in this context * A single buffer is used that can grow as much as the game needs. This should make thread loading entirely reliable.
2021-06-09Fix shader compilation with render_mode: `specular_phong`Yuri Roubinsky
2021-06-08Removes deleted OrenNayar mode from shaders and materialsYuri Roubinsky
2021-06-06Prevent shader crash when returning array when return type is scalarYuri Roubinsky
2021-06-05Rename GI Classesreduz
* GIProbe is now VoxelGI * BakedLightmap is now LightmapGI As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-06-05Merge pull request #45364 from madmiraal/rename-quatRémi Verschelde
Rename Quat to Quaternion
2021-06-05Deleted YSort, moved its functionality directly into Node2D.andriyDev
YSort now has a compatibility alias to Node2D. Updated TileMap to use the existing Node2D y_sort_enabled property instead of its own property. Updated Node2D doc to include the new y_sort_enabled member. Updated TileMap doc to remove its mention of cell_y_sort. Deleted YSort doc.
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-06-01Move remaining dummy drivers to servers.Fabio Alessandrelli
2021-05-31Merge pull request #49161 from lawnjelly/fix_canvas_rect_bound4Rémi Verschelde
[4.x] Fix canvas rect bound calculation
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-28[4] Fix canvas rect bound calculationlawnjelly
It turns out the calculation of the bounding rect for canvas items has a nasty bug. When a transform is applied (especially in a custom draw), in the renderer this extra matrix is applied to all later commands in the canvas item. However in the calculation of the bound, the transform is only applied to the first command following the transform. This PR fixes this inconsistency.
2021-05-26Makes few shader built-ins constant to prevent changing themYuri Roubinsky
2021-05-25Merge pull request #48837 from Soupstraw/shader-piRémi Verschelde
Added constants PI, TAU and E to the shader language
2021-05-25Merge pull request #48933 from Chaosus/shader_array_paramsRémi Verschelde
Allow shader arrays to be passed as parameters and return value in functions
2021-05-25Added constants PI, TAU and E to the shader languageJoosep Jääger
2021-05-23Support for 2D particles to collide against SDFreduz
-Added SDF collision support for 2D particles -Changed the SDF generation to be fully signed
2021-05-22Allow shader arrays to be passed as parameters and return valueYuri Roubinsky
2021-05-22Basic warning support implementation for the Godot Shading Language.Yuri Roubinsky
2021-05-20Fix instance uniform typoWinston Hartnett
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2021-05-19Implements length() shader function for arrays in structsYuri Roubinsky
2021-05-18Fix typo in shader_language.cppYuri Roubinsky
2021-05-12Implementing blit shader with versionsBastiaan Olij
2021-05-12Merge pull request #48472 from BastiaanOlij/render_stateRémi Verschelde
Make better use of our render_state struct
2021-05-11Fixes missng 2D engine bitsreduz
-Mesh2D now works -MultiMesh2D now works -Polygon2D now works -Added hooks for processing 2D particles -Skeleton2D now works 2D particles still not working, but stuff needed for it is now implemented.
2021-05-10Split RenderDataRD struct from RenderState struct to simplify passing our ↵Bastiaan Olij
render data around the renderer.
2021-05-07Merge pull request #33577 from Calinou/highlight-control-flow-keywordsRémi Verschelde
Highlight control flow keywords with a different color