From 5c960c89a75dea01427ea34c1668ed9d0944eb4c Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Sun, 12 May 2024 08:59:41 +0900 Subject: [PATCH] Remove need for assigning line2 material resolution --- examples/jsm/lines/LineMaterial.js | 11 ++++++++++- examples/webgl_lines_fat.html | 3 --- examples/webgl_lines_fat_raycasting.html | 4 ---- examples/webgl_lines_fat_wireframe.html | 6 ------ 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/examples/jsm/lines/LineMaterial.js b/examples/jsm/lines/LineMaterial.js index 6ca42271740c5..68bf3e559decd 100644 --- a/examples/jsm/lines/LineMaterial.js +++ b/examples/jsm/lines/LineMaterial.js @@ -16,9 +16,11 @@ import { ShaderMaterial, UniformsLib, UniformsUtils, - Vector2 + Vector2, + Vector4, } from 'three'; +const _viewport = new Vector4(); UniformsLib.line = { @@ -440,6 +442,13 @@ class LineMaterial extends ShaderMaterial { } + onBeforeRender( renderer ) { + + renderer.getCurrentViewport( _viewport ); + this.uniforms.resolution.value.set( _viewport.z, _viewport.w ); + + } + get color() { return this.uniforms.diffuse.value; diff --git a/examples/webgl_lines_fat.html b/examples/webgl_lines_fat.html index 76897c3c65288..b67ae12f20610 100644 --- a/examples/webgl_lines_fat.html +++ b/examples/webgl_lines_fat.html @@ -175,9 +175,6 @@ controls.update(); - // renderer will set this eventually - matLine.resolution.set( window.innerWidth, window.innerHeight ); // resolution of the viewport - gpuPanel.startQuery(); renderer.render( scene, camera ); gpuPanel.endQuery(); diff --git a/examples/webgl_lines_fat_raycasting.html b/examples/webgl_lines_fat_raycasting.html index 9f568afab6c6f..0ebe0d3c0c18a 100644 --- a/examples/webgl_lines_fat_raycasting.html +++ b/examples/webgl_lines_fat_raycasting.html @@ -213,10 +213,6 @@ renderer.setSize( window.innerWidth, window.innerHeight ); - // renderer will set this eventually - matLine.resolution.set( window.innerWidth, window.innerHeight ); - matThresholdLine.resolution.set( window.innerWidth, window.innerHeight ); - } function onPointerMove( event ) { diff --git a/examples/webgl_lines_fat_wireframe.html b/examples/webgl_lines_fat_wireframe.html index 974129a0fae6b..45c6a5abe12af 100644 --- a/examples/webgl_lines_fat_wireframe.html +++ b/examples/webgl_lines_fat_wireframe.html @@ -136,9 +136,6 @@ renderer.setViewport( 0, 0, window.innerWidth, window.innerHeight ); - // renderer will set this eventually - matLine.resolution.set( window.innerWidth, window.innerHeight ); // resolution of the viewport - renderer.render( scene, camera ); // inset scene @@ -156,9 +153,6 @@ camera2.position.copy( camera.position ); camera2.quaternion.copy( camera.quaternion ); - // renderer will set this eventually - matLine.resolution.set( insetWidth, insetHeight ); // resolution of the inset viewport - renderer.render( scene, camera2 ); renderer.setScissorTest( false );