@@ -4,7 +4,10 @@ import { BlendState } from '../../platform/graphics/blend-state.js';
4
4
import {
5
5
ADDRESS_CLAMP_TO_EDGE , BLENDEQUATION_ADD , BLENDMODE_ONE_MINUS_SRC_ALPHA , BLENDMODE_SRC_ALPHA ,
6
6
CULLFACE_NONE ,
7
- FILTER_LINEAR , FILTER_LINEAR_MIPMAP_LINEAR , PIXELFORMAT_SRGBA8
7
+ FILTER_LINEAR , FILTER_LINEAR_MIPMAP_LINEAR , PIXELFORMAT_SRGBA8 ,
8
+ SEMANTIC_POSITION ,
9
+ SHADERLANGUAGE_GLSL ,
10
+ SHADERLANGUAGE_WGSL
8
11
} from '../../platform/graphics/constants.js' ;
9
12
import { DepthState } from '../../platform/graphics/depth-state.js' ;
10
13
import { RenderTarget } from '../../platform/graphics/render-target.js' ;
@@ -13,6 +16,7 @@ import { drawQuadWithShader } from '../../scene/graphics/quad-render-utils.js';
13
16
import { QuadRender } from '../../scene/graphics/quad-render.js' ;
14
17
import { StandardMaterialOptions } from '../../scene/materials/standard-material-options.js' ;
15
18
import { StandardMaterial } from '../../scene/materials/standard-material.js' ;
19
+ import { shaderChunksWGSL } from '../../scene/shader-lib/chunks-wgsl/chunks-wgsl.js' ;
16
20
import { shaderChunks } from '../../scene/shader-lib/chunks/chunks.js' ;
17
21
import { createShaderFromCode } from '../../scene/shader-lib/utils.js' ;
18
22
@@ -114,7 +118,12 @@ class OutlineRenderer {
114
118
115
119
const device = this . app . graphicsDevice ;
116
120
this . shaderExtend = createShaderFromCode ( device , shaderChunks . fullscreenQuadVS , shaderOutlineExtendPS , 'OutlineExtendShader' ) ;
117
- this . shaderBlend = createShaderFromCode ( device , shaderChunks . fullscreenQuadVS , shaderChunks . outputTex2DPS , 'OutlineBlendShader' ) ;
121
+
122
+ this . shaderBlend = device . isWebGPU ?
123
+ createShaderFromCode ( device , shaderChunksWGSL . fullscreenQuadVS , shaderChunksWGSL . outputTex2DPS , 'OutlineBlendShader' ,
124
+ { vertex_position : SEMANTIC_POSITION } , { shaderLanguage : SHADERLANGUAGE_WGSL } ) :
125
+ createShaderFromCode ( device , shaderChunks . fullscreenQuadVS , shaderChunks . outputTex2DPS , 'OutlineBlendShader' ,
126
+ { vertex_position : SEMANTIC_POSITION } , { shaderLanguage : SHADERLANGUAGE_GLSL } ) ;
118
127
119
128
this . quadRenderer = new QuadRender ( this . shaderBlend ) ;
120
129
0 commit comments