@@ -230,7 +230,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
230230 * If the shader props contain any automatic properties, update it with the
231231 * current dimensions and or alpha that will be used to render the quad.
232232 */
233- if ( params . shaderProps !== null ) {
233+ if ( params . shader !== this . defaultShader ) {
234234 if ( hasOwn ( params . shaderProps , '$dimensions' ) == true ) {
235235 const dimensions = params . shaderProps . $dimensions as Dimensions ;
236236 dimensions . width = params . width ;
@@ -243,20 +243,11 @@ export class WebGlCoreRenderer extends CoreRenderer {
243243 }
244244
245245 let { curBufferIdx : bufferIdx , curRenderOp } = this ;
246- const targetDims = { width : - 1 , height : - 1 } ;
247- targetDims . width = params . width ;
248- targetDims . height = params . height ;
249-
250- const targetShader =
251- ( params . shader as WebGlCoreShader ) || this . defaultShader ;
252- assertTruthy (
253- targetShader . getUniformLocation !== undefined ,
254- 'Invalid WebGL shader' ,
255- ) ;
246+ const targetDims = { width : params . width , height : params . height } ;
256247
257248 if ( this . reuseRenderOp ( params ) === false ) {
258249 this . newRenderOp (
259- targetShader ,
250+ params . shader as WebGlCoreShader ,
260251 params . shaderProps as Record < string , unknown > ,
261252 params . alpha ,
262253 targetDims ,
@@ -542,10 +533,8 @@ export class WebGlCoreRenderer extends CoreRenderer {
542533 const { shader, shaderProps, parentHasRenderTexture, rtt, clippingRect } =
543534 params ;
544535
545- const targetShader = shader || this . defaultShader ;
546-
547536 // Switching shader program will require a new render operation
548- if ( this . curRenderOp ?. shader !== targetShader ) {
537+ if ( this . curRenderOp ?. shader !== shader ) {
549538 return false ;
550539 }
551540
@@ -557,18 +546,17 @@ export class WebGlCoreRenderer extends CoreRenderer {
557546 // Force new render operation if rendering to texture
558547 // @todo : This needs to be improved, render operations could also be reused
559548 // for rendering to texture
560- if ( parentHasRenderTexture !== undefined || rtt !== undefined ) {
549+ if ( parentHasRenderTexture === true || rtt === true ) {
561550 return false ;
562551 }
563552
564553 // Check if the shader can batch the shader properties
565554 if (
566555 this . curRenderOp . shader !== this . defaultShader &&
567- ( shaderProps === null ||
568- this . curRenderOp . shader . canBatchShaderProps (
569- this . curRenderOp . shaderProps ,
570- shaderProps ,
571- ) === false )
556+ this . curRenderOp . shader . canBatchShaderProps (
557+ this . curRenderOp . shaderProps ,
558+ shaderProps ,
559+ ) === false
572560 ) {
573561 return false ;
574562 }
0 commit comments