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