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
f49ef792ab
Remove old macro'd render options
2022-03-06 19:17:09 -05:00
46f9e99b94
Revert changing buffer index locations
...
This appeases Metal again
2022-03-06 17:23:01 -05:00
bbff84eb61
Actually disable normal shadowing
2022-02-21 17:09:32 -05:00
a456dcb41a
Disable expensive normal self-shadowing by default
2022-02-21 17:05:41 -05:00
0265f1920e
Default initialize some more variables in example
2022-02-21 00:15:46 -05:00
b0d875832d
Add [[nodiscard]] to some more methods
2022-02-21 00:14:47 -05:00
4d9a333781
Remove, cleanup some constructors
2022-02-21 00:14:12 -05:00
516c2129eb
Remove old font.hpp
2022-02-21 00:12:09 -05:00
3cdeebf6bc
Reduce the indices of the vertex buffers in an attempt to make WebGPU happy
2022-02-20 22:28:54 -05:00
6935f85351
Start work on converting GFXMetal to metal-cpp
2022-02-15 11:25:13 -05:00
e910425dc5
iOS builds now successfully build
2022-02-12 20:24:54 -05:00
9ee41d01b6
Remove some old and unused render pipelines
2022-02-08 09:37:39 -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
redstrate
e79a98c7d2
Some minor code refactoring
2021-10-14 08:51:58 -04:00
redstrate
c6bc56d033
Change window handles into opaque pointers
2021-10-12 10:22:16 -04:00
redstrate
626e314ec2
Completely remove the defunct UI system
2021-09-13 23:10:26 -04:00
redstrate
9951ffa58e
Rename vecX -> floatX
2021-05-12 09:56:44 -04:00
redstrate
01966c1d81
Rename File -> file and move under the prism namespace
2021-05-12 08:50:02 -04:00
redstrate
3e0f294d0c
Enable IBL by default on Windows
2021-05-11 16:04:13 -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
2552398aff
Rename some Renderer functions to make their intent clearer
2021-04-19 11:40:10 -04:00
redstrate
aac44f763c
Fix multiviewports crashing on Linux
2021-02-24 14:18:51 -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
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
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
482c7ef748
Fix vulkan backend validation errors
2020-09-23 09:53:45 -04:00
redstrate
f10b5fd62b
Add debug toggle for dynamic resolution
2020-09-22 22:10:02 -04:00
redstrate
91600b5f6f
Add toggle for experimental depth of field effect
2020-09-22 21:47:11 -04:00
redstrate
24d3ac12c1
Add auto exposure mode
2020-09-22 20:05:51 -04:00
redstrate
4b4fc0b00d
Add buffer/image binding for compute, and add histogram construction
2020-09-22 17:27:10 -04:00
redstrate
41ef1c33f5
Add framework for compute shaders
2020-09-22 15:39:20 -04:00
redstrate
bcac561a1e
Create color space and tonemapping render options
2020-09-22 15:25:06 -04:00
redstrate
2ffd1a421e
Remove even more includes
2020-09-21 09:37:52 -04:00
redstrate
29633020c9
Remove unnecessary includes
2020-09-20 23:31:03 -04:00
redstrate
9af4c2f2c4
Move frustum class into renderer
2020-08-19 22:09:14 -04:00
redstrate
b2deff18aa
Remove correction_matrix, produce left-handed transforms, and fix PCSS shadowing
2020-08-18 00:35:49 -04:00
redstrate
66858c687f
Render all parts in mesh thumbnail, and use bounding box to determine camera distance
2020-08-17 08:45:28 -04:00
redstrate
6db47e272f
Add query for shader language accepted by the current GFX api
2020-08-15 20:32:02 -04:00
redstrate
80fd8a375b
Unify standalone and runtime shader compiler, rename old ShaderCompiler to MaterialCompiler
2020-08-15 20:09:16 -04:00