Archived
1
Fork 0
Commit graph

106 commits

Author SHA1 Message Date
3229c4fa2c Another big WebGPU compatibility patch
All specialization constants are removed (they cause trouble in
WebGPU, since they don't support array sizing, and it was a pain
in Metal anyway) - they are now macro defined. WebGPU now runs, although
push constant emulation is not implemented yet.
2022-03-07 00:33:44 -05:00
a0d92be759 Start to separate combined image samplers
This is to be in line with requirements from HLSL/DX12 and WebGPU,
both of which do not support this. It's probably better to get
started removing our usage of them now :-)
2022-03-06 22:45:08 -05:00
1c8e563e10 Static cast to float in ShadowPass::render_sun 2022-03-06 19:17:32 -05:00
9dc43d9502 Add material path to pipeline debug name 2022-03-06 17:22:45 -05:00
a039d43d2e Fix a stupid typo in materialcompiler.cpp 2022-02-21 15:57:38 -05:00
7b67ed73d8 Use fmt::memory_buffer in material compiler 2022-02-21 13:20:55 -05:00
ea3049cb8a Remove default arguments in GFX api 2022-02-21 00:16:02 -05:00
e13af96a72 Remove some unnecessary header includes 2022-02-21 00:13:45 -05:00
da45d16388 Protect against buffers that actually don't have their contents mapped 2022-02-18 17:38:27 -05:00
4f6dbb8677 Only run SMAA when AA is actually enabled 2022-02-18 14:37:51 -05:00
8237eeb05b Fix Metal backend (finally) 2022-02-18 14:36:38 -05:00
6935f85351 Start work on converting GFXMetal to metal-cpp 2022-02-15 11:25:13 -05:00
840a1e861f Add back support for normal textures in material compiler 2022-02-15 09:02:42 -05:00
9ee41d01b6 Remove some old and unused render pipelines 2022-02-08 09:37:39 -05:00
2c75d51278 Add parameters for metallic and roughness back
This also makes them modifiable in the debug menu at runtime
2022-02-08 08:50:10 -05:00
78078e92cd Fix multiple point light shadows on Vulkan
Light locations had to be padded properly, that ended up being the ultimate fix. Leading to this bug though I ended up patching a lot of stuff that was mysteriously missing from the Vulkan backend like specialization constants and
2022-02-07 18:36:23 -05:00
8816d64e42 Don't render shadows unless it's actually enabled on the light 2022-02-07 15:52:11 -05:00
ea93df18dd Remove all push constant binding declarations
This was a leftover from sharing GLSL with Metal and OpenGL, this is now a warning with modern SPIR-V compilers anyway.
2022-02-07 10:11:19 -05:00
8502521934 Rip out the material node system
This was over engineered, and it's blocking progress in the model compiler. Now it's
simpler, but not all features are implemented back.
2022-02-03 10:00:59 -05:00
redstrate
e79a98c7d2 Some minor code refactoring 2021-10-14 08:51:58 -04:00
redstrate
3f2be1e26a Fix viewports not rendering when index == nullptr 2021-10-13 10:38:10 -04:00
redstrate
a78a18a99a Set scissor for imgui commands 2021-10-13 07:25:18 -04:00
redstrate
a2f81d7ca7 Allow better DPI handling under SDL, handle external resize events in imgui 2021-10-12 11:06:59 -04:00
redstrate
8205f65a8e Clean up a bunch of pass/backend code for imgui 2021-10-12 10:52:29 -04:00
redstrate
c6bc56d033 Change window handles into opaque pointers 2021-10-12 10:22:16 -04:00
redstrate
529bc27702 Replace old logging and format system with fmt 2021-09-13 23:41:54 -04:00
redstrate
626e314ec2 Completely remove the defunct UI system 2021-09-13 23:10:26 -04:00
redstrate
e8bf0a8371 Create presentation command buffers for each surface instead of sharing globally
* Fixes multi-window vulkan validation errors because surfaces would just keep overwriting each other's command buffers.
2021-06-01 12:05:48 -04:00
redstrate
2db8873f92 Fix imgui validation errors on Vulkan
* Eventually, get_buffer_contents() will be removed
2021-06-01 12:02:38 -04:00
redstrate
e63caf1a83 Fix some more image transition bugs related to vulkan dispatch 2021-06-01 11:49:27 -04:00
redstrate
f69d7c18fd Fix image layout transistions for mipmap gen 2021-06-01 11:10:58 -04:00
redstrate
e55a71402f Fix auto-exposure in Vulkan
* I forgot to bind the shader buffer again :-p (maybe we should change this functionality under Vulkan
to match Metal rules?)
2021-06-01 10:44:08 -04:00
redstrate
181d2fda06 Fix sampling modes on shadow maps 2021-05-12 10:52:57 -04:00
redstrate
eab8a265f4 Add probe refresh timer (similiar to how shadows work) to generate probes correctly on scene load 2021-05-12 10:33:38 -04:00
redstrate
de928a44ce Implement GenerateMipmaps command in Vulkan 2021-05-12 10:29:29 -04:00
redstrate
9951ffa58e Rename vecX -> floatX 2021-05-12 09:56:44 -04:00
redstrate
fa65e99094 Rename Path -> path 2021-05-12 09:05:56 -04:00
redstrate
01966c1d81 Rename File -> file and move under the prism namespace 2021-05-12 08:50:02 -04:00
redstrate
ee2771f45f Add compute pipeline support for Vulkan
* Image transition layouts are not handled correctly yet, so auto exposure does not work
* Image usage and guessed image layout is redone to remove some errors
2021-05-11 19:16:54 -04:00
redstrate
5546c88cba IBL now works on Vulkan!
* Image transitions are handled more correctly, reducing errors
* Cubemaps are now transitioned properly when using the CopyTexture command
* Cubemap image views are created correctly
2021-05-11 15:57:14 -04:00
redstrate
87f15b2007 Completely redo the CMake shader compilation system
* Now shader recompilation happens only when it needs to. Hurray for faster compiles!
* Changes to constructors for ShaderSource to make it more explicit.
* The version of SPIRV-Cross is updated, and now the glslang version pulled correctly matches what SPIRV-Cross needs. This fixes the annoying "cannot parse built-ins" bug.
2021-05-09 19:10:23 -04:00
redstrate
7b23fdfa09 Rename Renderer to renderer, move it to prism namespace, and rename last of member variables 2021-04-20 13:53:38 -04:00
redstrate
ff8e52ed90 Rename Renderer member variables and remove some unused b its 2021-04-20 13:25:59 -04:00
redstrate
bae6d05184 Move console and log namespaces to prism 2021-04-20 11:23:53 -04:00
redstrate
a324821fe1 The unorm render pass is now created again 2021-04-19 23:39:34 -04:00
redstrate
2552398aff Rename some Renderer functions to make their intent clearer 2021-04-19 11:40:10 -04:00
redstrate
4696ba53a5 Allow shader hot reloading to work regardless of the API used 2021-04-18 22:27:05 -04:00
redstrate
069cf3e84c Delay static shadowmap generation by five frames to prevent them from "sticking" 2021-04-18 22:14:19 -04:00
redstrate
6a26ab4bef Move current frame counting to rendering instead of during the imgui pass 2021-04-18 21:39:53 -04:00
redstrate
aac44f763c Fix multiviewports crashing on Linux 2021-02-24 14:18:51 -05:00