Start cleaning up material and shadingapi
Allow using functions inside of HLSL structs
https://i.imgur.com/t1AwQzr.png
Replace all GatherMaterial bullshit with Material::From()
Remove Material parameter references to things that aren't implemented yet, put TransformNormal in normals file
Cut everything from ShadingModel too and let's start from a static class
Redo light api on shaders, start implementing new dynamic light under this structure, move raytracing shit to it's own folder, add sample shadingmodel
Allow structs in structs ( HLSL 2021 and forwards )
Most of static light with the new api
Fix shadowing on indexed lights on new light api
Move shadingmodel structures to shadingmodel.hlsl
Fix light static assignment for lighting api, fix shadowing for them too
Stub for EnvironmentMapLight