diff --git a/packages/dev/core/src/Engines/WebGPU/webgpuClearQuad.ts b/packages/dev/core/src/Engines/WebGPU/webgpuClearQuad.ts index e69ffdb91eb..f3bcf16d87e 100644 --- a/packages/dev/core/src/Engines/WebGPU/webgpuClearQuad.ts +++ b/packages/dev/core/src/Engines/WebGPU/webgpuClearQuad.ts @@ -13,8 +13,9 @@ import { WebGPUShaderProcessingContext } from "./webgpuShaderProcessingContext"; import { WebGPUTextureHelper } from "./webgpuTextureHelper"; import { renderableTextureFormatToIndex } from "./webgpuTextureManager"; -import "../../Shaders/clearQuad.vertex"; -import "../../Shaders/clearQuad.fragment"; +import "../../ShadersWGSL/clearQuad.vertex"; +import "../../ShadersWGSL/clearQuad.fragment"; +import { ShaderLanguage } from "../../Materials/shaderLanguage"; /** @internal */ export class WebGPUClearQuad { @@ -49,7 +50,7 @@ export class WebGPUClearQuad { this._cacheRenderPipeline.setDepthTestEnabled(false); this._cacheRenderPipeline.setStencilReadMask(0xff); - this._effect = engine.createEffect("clearQuad", [], ["color", "depthValue"]); + this._effect = engine.createEffect("clearQuad", [], ["color", "depthValue"], undefined, undefined, undefined, undefined, undefined, undefined, ShaderLanguage.WGSL); } public clear( diff --git a/packages/dev/core/src/Shaders/clearQuad.fragment.fx b/packages/dev/core/src/Shaders/clearQuad.fragment.fx deleted file mode 100644 index cb928758554..00000000000 --- a/packages/dev/core/src/Shaders/clearQuad.fragment.fx +++ /dev/null @@ -1,5 +0,0 @@ -uniform vec4 color; - -void main() { - gl_FragColor = color; -} diff --git a/packages/dev/core/src/Shaders/clearQuad.vertex.fx b/packages/dev/core/src/Shaders/clearQuad.vertex.fx deleted file mode 100644 index 071cc74f843..00000000000 --- a/packages/dev/core/src/Shaders/clearQuad.vertex.fx +++ /dev/null @@ -1,20 +0,0 @@ -uniform float depthValue; - -const vec2 pos[4] = { - vec2(-1.0, 1.0), - vec2(1.0, 1.0), - vec2(-1.0, -1.0), - vec2(1.0, -1.0) -}; - - -#define CUSTOM_VERTEX_DEFINITIONS - -void main(void) { - -#define CUSTOM_VERTEX_MAIN_BEGIN - - gl_Position = vec4(pos[gl_VertexID], depthValue, 1.0); - -#define CUSTOM_VERTEX_MAIN_END -} diff --git a/packages/dev/core/src/ShadersWGSL/clearQuad.fragment.fx b/packages/dev/core/src/ShadersWGSL/clearQuad.fragment.fx new file mode 100644 index 00000000000..9560d183d08 --- /dev/null +++ b/packages/dev/core/src/ShadersWGSL/clearQuad.fragment.fx @@ -0,0 +1,6 @@ +uniform color: vec4f; + +@fragment +fn main(input: FragmentInputs) -> FragmentOutputs { + fragmentOutputs.color = uniforms.color; +} diff --git a/packages/dev/core/src/ShadersWGSL/clearQuad.vertex.fx b/packages/dev/core/src/ShadersWGSL/clearQuad.vertex.fx new file mode 100644 index 00000000000..6dfe7d242ce --- /dev/null +++ b/packages/dev/core/src/ShadersWGSL/clearQuad.vertex.fx @@ -0,0 +1,20 @@ +uniform depthValue: f32; + +const pos = array( + vec2f(-1.0, 1.0), + vec2f(1.0, 1.0), + vec2f(-1.0, -1.0), + vec2f(1.0, -1.0) +); + + +#define CUSTOM_VERTEX_DEFINITIONS + +@vertex +fn main(input : VertexInputs) -> FragmentInputs { + +#define CUSTOM_VERTEX_MAIN_BEGIN + vertexOutputs.position = vec4f(pos[input.vertexIndex], uniforms.depthValue, 1.0); + +#define CUSTOM_VERTEX_MAIN_END +}