From 5ad1a2075dc33da1ade2951e419e6e479efb0aff Mon Sep 17 00:00:00 2001 From: aardgoose Date: Thu, 19 Oct 2023 15:02:50 +0100 Subject: [PATCH] correct initial blending state and update screenshot (#27009) Co-authored-by: aardgoose --- .../jsm/renderers/webgl/utils/WebGLState.js | 2 +- examples/screenshots/webgpu_sprites.jpg | Bin 3413 -> 30355 bytes examples/webgpu_sprites.html | 8 +++++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/jsm/renderers/webgl/utils/WebGLState.js b/examples/jsm/renderers/webgl/utils/WebGLState.js index b4db9f6aae430f..53f9c97ebee64a 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLState.js +++ b/examples/jsm/renderers/webgl/utils/WebGLState.js @@ -21,7 +21,7 @@ class WebGLState { this.currentFlipSided = null; this.currentCullFace = null; this.currentProgram = null; - this.currentBlendingEnabled = null; + this.currentBlendingEnabled = false; this.currentBlending = null; this.currentBlendSrc = null; this.currentBlendDst = null; diff --git a/examples/screenshots/webgpu_sprites.jpg b/examples/screenshots/webgpu_sprites.jpg index 001fe203e0b94e476d12e5c1c76aa979a0fbc77f..259adb86f764cfdbb9f487ca849c04691e00c869 100644 GIT binary patch literal 30355 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 delta 38 icmbRImhr08hF8p+FO=+O+&rP=KPs`Bk>x+b|C<1dh7>3O diff --git a/examples/webgpu_sprites.html b/examples/webgpu_sprites.html index b91ed00c21c3d5..da6198568ed491 100644 --- a/examples/webgpu_sprites.html +++ b/examples/webgpu_sprites.html @@ -27,6 +27,8 @@ import { texture, uv, userData, rangeFog, color, SpriteNodeMaterial } from 'three/nodes'; import WebGPU from 'three/addons/capabilities/WebGPU.js'; + import WebGL from 'three/addons/capabilities/WebGL.js'; + import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js'; let camera, scene, renderer; @@ -41,11 +43,11 @@ function init() { - if ( WebGPU.isAvailable() === false ) { + if ( WebGPU.isAvailable() === false && WebGL.isWebGL2Available() === false ) { - document.body.appendChild( WebGPU.getErrorMessage() ); + document.body.appendChild( WebGPU.getErrorMessage() ); - throw new Error( 'No WebGPU support' ); + throw new Error( 'No WebGPU or WebGL2 support' ); }