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.
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 :-)
* 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
* Image transitions are handled more correctly, reducing errors
* Cubemaps are now transitioned properly when using the CopyTexture command
* Cubemap image views are created correctly
* 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.