c0928ea80c
Reformat platform code
2022-08-15 11:09:43 -04:00
f790b83c37
Fix up macOS SDL backend to accodomate the new engine base data
2022-06-27 10:09:07 -04:00
ca2c2c9d3d
Move all engine-specific models, materials etc. to a new base directory
...
This is a huge change, and basically breaks everything (as per usual!)
First of, this includes stuff like shaders so anything involving those
are broken and then fixed. A new BuildAssets cmake file is added to
aid in running AssetCompiler, and it seems to work fine on the engine
base assets.
The File API will eventually be revamped to handle this new way of
organizing the files and domains will eventually be gotten rid of all
together since I probably will replace it with game directory
priorities. As it stands right now, there isn't a way to easily
replace say - render_options.cfg with your own game-specific version.
Apple builds are probably broken by this commit (since I'm moving
around content and shader directories) to be fixed later.
2022-05-21 18:28:48 -04:00
cbf1246e2f
Change some references to "data" to the new "game" directory
...
This isn't comprehensive, but will get some things to work.
2022-05-21 17:49:24 -04:00
6645549da4
Fix bug in SDL platform code that could result in things crashing
...
The current app is now properly set, which is used in the model compiler
for example in its app_main.
2022-05-21 17:47:53 -04:00
5db6f02742
Actually use SKIP_DATA variable when adding platform executable
2022-05-21 17:47:15 -04:00
7a53ce8db4
Don't use a dummy vulkan window when initializing SDL backend
2022-04-04 09:36:11 -04:00
d219f0c85b
Handle data directories for games not named example, and also support out of tree builds
2022-03-09 18:17:04 -05:00
e1767e9363
Add more WebGPU draw commands
2022-03-06 21:40:58 -05:00
45a33c55a2
Fixup Web build to handle new data and shader locations
2022-03-06 19:38:04 -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
5d0f629ca7
Remove hardcoded path (wow)
...
great programming only happens here
2022-02-22 09:28:45 -05:00
312de5312c
Attempt to fix CI build
2022-02-21 18:18:19 -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
4f75d09eaf
Move data folder into example directory
2022-02-21 17:37:10 -05:00
e5fddf2c67
Fixup merge
2022-02-21 15:55:11 -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
ba4d15886f
Protect against MinGW including Windows RT
2022-02-21 15:41:42 -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
138cbf3f4b
Now try Metal, Vulkan and then finally Dummy in that order
...
This only applies to the SDL backend though, this will be expanded
upon though.
2022-02-21 12:09:43 -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
9b507aa79a
Fix up macOS build
2022-02-21 11:47:23 -05:00
54c95b9ddd
Link against SDL2::SDL2 if found
2022-02-21 11:09:55 -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
b996c7a1e4
Add missing shell file
2022-02-21 08:56:29 -05:00
6d9602b12a
When building on Linux, prefer using the SDL2 config module
...
This is shipped by SDL2 itself, so it should be the preferred way
of finding it. Since SDL2 does not ship it in their Windows
development libraries, we still need to use the regular Find module.
2022-02-21 07:53:08 -05:00
a7ee5451fb
Add missing uikit files (oops)
2022-02-20 23:28:18 -05:00
bff540956b
Add initial WebGPU GFX functions
...
This doesn't work yet of course :-)
2022-02-20 20:05:05 -05:00
f96d6da92a
Support better stack traces on web
2022-02-18 17:39:02 -05:00
38933b1ca6
Fix some unreachable errors in web platform
2022-02-18 17:38:41 -05:00
e0eace9f74
Initialize WebGPU properly
2022-02-18 17:19:37 -05:00
79bc598ef9
Fill out web platform backend with a main loop
2022-02-18 16:57:14 -05:00
fe45e382bc
Add simple web backend
2022-02-18 16:36:48 -05:00
dfcade8a29
Move even more common iOS/tvOS files
2022-02-18 15:18:09 -05:00
2771be2a57
Fix tvOS build, move common UIKit stuff into it's own folder
2022-02-18 15:13:16 -05:00
3cdb75a8f6
Enable ProMotion support for the new iPhones
2022-02-18 14:37:36 -05:00
50589e7e77
Touch up main storyboard for iOS
2022-02-18 14:37:02 -05:00
8237eeb05b
Fix Metal backend (finally)
2022-02-18 14:36:38 -05:00
86a51e259d
Only link to GFXMetal when metal is enabled
2022-02-18 08:44:17 -05:00
93c2639539
Enable Metal by default on SDL backend
2022-02-15 11:29:56 -05:00
6935f85351
Start work on converting GFXMetal to metal-cpp
2022-02-15 11:25:13 -05:00
8b9e8c29ef
Use VK_EXT_metal_surface on iOS
2022-02-12 20:52:10 -05:00
b39e539a37
Correctly add resources to iOS app bundle
2022-02-12 20:31:37 -05:00
d1e4e1aff5
Statically link to CoreGraphics and Metal on iOS
2022-02-12 20:27:33 -05:00
e910425dc5
iOS builds now successfully build
2022-02-12 20:24:54 -05:00
e77efa542e
Correctly pass plist into configure_file on iOS
2022-02-12 20:06:31 -05:00
2b5fd7201f
Bring iOS CMake back up to snuff
2022-02-12 19:58:51 -05:00