From 932bc334f75ae00ce2eb2f0deb627cf4d51858a1 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Thu, 12 Sep 2024 19:48:48 +0900 Subject: [PATCH 01/21] SpriteNodeMaterial: Add sizeAttenuation --- src/materials/nodes/SpriteNodeMaterial.js | 44 ++++++++++++++++++++--- src/renderers/common/RenderObject.js | 6 ++++ 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index c3182c0727d2b5..93cc86e3189055 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -5,7 +5,7 @@ import { materialRotation } from '../../nodes/accessors/MaterialNode.js'; import { modelViewMatrix, modelWorldMatrix } from '../../nodes/accessors/ModelNode.js'; import { positionLocal } from '../../nodes/accessors/Position.js'; import { rotate } from '../../nodes/utils/RotateNode.js'; -import { float, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; +import { float, If, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; import { SpriteMaterial } from '../SpriteMaterial.js'; @@ -27,6 +27,9 @@ class SpriteNodeMaterial extends NodeMaterial { this.lights = false; + this.sizeAttenuation = true; + this.useSizeAttenuation = true; + this.positionNode = null; this.rotationNode = null; this.scaleNode = null; @@ -39,22 +42,38 @@ class SpriteNodeMaterial extends NodeMaterial { setupPosition( { object, context } ) { + const useSizeAttenuation = this.sizeAttenuation; + // < VERTEX STAGE > const { positionNode, rotationNode, scaleNode } = this; const vertex = positionLocal; - let mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); + let mvPosition = modelViewMatrix.mul( vec4( vec3( positionNode || 0 ), 1 ) ); - let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ); + const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); if ( scaleNode !== null ) { - scale = scale.mul( scaleNode ); + scale.mulAssign( scaleNode ); } + + if ( ! useSizeAttenuation ) { + + const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( - 1.0 ); + + If( perspective, () => { + + scale.assign( scale.mul( mvPosition.z.negate() ) ); + + } ); + + } + + let alignedPosition = vertex.xy; if ( object.center && object.center.isVector2 === true ) { @@ -89,6 +108,23 @@ class SpriteNodeMaterial extends NodeMaterial { } + get sizeAttenuation() { + + return this.useSizeAttenuation; + + } + + set sizeAttenuation( value ) { + + if ( this.useSizeAttenuation !== value ) { + + this.useSizeAttenuation = value; + this.needsUpdate = true; + + } + + } + } export default SpriteNodeMaterial; diff --git a/src/renderers/common/RenderObject.js b/src/renderers/common/RenderObject.js index c05253259c083e..a3ef82fba669cd 100644 --- a/src/renderers/common/RenderObject.js +++ b/src/renderers/common/RenderObject.js @@ -317,6 +317,12 @@ export default class RenderObject { } + if ( object.center ) { + + cacheKey += object.center.x + ',' + object.center.y + ','; + + } + if ( object.count > 1 ) { cacheKey += object.count + ',' + object.uuid + ','; From 3d9f5091050bb9d82ec7c028ba3e12a3db4ca79a Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Thu, 12 Sep 2024 20:28:24 +0900 Subject: [PATCH 02/21] Regenerate screenshot --- examples/screenshots/webgpu_tsl_galaxy.jpg | Bin 23788 -> 31165 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/screenshots/webgpu_tsl_galaxy.jpg b/examples/screenshots/webgpu_tsl_galaxy.jpg index 8f4f54eb70ad09076fd7fe5651ca057d1ccbc86f..dab2ceca9113dfc4821c1de7244aadac564a0e76 100644 GIT binary patch delta 29060 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 Date: Thu, 12 Sep 2024 20:39:37 +0900 Subject: [PATCH 03/21] revert mat4 mul with vec4(,1)? --- examples/screenshots/webgpu_tsl_galaxy.jpg | Bin 31165 -> 31287 bytes src/materials/nodes/SpriteNodeMaterial.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/screenshots/webgpu_tsl_galaxy.jpg b/examples/screenshots/webgpu_tsl_galaxy.jpg index dab2ceca9113dfc4821c1de7244aadac564a0e76..c22429467297c29630b2bc764fa6fc690af44ae8 100644 GIT binary patch delta 29196 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 delta 29069 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 diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 93cc86e3189055..2b565a9f2b7ef4 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -50,7 +50,7 @@ class SpriteNodeMaterial extends NodeMaterial { const vertex = positionLocal; - let mvPosition = modelViewMatrix.mul( vec4( vec3( positionNode || 0 ), 1 ) ); + let mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); From f75a78d66c7a7825b95a10d63e7d871e919bb1b0 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Thu, 12 Sep 2024 20:50:18 +0900 Subject: [PATCH 04/21] revert --- examples/screenshots/webgpu_tsl_galaxy.jpg | Bin 31287 -> 31165 bytes src/materials/nodes/SpriteNodeMaterial.js | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/screenshots/webgpu_tsl_galaxy.jpg b/examples/screenshots/webgpu_tsl_galaxy.jpg index c22429467297c29630b2bc764fa6fc690af44ae8..dab2ceca9113dfc4821c1de7244aadac564a0e76 100644 GIT binary patch delta 29069 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 delta 29196 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 diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 2b565a9f2b7ef4..42946f54b48b35 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -50,13 +50,13 @@ class SpriteNodeMaterial extends NodeMaterial { const vertex = positionLocal; - let mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); + let mvPosition = modelViewMatrix.mul( vec4( vec3( positionNode || 0 ), 1 ) ); const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); if ( scaleNode !== null ) { - scale.mulAssign( scaleNode ); + scale.assign( scale.mul( scaleNode ) ); } From b719ea9c06757ca7096e490ecadb5bcfdd94132e Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Thu, 12 Sep 2024 21:00:04 +0900 Subject: [PATCH 05/21] using let and toVar fixes the issue? --- examples/screenshots/webgpu_tsl_galaxy.jpg | Bin 31165 -> 31287 bytes src/materials/nodes/SpriteNodeMaterial.js | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/screenshots/webgpu_tsl_galaxy.jpg b/examples/screenshots/webgpu_tsl_galaxy.jpg index dab2ceca9113dfc4821c1de7244aadac564a0e76..c22429467297c29630b2bc764fa6fc690af44ae8 100644 GIT binary patch delta 29196 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 delta 29069 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 diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 42946f54b48b35..9fd2d31657932b 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -52,11 +52,11 @@ class SpriteNodeMaterial extends NodeMaterial { let mvPosition = modelViewMatrix.mul( vec4( vec3( positionNode || 0 ), 1 ) ); - const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); + let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); if ( scaleNode !== null ) { - scale.assign( scale.mul( scaleNode ) ); + scale = scale.mul( scaleNode ); } From cf6930f62782011ce0bd9d1e88378a4b66527ffb Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Thu, 12 Sep 2024 21:08:19 +0900 Subject: [PATCH 06/21] merge upstream/dev --- examples/screenshots/webgpu_tsl_galaxy.jpg | Bin 31287 -> 31165 bytes src/materials/nodes/SpriteNodeMaterial.js | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/screenshots/webgpu_tsl_galaxy.jpg b/examples/screenshots/webgpu_tsl_galaxy.jpg index c22429467297c29630b2bc764fa6fc690af44ae8..dab2ceca9113dfc4821c1de7244aadac564a0e76 100644 GIT binary patch delta 29069 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 delta 29196 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 diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 9fd2d31657932b..42946f54b48b35 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -52,11 +52,11 @@ class SpriteNodeMaterial extends NodeMaterial { let mvPosition = modelViewMatrix.mul( vec4( vec3( positionNode || 0 ), 1 ) ); - let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); + const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); if ( scaleNode !== null ) { - scale = scale.mul( scaleNode ); + scale.assign( scale.mul( scaleNode ) ); } From 7020d2d6c4dd2d350075b3c91342391e0f9cbbd0 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 14:03:14 +0900 Subject: [PATCH 07/21] revert screenshot --- examples/screenshots/webgpu_tsl_galaxy.jpg | Bin 31165 -> 23788 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/screenshots/webgpu_tsl_galaxy.jpg b/examples/screenshots/webgpu_tsl_galaxy.jpg index dab2ceca9113dfc4821c1de7244aadac564a0e76..8f4f54eb70ad09076fd7fe5651ca057d1ccbc86f 100644 GIT binary patch delta 21333 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 Date: Sat, 14 Sep 2024 14:46:08 +0900 Subject: [PATCH 08/21] does reverting SpriteNode even fix? --- src/materials/nodes/SpriteNodeMaterial.js | 49 +++++++++++------------ 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 42946f54b48b35..18fc70ef603950 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -5,7 +5,7 @@ import { materialRotation } from '../../nodes/accessors/MaterialNode.js'; import { modelViewMatrix, modelWorldMatrix } from '../../nodes/accessors/ModelNode.js'; import { positionLocal } from '../../nodes/accessors/Position.js'; import { rotate } from '../../nodes/utils/RotateNode.js'; -import { float, If, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; +import { float, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; import { SpriteMaterial } from '../SpriteMaterial.js'; @@ -42,7 +42,7 @@ class SpriteNodeMaterial extends NodeMaterial { setupPosition( { object, context } ) { - const useSizeAttenuation = this.sizeAttenuation; + // const useSizeAttenuation = this.sizeAttenuation; // < VERTEX STAGE > @@ -50,45 +50,44 @@ class SpriteNodeMaterial extends NodeMaterial { const vertex = positionLocal; - let mvPosition = modelViewMatrix.mul( vec4( vec3( positionNode || 0 ), 1 ) ); + const mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); - const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); + let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ); if ( scaleNode !== null ) { - scale.assign( scale.mul( scaleNode ) ); + scale = scale.mul( scaleNode ); } - if ( ! useSizeAttenuation ) { + // if ( ! useSizeAttenuation ) { - const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( - 1.0 ); + // const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( - 1.0 ); - If( perspective, () => { + // If( perspective, () => { - scale.assign( scale.mul( mvPosition.z.negate() ) ); + // scale.assign( scale.mul( mvPosition.z.negate() ) ); - } ); - - } + // } ); + // } - let alignedPosition = vertex.xy; + const alignedPosition = vertex.xy.toVar(); if ( object.center && object.center.isVector2 === true ) { - alignedPosition = alignedPosition.sub( uniform( object.center ).sub( 0.5 ) ); + alignedPosition.assign( alignedPosition.sub( uniform( object.center ).sub( 0.5 ) ) ); } - alignedPosition = alignedPosition.mul( scale ); + alignedPosition.assign( alignedPosition.mul( scale ) ); const rotation = float( rotationNode || materialRotation ); const rotatedPosition = rotate( alignedPosition, rotation ); - mvPosition = vec4( mvPosition.xy.add( rotatedPosition ), mvPosition.zw ); + mvPosition.assign( vec4( mvPosition.xy.add( rotatedPosition ), mvPosition.zw ) ); const modelViewProjection = cameraProjectionMatrix.mul( mvPosition ); @@ -108,22 +107,22 @@ class SpriteNodeMaterial extends NodeMaterial { } - get sizeAttenuation() { + // get sizeAttenuation() { - return this.useSizeAttenuation; + // return this.useSizeAttenuation; - } + // } - set sizeAttenuation( value ) { + // set sizeAttenuation( value ) { - if ( this.useSizeAttenuation !== value ) { + // if ( this.useSizeAttenuation !== value ) { - this.useSizeAttenuation = value; - this.needsUpdate = true; + // this.useSizeAttenuation = value; + // this.needsUpdate = true; - } + // } - } + // } } From 9e0bac6d26552921fb32602f5ea28b8f1046916c Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 14:47:03 +0900 Subject: [PATCH 09/21] revert fix --- src/materials/nodes/SpriteNodeMaterial.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 18fc70ef603950..35b198c5fcfd57 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -50,7 +50,7 @@ class SpriteNodeMaterial extends NodeMaterial { const vertex = positionLocal; - const mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); + let mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ); @@ -87,7 +87,7 @@ class SpriteNodeMaterial extends NodeMaterial { const rotatedPosition = rotate( alignedPosition, rotation ); - mvPosition.assign( vec4( mvPosition.xy.add( rotatedPosition ), mvPosition.zw ) ); + mvPosition = vec4( mvPosition.xy.add( rotatedPosition ), mvPosition.zw ); const modelViewProjection = cameraProjectionMatrix.mul( mvPosition ); From cb578e5691239d22144a11ca1fa3b4c125c9039e Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 14:54:49 +0900 Subject: [PATCH 10/21] revert everything fix tsl galaxy? --- src/materials/nodes/SpriteNodeMaterial.js | 1 - src/renderers/common/RenderObject.js | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 35b198c5fcfd57..5f3325594ee174 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -27,7 +27,6 @@ class SpriteNodeMaterial extends NodeMaterial { this.lights = false; - this.sizeAttenuation = true; this.useSizeAttenuation = true; this.positionNode = null; diff --git a/src/renderers/common/RenderObject.js b/src/renderers/common/RenderObject.js index a3ef82fba669cd..e549c573da2f46 100644 --- a/src/renderers/common/RenderObject.js +++ b/src/renderers/common/RenderObject.js @@ -317,11 +317,11 @@ export default class RenderObject { } - if ( object.center ) { + // if ( object.center ) { - cacheKey += object.center.x + ',' + object.center.y + ','; + // cacheKey += object.center.x + ',' + object.center.y + ','; - } + // } if ( object.count > 1 ) { From 8b6f00a416dc8c8add2a397a81bae09e6d257918 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 15:01:56 +0900 Subject: [PATCH 11/21] checkout dev SpriteNodeMaterial.js... --- src/materials/nodes/SpriteNodeMaterial.js | 40 ++--------------------- 1 file changed, 3 insertions(+), 37 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 5f3325594ee174..c3182c0727d2b5 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -27,8 +27,6 @@ class SpriteNodeMaterial extends NodeMaterial { this.lights = false; - this.useSizeAttenuation = true; - this.positionNode = null; this.rotationNode = null; this.scaleNode = null; @@ -41,8 +39,6 @@ class SpriteNodeMaterial extends NodeMaterial { setupPosition( { object, context } ) { - // const useSizeAttenuation = this.sizeAttenuation; - // < VERTEX STAGE > const { positionNode, rotationNode, scaleNode } = this; @@ -59,28 +55,15 @@ class SpriteNodeMaterial extends NodeMaterial { } - - // if ( ! useSizeAttenuation ) { - - // const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( - 1.0 ); - - // If( perspective, () => { - - // scale.assign( scale.mul( mvPosition.z.negate() ) ); - - // } ); - - // } - - const alignedPosition = vertex.xy.toVar(); + let alignedPosition = vertex.xy; if ( object.center && object.center.isVector2 === true ) { - alignedPosition.assign( alignedPosition.sub( uniform( object.center ).sub( 0.5 ) ) ); + alignedPosition = alignedPosition.sub( uniform( object.center ).sub( 0.5 ) ); } - alignedPosition.assign( alignedPosition.mul( scale ) ); + alignedPosition = alignedPosition.mul( scale ); const rotation = float( rotationNode || materialRotation ); @@ -106,23 +89,6 @@ class SpriteNodeMaterial extends NodeMaterial { } - // get sizeAttenuation() { - - // return this.useSizeAttenuation; - - // } - - // set sizeAttenuation( value ) { - - // if ( this.useSizeAttenuation !== value ) { - - // this.useSizeAttenuation = value; - // this.needsUpdate = true; - - // } - - // } - } export default SpriteNodeMaterial; From fd20c21179fd220115dc6506560075dc1cb6e31f Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 15:10:20 +0900 Subject: [PATCH 12/21] smaller change test --- src/materials/nodes/SpriteNodeMaterial.js | 35 ++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index c3182c0727d2b5..d790c07e24ff48 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -5,7 +5,7 @@ import { materialRotation } from '../../nodes/accessors/MaterialNode.js'; import { modelViewMatrix, modelWorldMatrix } from '../../nodes/accessors/ModelNode.js'; import { positionLocal } from '../../nodes/accessors/Position.js'; import { rotate } from '../../nodes/utils/RotateNode.js'; -import { float, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; +import { float, If, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; import { SpriteMaterial } from '../SpriteMaterial.js'; @@ -26,6 +26,7 @@ class SpriteNodeMaterial extends NodeMaterial { this.isSpriteNodeMaterial = true; this.lights = false; + this.useSizeAttenuation = true; this.positionNode = null; this.rotationNode = null; @@ -39,6 +40,8 @@ class SpriteNodeMaterial extends NodeMaterial { setupPosition( { object, context } ) { + const useSizeAttenuation = this.sizeAttenuation; + // < VERTEX STAGE > const { positionNode, rotationNode, scaleNode } = this; @@ -55,6 +58,19 @@ class SpriteNodeMaterial extends NodeMaterial { } + + if ( ! useSizeAttenuation ) { + + const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( - 1.0 ); + + If( perspective, () => { + + scale.assign( scale.mul( mvPosition.z.negate() ) ); + + } ); + + } + let alignedPosition = vertex.xy; if ( object.center && object.center.isVector2 === true ) { @@ -89,6 +105,23 @@ class SpriteNodeMaterial extends NodeMaterial { } + get sizeAttenuation() { + + return this.useSizeAttenuation; + + } + + set sizeAttenuation( value ) { + + if ( this.useSizeAttenuation !== value ) { + + this.useSizeAttenuation = value; + this.needsUpdate = true; + + } + + } + } export default SpriteNodeMaterial; From b3b91a956515ffc91dcb6797c4a7bd487c0e86e5 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 15:18:37 +0900 Subject: [PATCH 13/21] convert scale to var --- src/materials/nodes/SpriteNodeMaterial.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index d790c07e24ff48..a1f66225b462f7 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -50,11 +50,11 @@ class SpriteNodeMaterial extends NodeMaterial { let mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); - let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ); + const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); if ( scaleNode !== null ) { - scale = scale.mul( scaleNode ); + scale.assign( vec2( scaleNode ) ); } From bf644b82495568c33905a636283392dcf1d91aaa Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 15:19:13 +0900 Subject: [PATCH 14/21] convert scale to var --- src/materials/nodes/SpriteNodeMaterial.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index a1f66225b462f7..5fee61b6ba62a3 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -54,7 +54,7 @@ class SpriteNodeMaterial extends NodeMaterial { if ( scaleNode !== null ) { - scale.assign( vec2( scaleNode ) ); + scale.assign( scale.mul( scaleNode ) ); } From 7947ee1c87d530afc0ceadc50a0d7ef336f8afd7 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 15:32:01 +0900 Subject: [PATCH 15/21] simply adding toVar breaks tsl_galaxy? --- src/materials/nodes/SpriteNodeMaterial.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index 5fee61b6ba62a3..a89ce3a78c9260 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -50,11 +50,11 @@ class SpriteNodeMaterial extends NodeMaterial { let mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); - const scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); + let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); if ( scaleNode !== null ) { - scale.assign( scale.mul( scaleNode ) ); + scale = scale.mul( scaleNode ); } From 4068b0cd2255cd4539ca1a4cf478c315af78fe97 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 14 Sep 2024 18:43:23 +0900 Subject: [PATCH 16/21] fix multiple spritematerial with different center position --- src/renderers/common/RenderObject.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/renderers/common/RenderObject.js b/src/renderers/common/RenderObject.js index e549c573da2f46..a3ef82fba669cd 100644 --- a/src/renderers/common/RenderObject.js +++ b/src/renderers/common/RenderObject.js @@ -317,11 +317,11 @@ export default class RenderObject { } - // if ( object.center ) { + if ( object.center ) { - // cacheKey += object.center.x + ',' + object.center.y + ','; + cacheKey += object.center.x + ',' + object.center.y + ','; - // } + } if ( object.count > 1 ) { From e2c5af3d7b14f5a92b1ece2bc972ebd853d79c6c Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sun, 15 Sep 2024 10:46:13 +0900 Subject: [PATCH 17/21] feedbacks --- src/materials/nodes/SpriteNodeMaterial.js | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index a89ce3a78c9260..f0509881d1c179 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -5,7 +5,7 @@ import { materialRotation } from '../../nodes/accessors/MaterialNode.js'; import { modelViewMatrix, modelWorldMatrix } from '../../nodes/accessors/ModelNode.js'; import { positionLocal } from '../../nodes/accessors/Position.js'; import { rotate } from '../../nodes/utils/RotateNode.js'; -import { float, If, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; +import { float, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; import { SpriteMaterial } from '../SpriteMaterial.js'; @@ -26,7 +26,7 @@ class SpriteNodeMaterial extends NodeMaterial { this.isSpriteNodeMaterial = true; this.lights = false; - this.useSizeAttenuation = true; + this._useSizeAttenuation = true; this.positionNode = null; this.rotationNode = null; @@ -38,7 +38,7 @@ class SpriteNodeMaterial extends NodeMaterial { } - setupPosition( { object, context } ) { + setupPosition( { object, camera, context } ) { const useSizeAttenuation = this.sizeAttenuation; @@ -59,15 +59,9 @@ class SpriteNodeMaterial extends NodeMaterial { } - if ( ! useSizeAttenuation ) { + if ( ! useSizeAttenuation && camera.isPerspectiveCamera ) { - const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( - 1.0 ); - - If( perspective, () => { - - scale.assign( scale.mul( mvPosition.z.negate() ) ); - - } ); + scale.assign( scale.mul( mvPosition.z.negate() ) ); } @@ -107,15 +101,15 @@ class SpriteNodeMaterial extends NodeMaterial { get sizeAttenuation() { - return this.useSizeAttenuation; + return this._useSizeAttenuation; } set sizeAttenuation( value ) { - if ( this.useSizeAttenuation !== value ) { + if ( this._useSizeAttenuation !== value ) { - this.useSizeAttenuation = value; + this._useSizeAttenuation = value; this.needsUpdate = true; } From 907a0a1ea5f465d9883a48a7bae9ceb1060ecd1e Mon Sep 17 00:00:00 2001 From: sunag Date: Sun, 15 Sep 2024 00:54:47 -0300 Subject: [PATCH 18/21] cleanup --- src/materials/nodes/SpriteNodeMaterial.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index f0509881d1c179..a24e4ad88a0ef3 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -50,7 +50,7 @@ class SpriteNodeMaterial extends NodeMaterial { let mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) ); - let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ).toVar(); + let scale = vec2( modelWorldMatrix[ 0 ].xyz.length(), modelWorldMatrix[ 1 ].xyz.length() ); if ( scaleNode !== null ) { @@ -61,7 +61,7 @@ class SpriteNodeMaterial extends NodeMaterial { if ( ! useSizeAttenuation && camera.isPerspectiveCamera ) { - scale.assign( scale.mul( mvPosition.z.negate() ) ); + scale = scale.mul( mvPosition.z.negate() ); } From e4e3e6a344793cf9495f1fd7f8bc985cb8154db5 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Mon, 23 Sep 2024 17:01:21 +0900 Subject: [PATCH 19/21] feedbacks --- src/materials/nodes/SpriteNodeMaterial.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index a24e4ad88a0ef3..a5c722f30af33d 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -1,5 +1,4 @@ import NodeMaterial from './NodeMaterial.js'; -import { uniform } from '../../nodes/core/UniformNode.js'; import { cameraProjectionMatrix } from '../../nodes/accessors/Camera.js'; import { materialRotation } from '../../nodes/accessors/MaterialNode.js'; import { modelViewMatrix, modelWorldMatrix } from '../../nodes/accessors/ModelNode.js'; @@ -8,6 +7,7 @@ import { rotate } from '../../nodes/utils/RotateNode.js'; import { float, vec2, vec3, vec4 } from '../../nodes/tsl/TSLBase.js'; import { SpriteMaterial } from '../SpriteMaterial.js'; +import { reference } from '../../nodes/accessors/ReferenceBaseNode.js'; const _defaultValues = /*@__PURE__*/ new SpriteMaterial(); @@ -40,7 +40,7 @@ class SpriteNodeMaterial extends NodeMaterial { setupPosition( { object, camera, context } ) { - const useSizeAttenuation = this.sizeAttenuation; + const sizeAttenuation = this.sizeAttenuation; // < VERTEX STAGE > @@ -59,7 +59,7 @@ class SpriteNodeMaterial extends NodeMaterial { } - if ( ! useSizeAttenuation && camera.isPerspectiveCamera ) { + if ( ! sizeAttenuation && camera.isPerspectiveCamera ) { scale = scale.mul( mvPosition.z.negate() ); @@ -69,7 +69,9 @@ class SpriteNodeMaterial extends NodeMaterial { if ( object.center && object.center.isVector2 === true ) { - alignedPosition = alignedPosition.sub( uniform( object.center ).sub( 0.5 ) ); + const center = reference( 'center', 'vec2', object ); + + alignedPosition = alignedPosition.sub( center.sub( 0.5 ) ); } From e8a68eab29acfeb5f80543be9b1f38eef521d204 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Mon, 23 Sep 2024 17:27:56 +0900 Subject: [PATCH 20/21] cleanup --- src/renderers/common/RenderObject.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/renderers/common/RenderObject.js b/src/renderers/common/RenderObject.js index a3ef82fba669cd..c05253259c083e 100644 --- a/src/renderers/common/RenderObject.js +++ b/src/renderers/common/RenderObject.js @@ -317,12 +317,6 @@ export default class RenderObject { } - if ( object.center ) { - - cacheKey += object.center.x + ',' + object.center.y + ','; - - } - if ( object.count > 1 ) { cacheKey += object.count + ',' + object.uuid + ','; From 7eefe3ed29f6e0ddbbe0fdb0bac4792c24ef6ce1 Mon Sep 17 00:00:00 2001 From: sunag Date: Mon, 23 Sep 2024 12:43:45 -0300 Subject: [PATCH 21/21] cleanup --- src/materials/nodes/SpriteNodeMaterial.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/materials/nodes/SpriteNodeMaterial.js b/src/materials/nodes/SpriteNodeMaterial.js index a5c722f30af33d..21a298513550c9 100644 --- a/src/materials/nodes/SpriteNodeMaterial.js +++ b/src/materials/nodes/SpriteNodeMaterial.js @@ -69,7 +69,7 @@ class SpriteNodeMaterial extends NodeMaterial { if ( object.center && object.center.isVector2 === true ) { - const center = reference( 'center', 'vec2', object ); + const center = reference( 'center', 'vec2' ); alignedPosition = alignedPosition.sub( center.sub( 0.5 ) );