summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
2020-12-27Merge pull request #44715 from clayjohn/VULKAN-SSAO-cleanupRémi Verschelde
Cleanup leftover functions from adding SSAO
2020-12-27Merge pull request #44705 from Chaosus/shader_fix_array_postinitYuri Roubinsky
Fix using post-init shader array constructors
2020-12-26Cleanup leftover functions from adding SSAOclayjohn
2020-12-26Rewrite culling to be more cache/thread friendly.reduz
-Uses a single array with all data -Massive performance improvement -Does not support threads yet, but code is now thread friendly
2020-12-27Fix using post-init shader array constructorsYuri Roubinsky
2020-12-27Merge pull request #44436 from Chaosus/shader_const_switchYuri Roubinsky
Added support for constants in shader `case` and array size declaration
2020-12-24Merge pull request #44656 from reduz/cull-fixes-and-optimizationsJuan Linietsky
Cull fixes and optimizations
2020-12-24Merge pull request #44649 from lyuma/bone_aabb_blendshapesRémi Verschelde
Fix blendshapes and calculation of bone_aabbs
2020-12-24Cull fixes and optimizationsreduz
2020-12-24Fix BVH to world_aabb, and call updatelawnjelly
The calls to the BVH need to use the world space AABB, rather than local space for it to work. Also, update was not being called which is required to update the AABB as objects move.
2020-12-24Merge pull request #44641 from reduz/get-frame-setup-timeRémi Verschelde
Add API to get frame setup time on CPU
2020-12-24Fix blendshapes and calculation of bone_aabbsLyuma
Blendshapes without a skeleton already worked. However, due to a faulty ERR_FAIL_COND, it was impossible to create a mesh with both bones and blendshapes. This also fixes an assumption that all surfaces reference the same number of bones as surface 0.
2020-12-24Add API to get frame setup time on CPUreduz
Needed for benchmarks
2020-12-23Replace Octree by DynamicBVH in cull codereduz
-Much greater pairing/unpairing performance -For now, using it for culling too, but this will change in a couple of days. -Added a paged allocator, to efficiently alloc/free some types of objects.
2020-12-23Rename Control margin to offsetMarcel Admiraal
2020-12-22Merge pull request #44182 from clayjohn/ASSAORémi Verschelde
Replace SAO with ASSAO as Godot's new SSAO
2020-12-21Port ASSAO to Godot to replace SAOclayjohn
2020-12-21Ensure default value in _render_shadow is the same as parentMarcel Admiraal
Use double instead of int for the p_lod_distance_multiplier default value in RendererSceneRenderForward::_render_shadow to match parent default value in RendererSceneRenderRD::_render_shadow
2020-12-19Merge pull request #44521 from madmiraal/rename-rect2-clipRémi Verschelde
Rename Rect2 and Rect2i clip() to intersection()
2020-12-19Merge pull request #33207 from Calinou/increase-camera-default-zfarRémi Verschelde
Increase the default Camera Zfar to 4000
2020-12-19Increase the default Camera Zfar to 4000Hugo Locurcio
This makes it possible to view far away objects without having to tweak any settings. This results in a more usable editor when working on large-scale levels. This change should have no impact on performance, but note that Z-fighting will be visible at a distance. This can be made less visible by increasing the Znear value (however, doing so will cause nearby surfaces to disappear). This change was also applied to the editor, but it will only apply to newly created scenes. This also changes the default camera settings in the glTF importer to match the Camera node's defaults.
2020-12-19Fix error spam on wrong attachmentreduz
-For now, disable reading from depth this was always broken, needs to be fixed later -Give better error showing binding and set when this happens.
2020-12-19Rename Rect2 and Rect2i clip() to intersection()Marcel Admiraal
2020-12-18Improved shadow rendering efficiencyreduz
-Do not bind attributes that are not needed -Improve a bit more how meshoptimizer interacts with Godot
2020-12-18Implement automatic LOD (Level of Detail)reduz
-Happens on import by default for all models -Just works (tm) -Biasing can be later adjusted per node or per viewport (as well as globally) -Disabled AABB.get_support test because its broken
2020-12-17Added support for constants in shader `case` and array size declarationYuri Roubinsky
2020-12-16Reimplement skeletons and blend shapesreduz
Uses compute shaders, which only once, on demand, and all in parallel.
2020-12-10Fixes to recent Vulkan errorsclayjohn
2020-12-10Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2Rémi Verschelde
We haven't had a proper implementation for COMPRESS_PVRTC2 (which is PVRTC1 2-bpp) in years, so let's drop it instead of keeping a compress type which doesn't work. The other enum values were renamed to clarify that our PVRTC2 and PVRTC4 are respectively PVRTC1 2-bpp and PVRTC1 4-bpp. PVRTC2 2-bpp and 4-bpp are not implemented yet.
2020-12-09Static analyzer fixes:bruvzg
Removes unused code in OS. Fixes return types. Fixes few typos.
2020-12-07Add support for low-end 3D rendering.reduz
-Reduce number of uniform sets from 6 to 4. -Remove features in low end mode, in order to reduce the number of texture units fit to 16.
2020-12-05Merge pull request #36382 from aaronfranke/unhide-the-hiddenRémi Verschelde
Unhide hidden members by renaming them and rebind Mesh enums
2020-12-05Frees CanvasShaderSDF reference (prevents warning at startup)Yuri Roubinsky
2020-12-04Rename RD texture "type" to "texture_type"Aaron Franke
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04Rename RD uniform "type" to "uniform_type"Aaron Franke
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04RenderingServer reorganizationreduz
2020-12-04Merge pull request #44084 from vnen/float-is-realRémi Verschelde
Rename TYPE_REAL to TYPE_FLOAT
2020-12-04Rename TYPE_REAL to TYPE_FLOATGeorge Marques
To be consistent with the naming everywhere else.
2020-12-03Reorganize rendering server.reduz
-Made RenderingServerScene abstract, allowing reimplementation -RenderingServerRaster -> RenderingServerDefault, but this class is going away soon.
2020-12-02Refactored Mesh internals and formats.reduz
-Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES. -Removed compression, it now always uses the most efficient format. -Added support for custom arrays (up to 8 custom formats) -Added support for 8 weights in skeleton data. -Added a simple optional versioning system for imported assets, to reimport if binary is newer -Fixes #43979 (I needed to test) WARNING: -NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change. -NOT backwards compatible with 3.x scenes, this will be eventually re-added. -Skeletons not working any longer, will fix in next PR.
2020-11-30Fixed crash in canvas_item_add_polyline if color arr has incorrect sizeYuri Roubinsky
2020-11-28Merge pull request #42761 from fire/color-grading-3dRémi Verschelde
Environment brightness, contrast, saturation restore with 3d LUT.
2020-11-28Environment brightness, contrast, saturation restore with color correction.clayjohn
Allow gradients and 2d images. Use shader versions for LUT in tonemap Co-authored-by: alex-poe <3957610+CptPotato@users.noreply.github.com> Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com> Co-authored-by: Clay John <claynjohn@gmail.com>
2020-11-28Merge pull request #43828 from Chaosus/restore_line_antialiasingYuri Roubinsky
Restored antialiased lines by emulation using triangle strips
2020-11-28Merge pull request #42987 from clayjohn/VULKAN-sky-onlyRémi Verschelde
Add sky_only setting to DirectionalLight3Ds
2020-11-27Restored antialiased lines by emulation using triangle stripsYuri Roubinsky
2020-11-26Implement signed distance fields for 2D shadersreduz
2020-11-19fix for two incorrectly bound texture formatsJordan Schidlowsky
2020-11-18Check uniform set validity before freeingNick Swoboda
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke