浏览代码

WebGPURenderer: Fix Video Textures in WebGL Backend (#27610)

* fix video webgl backend

* fix webgl video texture
Renaud Rohlinger 1 年之前
父节点
当前提交
b8df03024a

+ 1 - 1
examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js

@@ -189,7 +189,7 @@ class WebGLTextureUtils {
 
 
 
 
 		// follow WebGPU backend mapping for texture filtering
 		// follow WebGPU backend mapping for texture filtering
-		const minFilter = texture.minFilter === LinearFilter ? LinearMipmapLinearFilter : texture.minFilter;
+		const minFilter = ! texture.isVideoTexture && texture.minFilter === LinearFilter ? LinearMipmapLinearFilter : texture.minFilter;
 
 
 		gl.texParameteri( textureType, gl.TEXTURE_MIN_FILTER, filterToGL[ minFilter ] );
 		gl.texParameteri( textureType, gl.TEXTURE_MIN_FILTER, filterToGL[ minFilter ] );
 
 

二进制
examples/screenshots/webgpu_video_panorama.jpg


+ 0 - 9
examples/webgpu_materials_video.html

@@ -37,7 +37,6 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
-			import WebGPU from 'three/addons/capabilities/WebGPU.js';
 			import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 
 
 			let container;
 			let container;
@@ -69,14 +68,6 @@
 
 
 			function init() {
 			function init() {
 
 
-				if ( WebGPU.isAvailable() === false ) {
-
-					document.body.appendChild( WebGPU.getErrorMessage() );
-
-					throw new Error( 'No WebGPU support' );
-
-				}
-
 				const overlay = document.getElementById( 'overlay' );
 				const overlay = document.getElementById( 'overlay' );
 				overlay.remove();
 				overlay.remove();
 
 

+ 0 - 9
examples/webgpu_video_panorama.html

@@ -36,7 +36,6 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
-			import WebGPU from 'three/addons/capabilities/WebGPU.js';
 			import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js';
 
 
 			let camera, scene, renderer;
 			let camera, scene, renderer;
@@ -55,14 +54,6 @@
 
 
 			function init() {
 			function init() {
 
 
-				if ( WebGPU.isAvailable() === false ) {
-
-					document.body.appendChild( WebGPU.getErrorMessage() );
-
-					throw new Error( 'No WebGPU support' );
-
-				}
-
 				const container = document.getElementById( 'container' );
 				const container = document.getElementById( 'container' );
 
 
 				camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, .25, 10 );
 				camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, .25, 10 );