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
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