From 83d7f3639ee276dfc8432c9218d7e8ce7d02104e Mon Sep 17 00:00:00 2001 From: Yannis Gravezas Date: Mon, 19 Feb 2024 00:01:57 +0200 Subject: [PATCH 1/5] tight morph target packing --- examples/files.json | 1 + .../screenshots/webgl_morphtargets_faces.jpg | Bin 0 -> 19336 bytes examples/webgl_morphtargets_faces.html | 151 ++++++++++++++++++ .../morphtarget_pars_vertex.glsl.js | 30 +++- src/renderers/webgl/WebGLMorphtargets.js | 37 +++-- src/renderers/webgl/WebGLPrograms.js | 6 +- 6 files changed, 201 insertions(+), 24 deletions(-) create mode 100644 examples/screenshots/webgl_morphtargets_faces.jpg create mode 100644 examples/webgl_morphtargets_faces.html diff --git a/examples/files.json b/examples/files.json index 3681a4389bcbab..562b8df3a65799 100644 --- a/examples/files.json +++ b/examples/files.json @@ -182,6 +182,7 @@ "webgl_modifier_tessellation", "webgl_morphtargets", "webgl_morphtargets_face", + "webgl_morphtargets_faces", "webgl_morphtargets_horse", "webgl_morphtargets_sphere", "webgl_morphtargets_webcam", diff --git a/examples/screenshots/webgl_morphtargets_faces.jpg b/examples/screenshots/webgl_morphtargets_faces.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f85e94b121c448d3f9e82c2f64fc8882aaedd4f GIT binary patch literal 19336 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
IoFmieNO=w(0-o$p-RO?qF{B9e#Ugp|W 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 literal 0 HcmV?d00001 diff --git a/examples/webgl_morphtargets_faces.html b/examples/webgl_morphtargets_faces.html new file mode 100644 index 00000000000000..3e34ebe0e03ab2 --- /dev/null +++ b/examples/webgl_morphtargets_faces.html @@ -0,0 +1,151 @@ + + + + + three.js webgl - morph targets - faces + + + + + + + +
+ three.js webgl - morph targets - faces
+ model by Face Cap +
+ + + + + + diff --git a/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js b/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js index 7cb8769e0cbbde..9a9e9be92d252b 100644 --- a/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +++ b/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js @@ -20,12 +20,38 @@ export default /* glsl */` vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { - int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; + int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + 3 * offset; + int y = texelIndex / morphTargetsTextureSize.x; int x = texelIndex - y * morphTargetsTextureSize.x; ivec3 morphUV = ivec3( x, y, morphTargetIndex ); - return texelFetch( morphTargetsTexture, morphUV, 0 ); + + vec4 ret = vec4(0.); + + ret.x = texelFetch( morphTargetsTexture, morphUV, 0 ).r; + + morphUV.x++; + + ret.y = texelFetch( morphTargetsTexture, morphUV, 0 ).r; + + morphUV.x++; + + ret.z = texelFetch( morphTargetsTexture, morphUV, 0 ).r; + + #if MORPHTARGETS_TEXTURE_STRIDE == 10 + + morphUV.x++; + + ret.a = offset == 2 ? texelFetch( morphTargetsTexture, morphUV, 0 ).r : 0.; + + #else + + ret.a = 0.; + + #endif + + return ret; } diff --git a/src/renderers/webgl/WebGLMorphtargets.js b/src/renderers/webgl/WebGLMorphtargets.js index 8e39bcfa99578d..814bc7db4a36b9 100644 --- a/src/renderers/webgl/WebGLMorphtargets.js +++ b/src/renderers/webgl/WebGLMorphtargets.js @@ -1,4 +1,4 @@ -import { FloatType } from '../../constants.js'; +import { FloatType, RedFormat } from '../../constants.js'; import { DataArrayTexture } from '../../textures/DataArrayTexture.js'; import { Vector4 } from '../../math/Vector4.js'; import { Vector2 } from '../../math/Vector2.js'; @@ -58,41 +58,42 @@ function WebGLMorphtargets( gl, capabilities, textures ) { let vertexDataCount = 0; - if ( hasMorphPosition === true ) vertexDataCount = 1; - if ( hasMorphNormals === true ) vertexDataCount = 2; - if ( hasMorphColors === true ) vertexDataCount = 3; + if ( hasMorphPosition === true ) vertexDataCount = 3; + if ( hasMorphNormals === true ) vertexDataCount = 6; + if ( hasMorphColors === true ) vertexDataCount = 10; let width = geometry.attributes.position.count * vertexDataCount; let height = 1; if ( width > capabilities.maxTextureSize ) { - height = Math.ceil( width / capabilities.maxTextureSize ); + // Align on stride to simplify the texel fetching in the shader + const strideWidth = Math.ceil( width / vertexDataCount ) * vertexDataCount; + height = Math.ceil( strideWidth / capabilities.maxTextureSize ); width = capabilities.maxTextureSize; } - const buffer = new Float32Array( width * height * 4 * morphTargetsCount ); + const buffer = new Float32Array( width * height * morphTargetsCount ); const texture = new DataArrayTexture( buffer, width, height, morphTargetsCount ); texture.type = FloatType; + texture.format = RedFormat; texture.needsUpdate = true; // fill buffer - const vertexDataStride = vertexDataCount * 4; - for ( let i = 0; i < morphTargetsCount; i ++ ) { const morphTarget = morphTargets[ i ]; const morphNormal = morphNormals[ i ]; const morphColor = morphColors[ i ]; - const offset = width * height * 4 * i; + const offset = width * height * i; for ( let j = 0; j < morphTarget.count; j ++ ) { - const stride = j * vertexDataStride; + const stride = j * vertexDataCount; if ( hasMorphPosition === true ) { @@ -101,7 +102,6 @@ function WebGLMorphtargets( gl, capabilities, textures ) { buffer[ offset + stride + 0 ] = morph.x; buffer[ offset + stride + 1 ] = morph.y; buffer[ offset + stride + 2 ] = morph.z; - buffer[ offset + stride + 3 ] = 0; } @@ -109,10 +109,9 @@ function WebGLMorphtargets( gl, capabilities, textures ) { morph.fromBufferAttribute( morphNormal, j ); - buffer[ offset + stride + 4 ] = morph.x; - buffer[ offset + stride + 5 ] = morph.y; - buffer[ offset + stride + 6 ] = morph.z; - buffer[ offset + stride + 7 ] = 0; + buffer[ offset + stride + 3 ] = morph.x; + buffer[ offset + stride + 4 ] = morph.y; + buffer[ offset + stride + 5 ] = morph.z; } @@ -120,10 +119,10 @@ function WebGLMorphtargets( gl, capabilities, textures ) { morph.fromBufferAttribute( morphColor, j ); - buffer[ offset + stride + 8 ] = morph.x; - buffer[ offset + stride + 9 ] = morph.y; - buffer[ offset + stride + 10 ] = morph.z; - buffer[ offset + stride + 11 ] = ( morphColor.itemSize === 4 ) ? morph.w : 1; + buffer[ offset + stride + 6 ] = morph.x; + buffer[ offset + stride + 7 ] = morph.y; + buffer[ offset + stride + 8 ] = morph.z; + buffer[ offset + stride + 9 ] = ( morphColor.itemSize === 4 ) ? morph.w : 1; } diff --git a/src/renderers/webgl/WebGLPrograms.js b/src/renderers/webgl/WebGLPrograms.js index c58f21532161b7..8fd235285746a0 100644 --- a/src/renderers/webgl/WebGLPrograms.js +++ b/src/renderers/webgl/WebGLPrograms.js @@ -80,9 +80,9 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities let morphTextureStride = 0; - if ( geometry.morphAttributes.position !== undefined ) morphTextureStride = 1; - if ( geometry.morphAttributes.normal !== undefined ) morphTextureStride = 2; - if ( geometry.morphAttributes.color !== undefined ) morphTextureStride = 3; + if ( geometry.morphAttributes.position !== undefined ) morphTextureStride = 3; + if ( geometry.morphAttributes.normal !== undefined ) morphTextureStride = 6; + if ( geometry.morphAttributes.color !== undefined ) morphTextureStride = 10; // From 9d48b7a3dfa5a95c67c3c439c5499009796a1d06 Mon Sep 17 00:00:00 2001 From: Yannis Gravezas Date: Mon, 19 Feb 2024 03:21:56 +0200 Subject: [PATCH 2/5] remove redundant assignment --- .../shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js b/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js index 9a9e9be92d252b..23121e311a0f89 100644 --- a/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +++ b/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js @@ -45,10 +45,6 @@ export default /* glsl */` ret.a = offset == 2 ? texelFetch( morphTargetsTexture, morphUV, 0 ).r : 0.; - #else - - ret.a = 0.; - #endif return ret; From 28e55a0abaef4ecb19aed3723a1e5988c614015a Mon Sep 17 00:00:00 2001 From: Yannis Gravezas Date: Mon, 19 Feb 2024 13:31:22 +0200 Subject: [PATCH 3/5] updated example with variable instance count --- examples/files.json | 1 - .../screenshots/webgl_instancing_morph.jpg | Bin 71636 -> 19336 bytes .../screenshots/webgl_morphtargets_faces.jpg | Bin 19336 -> 0 bytes examples/webgl_instancing_morph.html | 211 +++++++++--------- examples/webgl_morphtargets_faces.html | 151 ------------- 5 files changed, 103 insertions(+), 260 deletions(-) delete mode 100644 examples/screenshots/webgl_morphtargets_faces.jpg delete mode 100644 examples/webgl_morphtargets_faces.html diff --git a/examples/files.json b/examples/files.json index 562b8df3a65799..3681a4389bcbab 100644 --- a/examples/files.json +++ b/examples/files.json @@ -182,7 +182,6 @@ "webgl_modifier_tessellation", "webgl_morphtargets", "webgl_morphtargets_face", - "webgl_morphtargets_faces", "webgl_morphtargets_horse", "webgl_morphtargets_sphere", "webgl_morphtargets_webcam", diff --git a/examples/screenshots/webgl_instancing_morph.jpg b/examples/screenshots/webgl_instancing_morph.jpg index 80c4a5a3ef16601e2a747aebdfd8b2f94de4a66f..7f85e94b121c448d3f9e82c2f64fc8882aaedd4f 100644 GIT binary patch delta 17329 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 B&z1lH literal 71636 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
IoFmieNO=w(0-o$p-RO?qF{B9e#Ugp|W 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 diff --git a/examples/webgl_instancing_morph.html b/examples/webgl_instancing_morph.html index dab774e81c3aac..a83d2cb9eb9fee 100644 --- a/examples/webgl_instancing_morph.html +++ b/examples/webgl_instancing_morph.html @@ -1,12 +1,24 @@ + - three.js webgl - instancing - Morph Target Animations + three.js webgl - morph targets - instancing + + +
+ three.js webgl - morph targets - instancing
+ model by Face Cap +
+ - diff --git a/examples/webgl_morphtargets_faces.html b/examples/webgl_morphtargets_faces.html deleted file mode 100644 index 3e34ebe0e03ab2..00000000000000 --- a/examples/webgl_morphtargets_faces.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - three.js webgl - morph targets - faces - - - - - - - -
- three.js webgl - morph targets - faces
- model by Face Cap -
- - - - - - From eef9f152c05e6f6a8f254059b9ecf45232395b78 Mon Sep 17 00:00:00 2001 From: Yannis Gravezas Date: Mon, 19 Feb 2024 13:33:39 +0200 Subject: [PATCH 4/5] update screenshot --- .../screenshots/webgl_instancing_morph.jpg | Bin 19336 -> 11906 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/screenshots/webgl_instancing_morph.jpg b/examples/screenshots/webgl_instancing_morph.jpg index 7f85e94b121c448d3f9e82c2f64fc8882aaedd4f..49e33fcb83fc1c91ec7a013f8a69aa5a690efd35 100644 GIT binary patch delta 9595 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 OY~laI!vukzj{hGe&1!N0 delta 17142 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 Date: Mon, 19 Feb 2024 14:01:31 +0200 Subject: [PATCH 5/5] fix width calculation when > maxTextureSize --- src/renderers/webgl/WebGLMorphtargets.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderers/webgl/WebGLMorphtargets.js b/src/renderers/webgl/WebGLMorphtargets.js index 814bc7db4a36b9..d766816601e704 100644 --- a/src/renderers/webgl/WebGLMorphtargets.js +++ b/src/renderers/webgl/WebGLMorphtargets.js @@ -67,10 +67,10 @@ function WebGLMorphtargets( gl, capabilities, textures ) { if ( width > capabilities.maxTextureSize ) { - // Align on stride to simplify the texel fetching in the shader - const strideWidth = Math.ceil( width / vertexDataCount ) * vertexDataCount; - height = Math.ceil( strideWidth / capabilities.maxTextureSize ); - width = capabilities.maxTextureSize; + // Align width on stride to simplify the texel fetching in the shader + const strideWidth = Math.floor( capabilities.maxTextureSize / vertexDataCount ) * vertexDataCount; + height = Math.ceil( width / strideWidth ); + width = strideWidth; }