Refactor material system (#382)

This commit is contained in:
Jérôme Leclercq
2022-10-31 19:53:41 +01:00
committed by GitHub
parent 0a8048809c
commit dc6ce8427c
156 changed files with 3633 additions and 4569 deletions

View File

@@ -9,20 +9,29 @@ option HasAlphaTexture: bool = false;
option AlphaTest: bool = false;
[layout(std140)]
struct BasicSettings
struct MaterialSettings
{
[tag("AlphaTestThreshold")]
AlphaThreshold: f32,
[tag("BaseColor")]
BaseColor: vec4[f32]
}
[tag("Material")]
external
{
[binding(0)] settings: uniform[BasicSettings],
[binding(1)] MaterialBaseColorMap: sampler2D[f32],
[binding(2)] MaterialAlphaMap: sampler2D[f32],
[binding(3)] TextureOverlay: sampler2D[f32],
[binding(4)] instanceData: uniform[InstanceData],
[binding(5)] viewerData: uniform[ViewerData],
[tag("Settings"), binding(0)] settings: uniform[MaterialSettings],
[tag("BaseColorMap"), binding(1)] MaterialBaseColorMap: sampler2D[f32],
[tag("AlphaMap"), binding(2)] MaterialAlphaMap: sampler2D[f32],
}
[tag("Engine")]
external
{
[tag("TextureOverlay"), binding(3)] TextureOverlay: sampler2D[f32],
[tag("InstanceData"), binding(4)] instanceData: uniform[InstanceData],
[tag("ViewerData"), binding(5)] viewerData: uniform[ViewerData],
}
struct InputData

View File

@@ -5,17 +5,29 @@ import InstanceData from Engine.InstanceData;
import ViewerData from Engine.ViewerData;
[layout(std140)]
struct BasicSettings
struct MaterialSettings
{
[tag("AlphaTestThreshold")]
AlphaThreshold: f32,
[tag("BaseColor")]
BaseColor: vec4[f32]
}
[tag("Material")]
external
{
[binding(0)] settings: uniform[BasicSettings],
[binding(4)] instanceData: uniform[InstanceData],
[binding(5)] viewerData: uniform[ViewerData],
[tag("Settings"), binding(0)] settings: uniform[MaterialSettings],
[tag("BaseColorMap"), binding(1)] MaterialBaseColorMap: sampler2D[f32],
[tag("AlphaMap"), binding(2)] MaterialAlphaMap: sampler2D[f32],
}
[tag("Engine")]
external
{
[tag("TextureOverlay"), binding(3)] TextureOverlay: sampler2D[f32],
[tag("InstanceData"), binding(4)] instanceData: uniform[InstanceData],
[tag("ViewerData"), binding(5)] viewerData: uniform[ViewerData],
}
struct InputData