summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
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-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-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
2020-11-15Fix new transform to pixel snapping logicRémi Verschelde
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2020-11-10Remove Attempted to free invalid ID errorRafał Mikrut
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-11-06Fix "unifom" typo in RasterizerStorageRD methodHugo Locurcio
2020-11-04Implement DirectionalLight2Dreduz
Also separated Light2D in PointLight2D and DirectionalLight2D. Used PointLight2D because its more of a point, and it does not work the same as OmniLight (as shape depends on texture). Added a few utility methods to Rect2D I needed.
2020-11-02Alpha Hash and Alpha2Coverage ImplementationMarios Staikopoulos
2020-10-30Refactor pixel snapping.reduz
-Rename pixel_snap to snap_2d_to_vertices -Added snap_2d_to_transforms which is more useful Fixes #41814 Solves proposal https://github.com/godotengine/godot-proposals/issues/1666 Supersedes #35606, supersedes #41535, supersedes #41534
2020-10-28Implement CanvasGroup and CanvasItem clippingreduz
-Allows merging several 2D objects into a single draw operation -Use current node to clip children nodes -Further fixes to Vulkan barriers -Changed font texture generation to white, fixes dark eges when blurred -Other small misc fixes to backbuffer code.
2020-10-25Merge pull request #43058 from clayjohn/VULKAN-FXAA-bugRémi Verschelde
[4.0]Remove extra exposure multiply in FXAA
2020-10-24Remove extra exposure multiply in FXAAclayjohn
2020-10-24Refactored 2D shader and lighting systemreduz
-Removed normal/specular properties from nodes -Create CanvasTexture, which can contain normal/specular channels -Refactored, optimized and simplified 2D shaders -Use atlas for light textures. -Use a shadow atlas for shadow textures. -Use both items aboves to make light rendering stateless (faster). -Reorganized uniform sets for more efficiency.