Archived
1
Fork 0
Commit graph

90 commits

Author SHA1 Message Date
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
3e0f294d0c Enable IBL by default on Windows 2021-05-11 16:04:13 -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
redstrate
c7efea5258 Add more windowing stuff to Linux backend, fix some other clang-analyze bugs 2021-02-18 08:31:36 -05:00
redstrate
1a324e61af Remove dynamic data system, replace it on the renderer level 2021-02-17 08:51:47 -05:00
redstrate
bb00009041 Put imgui buffers into render targets
Makes imgui multiviewports work now!
2021-02-17 01:32:46 -05:00
redstrate
77c9561868 Re-enable multiviewport
Also fixes a bunch of stuff to make multiviewport way more stable
2021-02-17 01:09:12 -05:00
redstrate
1f98e19819 Fix compile issues on Vulkan, make render targets work in editor 2021-02-17 00:47:05 -05:00
redstrate
8e781f3b5c Support new render target api in editor 2021-02-17 00:15:59 -05:00
redstrate
a6a46abb36 Begin transition to new render target system
Things are definitely broken now
2021-02-16 19:22:32 -05:00
redstrate
e8fc757d99 Add basic shader editing system
POC, only registered shader is the sky shader
2021-02-16 17:10:37 -05:00
redstrate
86efe2abf9 Fix up IBL stuff on Vulkan 2021-02-15 19:01:17 -05:00
redstrate
6d77396b4d Support CopyTexture command on Vulkan 2021-02-15 17:59:54 -05:00
redstrate
3e4cf70c8e Fix compilation issues on GCC/Linux 2021-02-15 15:06:13 -05:00
redstrate
572388c6c5 Remove unused start_render function 2021-02-08 17:41:57 -05:00
redstrate
f5f107b0b4 Disable IBL on Windows
There isn't enough features on the Vulkan backend to prevent it from crashing :V
2021-02-05 20:21:25 -05:00
redstrate
73fa35b674 Non-mac platforms can finally load the proper imgui font 2021-02-05 20:05:10 -05:00
redstrate
63f844a20d Batch viewport render commands with main render commands
I don't know why I did it the other way...?
2021-02-05 19:35:13 -05:00
redstrate
e9bb4bc82c More debug label changes 2021-02-05 19:17:13 -05:00
redstrate
ae599ba744 Make fragment shader stage optional
Removes the fragment on (normal) shadow pass
2021-02-04 09:36:06 -05:00
redstrate
a8f3122ed9 Change wrong shader inputs 2021-02-04 09:01:39 -05:00