summaryrefslogtreecommitdiffstats
path: root/servers/rendering/rendering_device.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Obtain supported Vulkan APIBastiaan Olij2021-03-261-1/+1
|
* doc: Sync classref with current sourceRémi Verschelde2021-02-191-1/+1
| | | | And fix various bogus bindings following previous PRs.
* Rewrote how barriers work for faster renderingreduz2021-02-041-5/+7
| | | | | | | | | | | -Added more finegrained control in RenderingDevice API -Optimized barriers (use less ones for thee same) -General optimizations -Shadows render all together unbarriered -GI can render together with shadows. -SDFGI can render together with depth-preoass. -General fixes -Added GPU detection
* doc: Sync classref with current sourceRémi Verschelde2021-01-281-2/+2
|
* Reorganize RenderingDevice barriersreduz2021-01-261-11/+19
| | | | | | | -Removed sync to draw, now everything syncs to draw by default. -Fixed many validation layer errors. -Added support for VkImageViewUsageCreateInfo to fix validation layer warnings. -Texture, buffer, raster and compute functions now all allow spcifying which barriers will be used.
* Add named resources and debug labels in RenderDocclayjohn2021-01-251-0/+6
|
* Shadow map rendering optimizationreduz2021-01-241-0/+1
| | | | | | | -All shadow rendering is done with raster now (no compute) -All shadow rendering is done by rendering directly to the shadow atlas -Improved how buffer clearing is done to optimize the above. -Ability to set shadows as 16 bits.
* Added GPU based cluster builderreduz2021-01-191-2/+3
| | | | Clustering is now GPU based, uses an implementation based on the Activision algorithm.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Rename empty() to is_empty()Marcel Admiraal2020-12-281-2/+2
|
* Reimplement skeletons and blend shapesreduz2020-12-161-1/+1
| | | | Uses compute shaders, which only once, on demand, and all in parallel.
* Refactor MethodBind to use variadic templatesreduz2020-10-181-1/+1
| | | | Removed make_binders and the old style generated binders.
* Environment: Refactor code for readability + moreRémi Verschelde2020-07-011-1/+1
| | | | | | | | | | | | - Makes all boolean setters/getters consistent. - Fixes bug where `glow_hdr_bleed_scale` was not used. - Split CameraEffects to their own source file. - Reorder all Environment method and properties declarations, definitions and bindings to be consistent with each other and with the order of property bindings. - Bind missing enum values added with SDFGI. - Remove unused SDFGI enhance_ssr boolean. - Sync doc changes after SDFGI merge and other misc changes.
* Fix missing DEFVAL in RenderingDevice.storage_buffer_createIgnacio Etcheverry2020-06-291-1/+1
|
* Addition of SDFGI for open world global illuminationJuan Linietsky2020-06-261-4/+16
| | | | Move GI to a deferred pass
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-10/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* New lightmapperJuan Linietsky2020-05-101-2/+2
| | | | | | | -Added LocalVector (needed it) -Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too) -Fixes and changes all around the place -Added library for 128 bits fixed point (required for Delaunay3D)
* Fix missing DEFVAL for RenderingDevice.index_buffer_createIgnacio Etcheverry2020-04-221-1/+1
|
* Add proper type to most public API uses of ArrayJuan Linietsky2020-04-211-6/+16
|
* Exposed RenderingDevice to script APIJuan Linietsky2020-04-201-0/+737
| | | | | | | | | | | | | Also added an easier way to load native GLSL shaders. Extras: Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload. Note: The precommit hooks are broken because they don't seem to support enums from one class being used in another. Feel free to fix this after merging this PR.
* Ability to create local RenderingDevice instances.Juan Linietsky2020-04-181-1/+3
|
* Replace NULL with nullptrlupoDharkael2020-04-021-3/+3
|
* Renaming of servers for coherency.Juan Linietsky2020-03-271-0/+64
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.