summaryrefslogtreecommitdiff
path: root/servers
AgeCommit message (Collapse)Author
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-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-25Merge pull request #48955 from Calinou/editor-tweak-property-hintsRémi Verschelde
Tweak dozens of editor property hints for consistency
2021-05-25Added constants PI, TAU and E to the shader languageJoosep Jääger
2021-05-25Tweak dozens of editor property hints for consistencyHugo Locurcio
- Update Viewport MSAA property hints to match the currently exposed values. - Add some performance hints to property hints.
2021-05-24Merge pull request #48939 from Calinou/screen-orientation-use-enumRémi Verschelde
Use an enum to represent screen orientation in the Project Settings
2021-05-24Use an enum to represent screen orientation in the Project SettingsHugo Locurcio
- Tweak the setting property hint to be more informative. - Make the setting a "basic" setting so it appears when Advanced Settings is disabled. - Remove redundant orientation setting in the iOS export preset. The project setting is now used (like on Android). Projects upgrading from a previous version will have to set the screen orientation again in the Project Settings if it wasn't set to the default value ("landscape").
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-22Merge pull request #48916 from mortarroad/master-convex-hull-portedRémi Verschelde
Replace QuickHull with Bullet's convex hull computer.
2021-05-22Replace QuickHull with Bullet's convex hull computer.Morris Tabor
The code is based on the current version of thirdparty/vhacd and modified to use Godot's types and code style. Additional changes: - extended PagedAllocator to allow leaked objects - applied patch from https://github.com/bulletphysics/bullet3/pull/3037
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-20Merge pull request #48882 from aaronfranke/approx-use-doubleRémi Verschelde
Make is_equal_approx have explicit float and double versions
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-20Make is_equal_approx have explicit float and double versionsAaron Franke
2021-05-20Merge pull request #48855 from Chaosus/shader_array_length_in_structsRémi Verschelde
Implements length() shader function for arrays in structs
2021-05-19Implements length() shader function for arrays in structsYuri Roubinsky
2021-05-19Enable setting of collision iterations in PhysicsServer2DRhathe
This allows fine-tuning of collision iterations for more accurate collision physics with a performance cost.
2021-05-18Fix typo in shader_language.cppYuri Roubinsky
2021-05-13Merge pull request #48640 from BastiaanOlij/blit_shaderRémi Verschelde
2021-05-13Rename the audio `FFT_Size` enum to `FFTSize` for consistencyHugo Locurcio
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-10Dynamic BVH broadphase in 2D & 3D Godot PhysicsPouleyKetchoupp
Port lawnjelly's dynamic BVH implementation from 3.x to be used in both 2D and 3D broadphases. Removed alternative broadphase implementations which are not meant to be used anymore since they are much slower. Includes changes in Rect2, Vector2, Vector3 that help with the template implementation of the dynamic BVH by uniformizing the interface between 2D and 3D math. Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2021-05-10Split RenderDataRD struct from RenderState struct to simplify passing our ↵Bastiaan Olij
render data around the renderer.
2021-05-07OS: Remove native video API only implemented on iOSRémi Verschelde
See discussion in #43811, it was only implemented on iOS and even that implementation was fairly limited. This would best be provided as plugins for Android and iOS without cluttering the shared OS API.
2021-05-07Merge pull request #33577 from Calinou/highlight-control-flow-keywordsRémi Verschelde
Highlight control flow keywords with a different color
2021-05-06Cleanup vulkan capabilities check and add multiview checkBastiaan Olij
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-05-05Merge pull request #48435 from BastiaanOlij/no_repeat_mobile_rendererRémi Verschelde
Remove repeat from forward mobile renderer
2021-05-04Merge pull request #48221 from nekomatata/solver-multithreadedRémi Verschelde
Godot Physics collisions and solver processed on threads
2021-05-04Remove repeat from forward mobile rendererBastiaan Olij
2021-05-03Assorted fixes to UV unwrapping and GPU lightmapperjfons
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for context in case of git blame/bisect: * Fix UV2 unwrapping on import, also cleaned up the unwrap cache code. * Fix saving of RGBA images in EXR format. * Fixes to the GPU lightmapper: - Added padding between atlas elements, avoids bleeding. - Remove old SDF generation code. - Fix baked attenuation for Omni/Spot lights. - Fix baking of material properties onto UV2 (wireframe was wrongly used before). - Disable statically baked lights for objects that have a lightmap texture to avoid applying the same light twice. - Fix lightmap pairing in RendererSceneCull. - Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`. - Port autoexposure fix for OIDN from 3.x. - Save debug textures as EXR when using floating point format.
2021-05-03Create mobile rendererBastiaan Olij
2021-05-01Merge pull request #48341 from sboron/fix-tangent-issueRémi Verschelde
Fix broken tangents in vulkan rendering server on godot 4
2021-05-01fix-tangents-on-rendering-serverStefan Boronczyk
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-30Prevent setting too big or too small Collision Mask and LayerRafał Mikrut
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Fix shader handle constant expressions in function callYuri Roubinsky
2021-04-27Merge pull request #48187 from brakhane/remove-dupe-commentsRémi Verschelde
Remove duplicate comments
2021-04-26Godot Physics collisions and solver processed on threadsPouleyKetchoupp
Use ThreadWorkPool to process physics step tasks in multiple threads. Collisions are all processed in parallel and solving impulses is processed in parallel for rigid body islands. Additional changes: - Proper islands for soft bodies linked to active bodies - All moving areas are on separate islands (can be parallelized) - Fix inconsistencies with body islands (Kinematic bodies could link bodies together or not depending on the processing order) - Completely prevent static bodies to be active (it could cause islands to be wrongly created and cause dangerous multi-threading operations as well as inconsistencies in created islands) - Apply impulses only on dynamic bodies to avoid unsafe multi-threaded operations (static bodies can be on multiple islands) - Removed inverted iterations when populating body islands, it's now faster in regular order (maybe after fixing inconsistencies)
2021-04-25Remove duplicate commentsDennis Brakhane
A few single line comments were duplicated, probably due to bad merges. This commit removes the obviously duplicate ones.
2021-04-24Fix AudioServer Crash when bus count equals 0Maganty Rushyendra