diff --git a/engine/rend/shaders/meshes.vert.hlsl b/engine/rend/shaders/meshes.vert.hlsl index 7331023..8e86d2c 100644 --- a/engine/rend/shaders/meshes.vert.hlsl +++ b/engine/rend/shaders/meshes.vert.hlsl @@ -57,7 +57,8 @@ Output main(Input input) float4 WorldPos = mul(scene[input.Instance].Model, pos); output.Position = mul(ViewProjection, mul(scene[input.Instance].Model, pos)); output.WorldPos = WorldPos.xyz; - output.Normal = mul(scene[input.Instance].Model, float4(input.Normal, 1.0)).xyz; + // output.Normal = mul(scene[input.Instance].Model, float4(input.Normal, 1.0)).xyz; + output.Normal = input.Normal; output.DirectionalShadowFragPos = mul(ShadowMapProjection, WorldPos); output.Instance = input.Instance; diff --git a/engine/ui/build.zig b/engine/ui/build.zig index c951af3..d2f454f 100644 --- a/engine/ui/build.zig +++ b/engine/ui/build.zig @@ -6,6 +6,7 @@ const dependencyList = [_][]const u8{ "platform", "rend", "papyrus", + "shaderTypes", "sdl3", }; diff --git a/engine/ui/build.zig.zon b/engine/ui/build.zig.zon index 1895ffe..507859a 100644 --- a/engine/ui/build.zig.zon +++ b/engine/ui/build.zig.zon @@ -7,6 +7,7 @@ .papyrus = .{ .path = "../papyrus" }, .rend = .{ .path = "../rend" }, .sdl3 = .{ .path = "../../lib/sdl3" }, + .shaderTypes = .{ .path = "../../lib/sdl3/shaderTypes" }, }, .paths = .{ "", diff --git a/projects/content/_shaders/dxil/meshes.vert.dxil b/projects/content/_shaders/dxil/meshes.vert.dxil index d8cdacf..3e1902c 100644 Binary files a/projects/content/_shaders/dxil/meshes.vert.dxil and b/projects/content/_shaders/dxil/meshes.vert.dxil differ diff --git a/projects/content/_shaders/msl/meshes.vert.msl b/projects/content/_shaders/msl/meshes.vert.msl index 43a33c8..f98d6ae 100644 --- a/projects/content/_shaders/msl/meshes.vert.msl +++ b/projects/content/_shaders/msl/meshes.vert.msl @@ -48,7 +48,7 @@ vertex main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Uniform float4 _51 = scene._m0[gl_InstanceIndex].Model * _48; out.out_var_TEXCOORD0 = in.in_var_TEXCOORD3; out.out_var_TEXCOORD1 = _51.xyz; - out.out_var_TEXCOORD2 = (scene._m0[gl_InstanceIndex].Model * float4(in.in_var_TEXCOORD1, 1.0)).xyz; + out.out_var_TEXCOORD2 = in.in_var_TEXCOORD1; out.out_var_TEXCOORD3 = Uniforms.ShadowMapProjection * _51; out.out_var_TEXCOORD4 = gl_InstanceIndex; out.gl_Position = Uniforms.ViewProjection * (scene._m0[gl_InstanceIndex].Model * _48); diff --git a/projects/content/_shaders/spv/meshes.vert.spv b/projects/content/_shaders/spv/meshes.vert.spv index 93410fd..954489e 100644 Binary files a/projects/content/_shaders/spv/meshes.vert.spv and b/projects/content/_shaders/spv/meshes.vert.spv differ diff --git a/tools/scripts/cookShaders.py b/tools/scripts/cookShaders.py index ace7992..a75487b 100644 --- a/tools/scripts/cookShaders.py +++ b/tools/scripts/cookShaders.py @@ -83,7 +83,6 @@ def cookList(inputFiles): outdir = os.path.join(cookedRoot, fmt[0]) for f in inputFiles: basefile = f[:-5] - if 'vert' not in basefile and '' outfile = os.path.abspath(os.path.join(outdir, os.path.basename(basefile) + '.' + fmt[0] )) os.makedirs(os.path.dirname(outfile), exist_ok=True)