Commit graph

691 commits

Author SHA1 Message Date
Rémi Verschelde
7ba0a69790 Fix crash after rebase on the master branch
Apparently rasterizer is not initialized yet when this is called
the first time, so it crashes.
2019-12-12 17:22:30 +01:00
Matias Pierdomenico
58469c0592 Changed variable name in shader because it was too generic 2019-12-12 17:12:19 +01:00
Rémi Verschelde
1bad89b90d Fix code formatting issues and VS compilation
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.

Fixes #33356.
2019-12-12 17:11:29 +01:00
Juan Linietsky
4b2351f341 Improved Voxel AO settings. 2019-12-12 17:11:20 +01:00
Juan Linietsky
017c944159 Dynamic objects in GIProbes are now affected by propagation parameter. 2019-12-12 17:11:19 +01:00
Juan Linietsky
d4cb4308fa More correctly divide alpha by 8 for mipmaps, fixes voxel overocclusion. 2019-12-12 17:11:17 +01:00
Juan Linietsky
583538bb90 Changed SDF processing to smooth out shadows. 2019-12-12 17:11:16 +01:00
Juan Linietsky
144d034dec Several fixes to GIProbes 2019-12-12 17:11:13 +01:00
Juan Linietsky
e283b517ff Fixes to how anisotropy is handled, makes it work on nvidia. 2019-12-12 17:11:12 +01:00
Juan Linietsky
4f1275ab36 Fixed uninitialized memory bug in voxelizer 2019-12-12 17:11:11 +01:00
Juan Linietsky
2999811c63 Use a different strategy to get textures from GPU (via buffers), for more compatibility. 2019-12-12 17:11:09 +01:00
Juan Linietsky
6d8bf4f80d AO support for GIProbe (right on time for Godot Sprint!) 2019-12-12 17:10:19 +01:00
Juan Linietsky
f40012574a GIProbe now generates a distance field on bake using CPU, for better compatibility 2019-12-12 17:10:16 +01:00
Juan Linietsky
7cfa9396d4 Dynamic object support for GI Probes (a bit buggy still) 2019-12-12 17:10:16 +01:00
Juan Linietsky
871311d337 More GIProbe work and fixes 2019-12-12 17:10:15 +01:00
bruvzg
4a2b97dffa Fix Vector3 ambiguities and out of bounds init. 2019-12-12 17:10:05 +01:00
Juan Linietsky
3b2f85ccbb Fixed display menu visualizations. 2019-12-12 17:09:48 +01:00
Juan Linietsky
afb3e744c6 Better GIProbe quality settings. 2019-12-12 17:09:46 +01:00
Juan Linietsky
c530709204 Missing proper comparison for depth pre-pass. 2019-12-12 17:09:45 +01:00
Juan Linietsky
307f84b43a GIProbes working. 2019-12-12 17:09:36 +01:00
Juan Linietsky
514236a97c Rewritten StreamTexture for better code reuse, added basis universal support 2019-12-12 17:09:05 +01:00
Juan Linietsky
a345f50c8b Untested support for compute shaders 2019-12-12 17:09:04 +01:00
Juan Linietsky
cd72b19320 Skeletons are now working. 2019-12-12 17:08:50 +01:00
Rémi Verschelde
aeb155ce99 Merge pull request #32281 from Chaosus/vk_shader_array_varying2
[Vulkan] Implement shader array support for varyings
2019-12-12 17:08:39 +01:00
Yuri Roubinsky
e3938a09dd [Vulkan] Implement shader array support for varyings
Remake of #32175
2019-12-12 17:08:38 +01:00
Rémi Verschelde
efa8d6b1d0 Merge pull request #32280 from Chaosus/vk_shader_switch2
[Vulkan] Implements switch flow control operator in shaders
2019-12-12 17:08:37 +01:00
Yuri Roubinsky
4d8411acc6 [Vulkan] Implements switch flow control operator in shaders 2019-12-12 17:08:26 +01:00
Juan Linietsky
ccaf7d5c35 Properly working instancing, and compatibility fixing for old meshes 2019-12-12 17:08:06 +01:00
Juan Linietsky
a0a7732aec Visual GPU profiler and related profiling support in Vulkan. 2019-12-12 17:08:05 +01:00
Juan Linietsky
3f6b9c8611 Proper texture reloading (was broken). 2019-12-12 17:08:03 +01:00
Juan Linietsky
8501b37b8f Modernized default 3D material, fixes material bugs. 2019-12-12 17:08:02 +01:00
Juan Linietsky
7919ef863b Several fixes to 3D rendering, and multimesh implementation. 2019-12-12 17:08:00 +01:00
Juan Linietsky
bae6f608d2 Reflection probes working 2019-12-12 17:08:00 +01:00
Juan Linietsky
6651336a8a Directional light cleanup. 2019-12-12 17:07:49 +01:00
Juan Linietsky
dd875c2c3c Directional lights and shadow mapping are functional. 2019-12-12 17:07:49 +01:00
Juan Linietsky
5f6ed2349c Rewrote large part of rendering, omni and spot shadows now work. 2019-12-12 17:07:48 +01:00
Juan Linietsky
8f5dc4f06c Tonemapping ported (not all parameters supported yet, only enough to get correct color) 2019-12-12 17:07:48 +01:00
Juan Linietsky
7db3532b2e Environment sky more or less working. 2019-12-12 17:07:47 +01:00
Rémi Verschelde
aaeac6633d Merge pull request #31527 from Chaosus/vk_shader_array_support2
[Vulkan] Implemented local shader arrays
2019-12-12 17:07:33 +01:00
Yuri Roubinski
b994cdbdc6 [Vulkan] Implemented local shader arrays 2019-12-12 17:07:32 +01:00
Rémi Verschelde
8fc7efb3d7 Merge pull request #31526 from Chaosus/shader_bug_vk2
[Vulkan] Fix ternary operator shader compiler expression
2019-12-12 17:07:29 +01:00
Yuri Roubinski
f7812b3ee6 [Vulkan] Fix ternary operator shader compiler expression 2019-12-12 17:07:29 +01:00
Yuri Roubinski
d49b6a72de [Vulkan] Implemented do/while loops for shaders 2019-12-12 17:07:19 +01:00
Juan Linietsky
bb712cca18 Yay very basic 3D (only white) finally shows. 2019-12-12 17:06:46 +01:00
Juan Linietsky
75299f4a63 Base 3D engine done, still untested, though. 2019-12-12 17:06:38 +01:00
Juan Linietsky
112c4c546c Vulkan/RD rasterizer now does clean exit. 2019-12-12 17:05:11 +01:00
Juan Linietsky
9b71f07c64 Fix comment 2019-12-12 17:05:07 +01:00
Rémi Verschelde
9b2dc59003 Merge pull request #29993 from bruvzg/vulkan
Initial Vulkan support for macOS (MoltenVK) and Windows
2019-12-12 17:04:53 +01:00
bruvzg
397545e97f Add runtime GLES2 / Vulkan context selection. 2019-12-12 13:48:47 +01:00
bruvzg
142188639c Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2019-12-12 13:19:45 +01:00