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
a52cd3d71c
Fix WebGPU compile error due to last commit
2022-03-06 22:51:56 -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
e1767e9363
Add more WebGPU draw commands
2022-03-06 21:40:58 -05:00
088fe9875c
Fill alpha on default clear color
2022-03-06 21:40:00 -05:00
3e08319684
Add support for more GFX texture usages to WebGPU
2022-03-06 19:38:17 -05:00
1c8e563e10
Static cast to float in ShadowPass::render_sun
2022-03-06 19:17:32 -05:00
f49ef792ab
Remove old macro'd render options
2022-03-06 19:17:09 -05:00
0d0a37e315
Use unsigned integers in more places
2022-03-06 19:16:54 -05:00
46f9e99b94
Revert changing buffer index locations
...
This appeases Metal again
2022-03-06 17:23:01 -05:00
9dc43d9502
Add material path to pipeline debug name
2022-03-06 17:22:45 -05:00
982ef5090c
Fixup MoltenVK support
...
This makes MoltenVK work on iOS again if you
have #1539 applied :-)
2022-03-06 17:22:15 -05:00
33680efe7b
Appease MSVC
2022-03-04 19:17:07 -05:00
7f479b0e0b
Properly copy data on macOS
...
This also fixes cfg init failing on macOS
2022-02-22 09:34:00 -05:00
e1c688bea7
Completely overhaul shader generation, again
...
Now it's even simpler, and it now generates multiple
shader languages at once! The copying mechanism is now
much simpler on non-mac platforms as well. HLSL is also now a supported shader target language.
2022-02-21 18:07:22 -05:00
e03d0eceac
Add ability to load console commands from a cfg file
2022-02-21 17:37:27 -05:00
4f75d09eaf
Move data folder into example directory
2022-02-21 17:37:10 -05:00
bc67dcce17
Make most render options accessible from console
2022-02-21 17:17:55 -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
8361590294
Don't call new every frame on Vulkan
2022-02-21 17:05:30 -05:00
5d7e98c4be
Enumerate devices on DX12
2022-02-21 16:32:05 -05:00
a039d43d2e
Fix a stupid typo in materialcompiler.cpp
2022-02-21 15:57:38 -05:00
5c8b690d66
Merge remote-tracking branch 'origin/master'
2022-02-21 15:54:17 -05:00
6be0616d1e
Use DX12 by default on Windows
2022-02-21 15:53:42 -05:00
83acffbf5c
Fill out DX12 backend
2022-02-21 15:40:27 -05:00
8e360fa971
Fix MinGW compiler error
2022-02-21 15:29:32 -05:00
7b67ed73d8
Use fmt::memory_buffer in material compiler
2022-02-21 13:20:55 -05:00
5401188196
Allow overriding the gfx backend at runtime
...
You can now specify -vulkan, -metal, etc to the SDL backend.
2022-02-21 12:27:29 -05:00
ca57de8f99
Support GFX dummy a little better
...
There's now more checks to prevent crashing when the
mapped buffer is actually null, like when running with the dummy
backend.
2022-02-21 12:09:14 -05:00
f932f83b89
Output GLSL from shader compiler
...
This should be optimized later :-)
2022-02-21 12:08:27 -05:00
d31715526a
Add file::seek method
2022-02-21 12:07:30 -05:00
477ea95905
Fix metal not getting drawable correctly
2022-02-21 12:07:16 -05:00
9b507aa79a
Fix up macOS build
2022-02-21 11:47:23 -05:00
a3704eb7a9
Improve surface and gfx context creation
...
This is laying some groundwork for a much better way
of determining the best GFX api to use at runtime, and
making it easier to support more GFX backends in the future.
2022-02-21 11:03:34 -05:00
f0a72530b7
Remove some unnecessary cruft from CMakeLists.txt
2022-02-21 10:13:47 -05:00
757f61f433
Fixup GFX dummy header (again, again)
2022-02-21 00:28:39 -05:00
ea3049cb8a
Remove default arguments in GFX api
2022-02-21 00:16:02 -05:00
0265f1920e
Default initialize some more variables in example
2022-02-21 00:15:46 -05:00
ed8adba8ff
Change %lu -> %llu in debug menu
2022-02-21 00:15:02 -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
e13af96a72
Remove some unnecessary header includes
2022-02-21 00:13:45 -05:00
e2eaf2edb8
Remove unnecessary const in string_utils.hpp
2022-02-21 00:12:51 -05:00
82ea9d17a2
Fixup Dummy GFX files, again
2022-02-21 00:12:29 -05:00
516c2129eb
Remove old font.hpp
2022-02-21 00:12:09 -05:00
f71fda776d
Protect against self-assignment in AssetPtr
2022-02-21 00:11:43 -05:00
cc49340cd9
Remove unused MaterialProperty constructor
2022-02-21 00:11:28 -05:00
82eab9bd91
Pass by reference in asset functions
2022-02-21 00:11:13 -05:00
d167471369
Reformat input.cpp
2022-02-20 23:41:40 -05:00