Fix some shaders
This commit is contained in:
parent
d3e0d8a39f
commit
81b64e4fe2
|
|
@ -41,9 +41,9 @@ external
|
||||||
|
|
||||||
struct InputData
|
struct InputData
|
||||||
{
|
{
|
||||||
[location(0)] vertNormal: vec3<f32>,
|
[location(0)] normal: vec3<f32>,
|
||||||
[location(1)] vertUV: vec2<f32>,
|
[location(1)] uv: vec2<f32>,
|
||||||
[location(2)] vertPos: vec3<f32>
|
[location(2)] pos: vec3<f32>
|
||||||
}
|
}
|
||||||
|
|
||||||
struct OutputData
|
struct OutputData
|
||||||
|
|
@ -73,7 +73,7 @@ fn main(input: InputData) -> OutputData
|
||||||
|
|
||||||
let output: OutputData;
|
let output: OutputData;
|
||||||
output.diffuseMap = diffuseColor;
|
output.diffuseMap = diffuseColor;
|
||||||
output.normalMap = vec4<f32>((vec3<f32>(1.0, 1.0, 1.0) + input.vertNormal) * 0.5, 1.0);
|
output.normalMap = vec4<f32>((vec3<f32>(1.0, 1.0, 1.0) + input.normal) * 0.5, 1.0);
|
||||||
output.positionMap = vec4<f32>(input.vertPos, 1.0);
|
output.positionMap = vec4<f32>(input.pos, 1.0);
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,28 +35,28 @@ external
|
||||||
|
|
||||||
struct InputData
|
struct InputData
|
||||||
{
|
{
|
||||||
[location(0)] inPos: vec3<f32>,
|
[location(0)] pos: vec3<f32>,
|
||||||
[location(1)] inNormals: vec3<f32>,
|
[location(1)] normal: vec3<f32>,
|
||||||
[location(2)] inTexCoord: vec2<f32>
|
[location(2)] uv: vec2<f32>
|
||||||
}
|
}
|
||||||
|
|
||||||
struct OutputData
|
struct OutputData
|
||||||
{
|
{
|
||||||
[location(0)] vertNormal: vec3<f32>,
|
[location(0)] normal: vec3<f32>,
|
||||||
[location(1)] vertUV: vec2<f32>,
|
[location(1)] uv: vec2<f32>,
|
||||||
[location(2)] vertPos: vec3<f32>,
|
[location(2)] pos: vec3<f32>,
|
||||||
[builtin(position)] position: vec4<f32>
|
[builtin(position)] position: vec4<f32>
|
||||||
}
|
}
|
||||||
|
|
||||||
[entry(vert)]
|
[entry(vert)]
|
||||||
fn main(input: InputData) -> OutputData
|
fn main(input: InputData) -> OutputData
|
||||||
{
|
{
|
||||||
let worldPos = instanceData.worldMatrix * vec4<f32>(input.inPos, 1.0);
|
let worldPos = instanceData.worldMatrix * vec4<f32>(input.pos, 1.0);
|
||||||
|
|
||||||
let output: OutputData;
|
let output: OutputData;
|
||||||
output.vertUV = input.inTexCoord;
|
output.uv = input.uv;
|
||||||
output.vertNormal = input.inNormals;
|
output.normal = input.normal;
|
||||||
output.vertPos = worldPos.xyz;
|
output.pos = worldPos.xyz;
|
||||||
output.position = viewerData.viewProjMatrix * instanceData.worldMatrix * vec4<f32>(input.inPos, 1.0);
|
output.position = viewerData.viewProjMatrix * instanceData.worldMatrix * vec4<f32>(input.pos, 1.0);
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ fn main(input: FragIn) -> FragOut
|
||||||
|
|
||||||
const if (HAS_ALPHA_TEXTURE)
|
const if (HAS_ALPHA_TEXTURE)
|
||||||
// TODO: diffuseColor.w *= MaterialAlphaMap.Sample(input.uv)).x
|
// TODO: diffuseColor.w *= MaterialAlphaMap.Sample(input.uv)).x
|
||||||
diffuseColor = vec4<f32>(diffuseColor.x, diffuseColor.y, diffuseColor.z, ((MaterialAlphaMap.Sample(input.uv)).x) * diffuseColor.w);
|
diffuseColor = vec4<f32>(diffuseColor.x, diffuseColor.y, diffuseColor.z, (MaterialAlphaMap.Sample(input.uv)).x * diffuseColor.w);
|
||||||
|
|
||||||
const if (ALPHA_TEST)
|
const if (ALPHA_TEST)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue