Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLTF KHR_materials_anisotropy support #25580

Merged
merged 48 commits into from May 11, 2023
Merged

GLTF KHR_materials_anisotropy support #25580

merged 48 commits into from May 11, 2023

Conversation

elalish
Copy link
Contributor

@elalish elalish commented Feb 28, 2023

Related issue: #9250

Description

The PBR Next working group at Khronos is actively working on an anisotropy extension now, so I'm starting work to implement it in order to find any flaws early. The spec has not been updated recently, so don't read it closely just yet. The current idea is to store anisotropy as a two-channel vector texture, with a scalar strength multiplier. This means the shader will have to decompose it into polar coordinates (strength and angle), but it will allow better texture compression and better interpolation.

We want to wait until the extension is settled before merging this, but this will allow our progress to be followed more openly. FYI @emackey.

Results so far for an IBL that represents a directional light (left) vs the actual directional light (right):
imageimage
See for yourself in this example.

@Mugen87 Mugen87 added this to the r??? milestone Feb 28, 2023
@LeviPesin
Copy link
Contributor

Not sure what happened with the job https://github.com/mrdoob/three.js/actions/runs/4288360805/jobs/7470277469 on this PR... Seems like a GitHub issue because the job itself completed just in a few minutes.


// Normal Mapping Without Precomputed Tangents
// http://www.thetenthplanet.de/archives/1180

vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {
mat3 getTangentSpace( vec3 eye_pos, vec3 surf_norm ) {
Copy link
Contributor Author

@elalish elalish Mar 1, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WestLangley I still haven't actually implemented anisotropy here yet, but I realized I'll need the tangent space for it. It wasn't very accessible, so I did this refactor of the normal map shader chunks. There should be no change in behavior here so far, and I think this both simplifies the code and reduces some duplicate calculations in the clearcoat normal map. But, it would be great to get some early feedback here since I want to base my anisotropy calculations on this.

Copy link
Contributor Author

@elalish elalish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I have a draft implementation of anisotropy for both direct and indirect lighting. This is largely following Filament's implementation (I need to add links), except for the parameterization and mapping of the inputs.

material.anisotropy = length( anisotropyV );

// Roughness along the anisotropy tangent is the material roughness, while the bitangent roughness increases with anisotropy.
material.alphaB = pow2( mix( material.roughness, 1.0, material.anisotropy ) );
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the key mapping we're trying to figure out for the spec - every renderer seems to use a different mapping, so we're looking to ensure the encoded values are perceptually linear-ish, and that the direct and IBL approximations agree decently well.

// GGX Distribution, Schlick Fresnel, GGX_SmithCorrelated Visibility
vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {
vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another refactor here is to make the Clearcoat BRDF the special function instead of the iridescence BRDF. This is nice because clearcoat always uses the simple version, whereas the base BRDF get adjusted by several things, so far iridescence and anisotropy. This feels cleaner to me, hopefully others agree, especially since I removed a lot of the function inputs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

However, this did also necessitate moving the PhysicalMaterial definition into its own chunk so it could be included earlier.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see the problem - okay, coming back tomorrow.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I did a different refactor instead due to troubles with include order. Basically bsdfs.glsl.js had mostly Physical BRDFs that are only used by lights_physical_pars_fragment.glsl.js, so I just moved those functions into that file (a little big now, but self-contained). The only other function used broadly was BRDF_Lambert, so I moved that to common.glsl.js. Now bsdfs.glsl.js is just BlinnPhong functions, and no longer imported by meshphysical.

Sorry this makes the PR a bit hard to read - probably best to look at commits individually.

@elalish elalish marked this pull request as ready for review March 3, 2023 00:47
@elalish
Copy link
Contributor Author

elalish commented Mar 3, 2023

I just switched this from Draft because for some reason the CI stopped running on my PR and I thought that might fix it, but no luck. Is there some quota I exceeded? Oh well, I guess I'll just run it locally for now...

@mrdoob
Copy link
Owner

mrdoob commented Mar 3, 2023

I just switched this from Draft because for some reason the CI stopped running on my PR and I thought that might fix it, but no luck. Is there some quota I exceeded? Oh well, I guess I'll just run it locally for now...

/ping @LeviPesin

@LeviPesin
Copy link
Contributor

No idea 🤷‍♂️ You can enable actions in your fork (i.e. https://github.com/elalish/three.js) to at least run them there, but no idea why they no longer work in this PR...

@LeviPesin
Copy link
Contributor

LeviPesin commented Mar 3, 2023

Can you merge dev into your branch? Maybe it's something related to not updated actions.
But this is also strange -- deprecated versions were planned to be removed only on 1 June and 22 September...

@LeviPesin
Copy link
Contributor

LeviPesin commented Mar 3, 2023

Ah, it seems it was just a GitHub Actions' outage.

@elalish
Copy link
Contributor Author

elalish commented Mar 4, 2023

Okay, shaders are all working, but still need to test the direct lighting path.

@elalish
Copy link
Contributor Author

elalish commented Apr 3, 2023

Anyway, there's a fair bit of disagreement on this one, even between the path tracers, and ours looks decent to me, so I think it's fine for now: https://modelviewer.dev/fidelity/#khronos-LightsPunctualLamp

@elalish
Copy link
Contributor Author

elalish commented Apr 3, 2023

@mrdoob Okay, so the one problem I've found with your UVs update is that IBLs now fail to compile when we have anisotropy, no map, and no tangents. The reason is that even if no map is using the UVs, anisotropy still needs them to calculate tangents if they're not supplied. I also noticed you duplicated some code in normal_fragment_begin.glsl, which is kind of related. There's no real difference between tbn and tbn2, we're just unsure which UV coordinate name is available (they'll all give the same results). It might be nice to have some "master uv" that just grabs the first set that's defined for cases like this.

@donmccurdy
Copy link
Collaborator

... there's a fair bit of disagreement on this one, even between the path tracers ...

I'm been beginning to wonder whether it's really possible to transport punctual lights effectively between engines, without also controlling more of the image formation chain. At minimum, setting up equivalent exposure in each engine, where exposure = 1 in one is not necessarily the same thing as exposure = 1 in another. Blender's new "Lighting Mode: Standard" export option makes a good case study here.

... we're just unsure which UV coordinate name is available (they'll all give the same results)

Are we sure TEXCOORD_0 and TEXCOORD_1 are going to give the same results? This seems to be an open question under KhronosGroup/glTF#1798 (comment), with the current proposal being that vertex tangents are required if anisotropyTexture is not defined.

@emackey
Copy link

emackey commented Apr 4, 2023

@donmccurdy With yesterday's draft anisotropy update, I've added this proposed wording. What do you think?

All meshes that use nonzero anisotropy strength SHOULD supply TANGENT vectors as a mesh attribute. If TANGENT vectors are not supplied for such a mesh, TEXCOORD_0 MUST be supplied instead, such that tangent vectors can be automatically calculated.

I'm honestly not certain about hard-coding the zero in the spec like that, but the anisotropyTexture is optional where the tangents are required, and it feels perhaps too cumbersome to specify a bunch of logic for looking up the TEXCOORD number based on this map if it happens to exist, and what to do if it does not exist.

Sorry, this is off-topic here though, feel free to post a reply on KhronosGroup/glTF#1798.

To directly answer the question:

Are we sure TEXCOORD_0 and TEXCOORD_1 are going to give the same results?

No, the "U" direction can be completely different for alternate maps, so the tangents can flow different ways based on the TEXCOORD index number. Makes me wonder why glTF has only the one TANGENT attribute, actually, but at least that singularity may be of use to anisotropy.

@donmccurdy
Copy link
Collaborator

donmccurdy commented Apr 4, 2023

Potential conflicts here:

# anisotropyTexture normalTexture TANGENTS outcome
A TEXCOORD_0 TEXCOORD_0 ✅ use existing tangents
B TEXCOORD_0 TEXCOORD_0 ✅ generate tangents with TEXCOORD_0
C TEXCOORD_0 TEXCOORD_1 ⚠️ tangents valid for which UVs?
D TEXCOORD_1 ⚠️ how to generate tangents?
E TEXCOORD_1 TEXCOORD_0 ⚠️ tangents valid for which UVs?
F TEXCOORD_1 TEXCOORD_0 ⚠️ how to generate tangents?

In cases D+F, the implementation would need to calculate TANGENTS for the normal map and anisotropy with competing sources of texture coordinates. This is possible (if unwieldy) for a runtime, but impossible for a processing tool like glTF Transform or gltfpack trying to output valid glTF files.

I'm not sure what it'd mean if TANGENTS are present, but normalTexture and anisotropyTexture use different texture coordinates — one or the other must be incorrect?

I don't love the idea of having multiple sets of tangents in the file — it's really rare that we need to generate MikkTSpace tangents at all, computing tangents in the shader works well for a large majority of normal maps we see in three.js. I generally recommend users bake vertex tangents with MikkTSpace only when the alternatives fail; MikkTSpace is too expensive for us to do by default. But perhaps something like TANGENTS_n should be considered in a hypothetical glTF 3.0.

In the meantime, would it make sense to say anisotropyTexture is restricted to use the same UV layout as normalTexture, falling back to TEXCOORD_0 if neither is defined?

@elalish
Copy link
Contributor Author

elalish commented Apr 4, 2023

In the meantime, would it make sense to say anisotropyTexture is restricted to use the same UV layout as normalTexture, falling back to TEXCOORD_0 if neither is defined?

I like this idea. I think that means in three we could combine normalMapUv and anisotropyMapUv. Looking at the code, it would also be great to combine clearCoatNormalMapUv, but not sure if we can get away with changing the spec at this point. I'd love to understand better the multi-UV channel thing in glTF - individual texture transforms I get (for tiling) but I don't quite understand having whole separate mappings.

@mrdoob mrdoob modified the milestones: r152, r153 Apr 27, 2023
@elalish
Copy link
Contributor Author

elalish commented May 10, 2023

I believe this is ready for final review and merging. I've added an example and the spec has been updated such that our handling of UVs is now compliant, as they are not allowed to mix and match.

@mrdoob mrdoob merged commit 22c5f25 into mrdoob:dev May 11, 2023
19 checks passed
@emackey
Copy link

emackey commented May 11, 2023

@elalish Congrats on the merge!

One wrinkle, looks like the AnisotropyBarnLamp.glb sample model merged here contains one incorrect (old) name, anisotropyDirectionTexture instead of anisotropyTexture in the material's extension JSON. I just pushed an updated GLB to KhronosGroup/glTF-Sample-Models#366.

The loader code looks good to me as far as parameter names in the glTF. Awesome work here.

@elalish
Copy link
Contributor Author

elalish commented May 11, 2023

@emackey Ah, that makes sense why it was looking a little odd then. Eric said he's almost done updating the model (from an artistic standpoint) anyway, so I'll probably wait for that merge and then update it.

@elalish elalish deleted the anisotropy branch May 11, 2023 20:48
@sunag sunag mentioned this pull request May 18, 2023
6 tasks
@Methuselah96 Methuselah96 mentioned this pull request Jun 4, 2023
45 tasks
lmj01 added a commit to lmj01/three.js that referenced this pull request Jun 7, 2023
commit 9a6376aca142fbe7186f6a53bfa4dab72148f0e7
Author: Mugen87 <michael.herzog@human-interactive.org>
Date:   Wed Jun 7 00:31:36 2023 +0200

    Updated builds.

commit 6b4279a96bb2c06a8ce8fc42c089b4ec5b93b21c
Author: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>
Date:   Wed Jun 7 08:00:23 2023 +0930

    Remove code deprecated for 10 releases (#26175)

    * Remove code deprecated for 10 releases

    * Update Scene.js

    * Update BufferAttribute.js

    * Update BufferGeometry.js

commit 860041cafa985181458211eb843150f4d3da2386
Author: Garrett Johnson <garrett.kjohnson@gmail.com>
Date:   Wed Jun 7 01:03:36 2023 +0900

    update example versions (#26203)

commit 74e72fab62fbb5e3a6860833bbaa71bfde865988
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue Jun 6 10:28:46 2023 +0200

    Revert "SSAARenderPass: Remove `unbiased` property. (#26178)" (#26198)

    This reverts commit 33d074702a5648444e182645919c3e7040f60c9a.

commit 39ab305a37b4f1e1e8709672c1078183e393a30a
Author: Viktor Kovacs <viktorkovacs@gmail.com>
Date:   Tue Jun 6 00:47:17 2023 +0200

    Loader: Add `DEFAULT_MATERIAL_NAME`. (#26188)

    * Default material name for 3MF and AMF loaders.

    * Use default material name in more loaders.

    * Remove material name overwrite after initialization.

commit b396cc0e34f42252cad516053497771c0b10bc50
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Mon Jun 5 21:17:47 2023 +0300

    Docs: Translating Loaders section into Arabic (ar).  (#26194)

    * update list.json to include the Loaders section of arabic docs

    * add arabic translation for AnimationLoader page

    * add arabic translation for AudioLoader page

    * add arabic translation for BufferGeometryLoader page

    * add arabic translation for Cache page

    * add arabic translation for CompressedTextureLoader page

    * add arabic translation for CubeTextureLoader page

    * add arabic translation for DataTextureLoader page

    * add arabic translation for FileLoader page

    * add arabic translation for ImageBitmapLoader page

    * add arabic translation for ImageLoader page

    * add arabic translation for Loader page

    * add arabic translation for LoaderUtils page

    * add arabic translation for MaterialLoader page

    * add arabic translation for ObjectLoader page

    * add arabic translation for TextureLoader page

commit f12623a677bdfabfb26491bd1da823b662485677
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Mon Jun 5 20:16:59 2023 +0200

    Update constants.js

    Update revision.

commit 14e12e0b05deee97a03afb5caf130b769dce5fbd
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Mon Jun 5 20:16:31 2023 +0200

    Examples: Clean up. (#26193)

commit 47df928c8a963c2a4b61cfd459a36103aec0db2b
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Mon Jun 5 19:17:17 2023 +0300

    fix typo (#26195)

commit f1b8f3c6a30a45b47544fe91e5ea1db18e7c96e9
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon Jun 5 04:48:31 2023 +0000

    Update dependency rollup to v3.23.1 (#26191)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 6da2cced434bedb86e3032ee9c8547d6837d5f71
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Jun 4 18:53:51 2023 +0000

    Update devDependencies (non-major) (#26189)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 52bc19c5419c370434397dbca50a931cba8b9353
Author: sunag <sunagbrasil@gmail.com>
Date:   Sat Jun 3 19:52:25 2023 -0300

    WebGPURenderer: Don't set redundant state (#26186)

    * BufferAttribute: Added .uuid

    * WebGPURenderer: Don't set redundant state

    * cleanup

    * BufferAttribute: Fix serialization and tests

    * Attributes: Rename .getUUID() to .getHash()

    * Attributes: Rename .getHash() to .getUUID()

    * BufferGeometryLoader: Fix undefined uuid

    * cleanup

    * Reverting

commit ed7d2caab39553663cc8548d2391043e62a6c8a1
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Sat Jun 3 01:19:03 2023 +0300

    Docs: Translating Lights/shadows section into Arabic (ar). (#26182)

    * update list.json to include the Lights/shadows section of arabic docs

    * add arabic translation for DirectionalLightShadow page

    * add arabic translation for LightShadow page

    * add arabic translation for PointLightShadow page

    * add arabic translation for SpotLightShadow page

commit c1655d49d40504c0225633a76096c1a1fa3e0c29
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Sat Jun 3 00:18:25 2023 +0200

    CopyShader: Assume render targets have premultiplied alpha. (#26179)

    * CopyShader: Assume render targets have have premultiplied alpha.

    * TAARenderPass: Fix accumulation issues.

    * Use NoBlending in EffectComposer and SavePass.

commit dcf73522cfe9a44dfeeddb15906d4a33d18dea1a
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Fri Jun 2 12:07:12 2023 +0300

    Docs: Translating Lights section into Arabic (ar). (#26176)

    * update list.json to include the Lights section of arabic docs

    * add arabic translation for AmbientLight page

    * add arabic translation for AmbientLightProbe page

    * add arabic translation for DirectionalLight page

    * add arabic translation for HemisphereLight page

    * add arabic translation for HemisphereLightProbe page

    * add arabic translation for Light page

    * add arabic translation for LightProbe page

    * add arabic translation for PointLight page

    * add arabic translation for RectAreaLight page

    * add arabic translation for SpotLight page

commit cc08bac70546d09c6ca507d57c73b63d89751839
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Fri Jun 2 12:06:56 2023 +0300

    add consistency in code values (#26181)

commit 33d074702a5648444e182645919c3e7040f60c9a
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu Jun 1 21:58:08 2023 +0200

    SSAARenderPass: Remove `unbiased` property. (#26178)

commit 7cba91cee7ff1b36250c1535f717255555b6874b
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Thu Jun 1 11:18:06 2023 +0300

    Docs: style numbers (en). (#26147)

    * fix style of code numbers

    * update MeshMatcapMaterial and MeshNormalMaterial

commit 560c5fcba722d9b37884a6925895d64195cd675e
Author: Mr.doob <info@mrdoob.com>
Date:   Thu Jun 1 00:22:40 2023 +0900

    r153

commit bb0b7e72cdf85b7b6ec3a0f9ddf73336c80dcd8e
Author: Mr.doob <info@mrdoob.com>
Date:   Thu Jun 1 00:05:00 2023 +0900

    Clean up.

commit 77c27896d36e4f9633ab44a6fe153be45b986fda
Author: Mr.doob <info@mrdoob.com>
Date:   Thu Jun 1 00:04:51 2023 +0900

    XRHandPrimitiveModel: Disable frustum culling.

commit 939e458d2455b48b3ec8223c40987004d58e4ee0
Author: Mr.doob <info@mrdoob.com>
Date:   Wed May 31 23:37:12 2023 +0900

    Updated builds.

commit 95f678c9ca63fdb500e9c635d780428cb687855a
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Wed May 31 10:57:53 2023 +0300

    Docs: Translating Helpers section into Arabic (ar). (#26174)

    * update list.json to include the Helpers section of arabic docs

    * add arabic translation for ArrowHelper page

    * add arabic translation for AxesHelper page

    * add arabic translation for Box3Helper page

    * add arabic translation for BoxHelper page

    * add arabic translation for CameraHelper page

    * add arabic translation for DirectionLightHelper page

    * add arabic translation for GridHelper page

    * add arabic translation for HemisphereLightHelper page

    * add arabic translation for PlaneHelper page

    * add arabic translation for PointLightHelper page

    * add arabic translation for PolarGridHelper page

    * add arabic translation for SkeletonHelper page

    * add arabic translation for SpotLightHelper page

commit 517ce63ecc63e675643af6f7c16e4c94092b3e7f
Author: sunag <sunagbrasil@gmail.com>
Date:   Tue May 30 09:09:05 2023 -0300

    WebGPURenderer: CubeRenderTarget and CubeCamera (#26152)

    * Core: Introduce Coordinate System.

    * WebGPURenderer: Move hack to .coordinateSystem

    * cleanup

    * ToneMappingNode: Fix caching

    * Renderer Nodes: cleanup

    * CubeCamera: Introduce Coordinate System

    * NodeMaterial: Fixing currently colorSpace and environment

    * WebGPURenderer: Added CubeRenderTarget support

    * Examples: Added webgpu_cubemap_dynamic

    * CubeCamera: Fix .lookAt() if the object changes position.

    * CubeCamera: Set WebGLCoordinateSystem as default

    * Added totalScattering

    * Added envMapIntensity

    * Added CubeRenderTarget.fromEquirectangularTexture()

    * Update webgpu_loader_gltf.html

    * cleanup

    * update screenshots

    * revisions

    * cleanup

    * cleanup

    * update example description

commit 78e97a9ea38734216ed0437a700eb8c20999e698
Author: sunag <sunagbrasil@gmail.com>
Date:   Tue May 30 07:56:50 2023 -0300

    Core: Introduce Coordinate System (#26140)

    * Core: Introduce Coordinate System.

    * WebGPURenderer: Move hack to .coordinateSystem

    * cleanup

commit d88e5f66a185a647e41409da7c2fac2a34f5772f
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 30 12:20:47 2023 +0200

    Docs: Improve `CubeTextureLoader` page. (#26169)

commit 6afb8595c0bf8b2e72818e42b64e6fe22707d896
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 30 09:47:47 2023 +0200

    CubeTextureLoader: Return sRGB textures by default. (#26162)

commit 129635bdb5cbfa11f1b31522889846e862da43d0
Author: sunag <sunagbrasil@gmail.com>
Date:   Mon May 29 08:10:48 2023 -0300

    Nodes: Fix circular dependency (#26163)

commit 51611feae56d494db5e80da5d888bd955cfa8025
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Mon May 29 10:53:48 2023 +0300

    Docs: Translating Geometries section into Arabic (ar).  (#26155)

    * update list.json to include the Geomtries section of arabic docs

    * add arabic translation for BoxGeometry page

    * add arabic translation for CapsuleGeometry page

    * add arabic translation for CircleGeometry page

    * add arabic translation for ConeGeometry page

    * add arabic translation for CylinderGeometry page

    * add arabic translation for DedecahedronGeometry page

    * add arabic translation for EdgesGeometry page

    * add arabic translation for ExtrudeGeometry page

    * add arabic translation for IcosahedronGeometry page

    * add arabic translation for LatheGeometry page

    * add arabic translation for OctahedronGeometry page

    * add arabic translation for PlaneGeometry page

    * add arabic translation for PolyhedronGeometry page

    * add arabic translation for RingGeometry page

    * add arabic translation for ShapeGeometry page

    * add arabic translation for SphereGeometry page

    * add arabic translation for TetrahedronGeometry page

    * add arabic translation for TorusGeometry page

    * add arabic translation for TorusKnotGeometry page

    * add arabic translation for TubeGeometry page

    * add arabic translation for WireframeGeometry page

    * Update list.json

    ---------

    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit c0bef7b4a9a18a4be0851ebd31ca80bb598a99bf
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun May 28 20:36:40 2023 +0000

    Update dependency rollup to v3.23.0 (#26159)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit f547ede05f4cfba8662eaf1cf6499de97dcef8b3
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Sun May 28 11:16:44 2023 +0300

    Docs: Translating Extras/Curves section into Arabic (ar). (#26149)

    * add arabic translation for SplineCurve page

    * add arabic translation for QuadraticBezierCurve page

    * add arabic translation for QuadraticBezierCurve3 page

    * add arabic translation for LineCurve page

    * add arabic translation for LineCurve3 page

    * add arabic translation for EllipseCurve page

    * add arabic translation for CubicBezierCurve page

    * add arabic translation for CubicBezierCurve3 page

    * add arabic translation for CatmullRomCurve3 page

    * add arabic translation for ArcCurve page

    * update list.json to include the extras/curves section of arabic docs

commit 6bc217c259de8d9e36ac2651db40173bb0c8294b
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Sun May 28 11:09:59 2023 +0300

    fix indentation of code snippet on BoxGeometry page (#26156)

commit f90a3aee3ca4f182e9df6a530e8c8f7576f851c3
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Sat May 27 12:53:35 2023 +0200

    Examples: Clean up. (#26150)

commit d117331b6d27810370576b990166d5c111b4f84a
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Sat May 27 13:52:54 2023 +0300

    Docs: fix missing value. (#26151)

    * fix missing value that the parameter index may take

    * fix in (it) language

commit ddc59fcf1176854f5253108e8940d383661d5625
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 26 22:06:59 2023 +0200

    Update VRMLLoader.js

    Fix referene error.

commit 412e471b97c900d162df3e742a1b85908999dc5d
Author: hybridherbst <felix.herbst@gmail.com>
Date:   Fri May 26 17:59:24 2023 +0200

    GLTFExporter: export from compressed texture data (#23321)

    * allow exporting compressed meshes and textures (e.g. draco + ktx2)

    added coffemat.etc1s.glb and etc1s+draco, etc1s+meshopt to test compressed formats

    only use one temp render context, clean up renderer after writing file, make metalnessMap and roughnessMap readable

    refactor: move to TextureUtils class and use that in GLTFExporter, respect sRGB vs. Linear, cache some generated objects

    cleanup

    simplify modifiedMap access

    fix formatting for TextureUtils

    dispose of temporary renderer

    remove duplicate switch entries

    * addressing PR feedback and updating to colorSpace

    * remove meshopt references/test file for now

    * rm old import

    * PR feedback

    * GLTFExporter, TextureUtils: Minor fixes.

    * cleanup; use original coffeemat model; rm other coffeemat model again

    ---------

    Co-authored-by: Don McCurdy <dm@donmccurdy.com>

commit cb9d1822d555454703b53cc80e4d79d13b754ba0
Author: Max <32452032+max-sym@users.noreply.github.com>
Date:   Fri May 26 16:43:52 2023 +0100

    PositionalAudio: Implement missing `connect()` method. (#26145)

    * Fix PositionalAudio mistake

    * fix linter

    * Update PositionalAudio.js

commit cf01605e16d4a70df58126a3cd033b3ca8da151c
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 26 17:15:38 2023 +0200

    Examples: Clean up. (#26144)

commit b67384c28067d6ce9632a0ec537c88bb9a4bc5ae
Author: Cody Bennett <hi@codyb.co>
Date:   Fri May 26 07:21:48 2023 -0500

    BufferAttribute: add gpuType (#26084)

    * Docs: add BufferAttribute.gpuType

    * BufferAttribute: add gpuType to base class

    * Docs: clarify gpuType behavior for floats

    * Examples: use gpuType in integer attribute example

commit 183295e85c27a2a3e38f5179893d502c5919d023
Author: WestLangley <WestLangley@users.noreply.github.com>
Date:   Fri May 26 08:16:24 2023 -0400

    Introduce ExposureShader (#26136)

commit 30fae4a84367290fe70443ee020cbaf491fc9ceb
Author: sunag <sunagbrasil@gmail.com>
Date:   Fri May 26 08:07:10 2023 -0300

    WebGPURenderer: Move TextureRenderer to RenderTarget approach. (#26142)

commit 3b9090b0a96bb4a271ba9a2fc0cba74544108418
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Fri May 26 13:01:05 2023 +0300

    Docs: Translating Extras/Core section into Arabic (ar). (#26141)

    * update list.json to include the extras/core section of arabic docs

    * add arabic translation for Curve page

    * add arabic translation for CurvePath page

    * add arabic translation for Interpolations page

    * add arabic translation for Path page

    * add arabic translation for Shape page

    * add arabic translation for ShapePath page

commit 555db242948c2b140e8a7240baac8bc11bfb2c41
Author: Mr.doob <info@mrdoob.com>
Date:   Fri May 26 11:52:59 2023 +0900

    Updated builds.

commit ec549b1a3712898b2fe27e62e9bd70df808bdd06
Author: mrdoob <info@mrdoob.com>
Date:   Thu May 25 19:51:11 2023 -0700

    WebGLRenderer: Revert to drawingbuffer sized transmissionRenderTarget (#26138)

    * Revert "WebGLRenderer: Add pixelRatio to transmissionRenderTarget. (#26131)"

    This reverts commit d283449222f07bc7d122d2e94d0364f1c8ac84c1.

    * Revert "WebGLRenderer: Restore POT for transmission render target. (#25494)"

    * WebGLRenderer: Fixed missing import.

    * Clean up.

    * Updated screenshots.

commit cfc782958f39f096489ca12ce77aa4bea48b34a1
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Thu May 25 20:34:49 2023 +0300

    Docs: Translating Extras section into Arabic (ar). (#26132)

    * add arabic translation for DataUtils page

    * add arabic translation for Earcut page

    * add arabic translation for ImageUtils page

    * add arabic translation for PMREMGenerator page

    * add arabic translation for ShapeUtils page

    * update list.json to include the extras section of arabic docs

commit 7dd56153b51c7477a7166bbd28538167a8265980
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu May 25 17:09:21 2023 +0200

    Examples: Clean up. (#26135)

    * Examples: Clean up.

    * Examples: Update screenshots.

    * Examples: Clean up.

    * VRMLLoader: Fix typo.

    * Examples: Remove useless check.

    * VRMLLoader: Fix colors one more time.

    * Examples: Update screenshots.

commit 673eca6de685e3ea398d3a76aaad4b90491f5f4c
Author: Mugen87 <michael.herzog@human-interactive.org>
Date:   Thu May 25 10:11:54 2023 +0200

    Updated builds.

commit f65f05c36d3edb04415798aaa0beab2a213bc39e
Author: WestLangley <WestLangley@users.noreply.github.com>
Date:   Thu May 25 04:10:49 2023 -0400

    Src: Ensure tone mapped value is in-range (#26130)

    * Clamp returned value

    * Clamp returned value

commit b5c3f51aa15314482f0721b6bce8effbf246c83d
Author: Mr.doob <info@mrdoob.com>
Date:   Thu May 25 10:57:20 2023 +0900

    Examples: Improved webgl_animation_skinning_ik.

commit 30c3e57c042e93bb15c079c1d6cd6d07a45c0f91
Author: Mr.doob <info@mrdoob.com>
Date:   Thu May 25 10:51:39 2023 +0900

    Examples: Improved webgl_loader_gltf_iridescence and webgl_loader_gltf_transmission.

commit d283449222f07bc7d122d2e94d0364f1c8ac84c1
Author: mrdoob <info@mrdoob.com>
Date:   Wed May 24 18:29:31 2023 -0700

    WebGLRenderer: Add pixelRatio to transmissionRenderTarget. (#26131)

commit f096de7b879e47591c198dc1f722b0ae5f187b4e
Author: WestLangley <WestLangley@users.noreply.github.com>
Date:   Wed May 24 07:46:25 2023 -0400

    Shaders: Add name property (#26101)

    * Shaders: Add name property

    * Shaders: Add name property

    * Handle undefined shader name

commit 6733877538230e6b966ea3aa23c1d9d612f4942f
Author: Mr.doob <info@mrdoob.com>
Date:   Wed May 24 20:38:13 2023 +0900

    Updated builds.

commit 1a86507105e81e023b13f14a999f8d3bc749664b
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Wed May 24 14:09:46 2023 +0300

    Docs: Translating Core section into Arabic (ar). (#26123)

    * fix typo

    * add arabic translation for BufferAttributeTypes page

    * add arabic translation for BufferAttribute page

    * add arabic translation for BufferGeometry page

    * add arabic translation for Clock page

    * add arabic translation for EventDispatcher page

    * add arabic translation for GLBufferAttribute page

    * add arabic translation for InstancedBufferGeometry page

    * add arabic translation for InstancedBufferAttribute page

    * add arabic translation for InstancedInterleavedBuffer page

    * add arabic translation for InterleavedBufferAttribute page

    * add arabic translation for InterleavedBuffer  page

    * add arabic translation for Layers page

    * add arabic translation for Object3D page

    * add arabic translation for Raycaster page

    * add arabic translation for Uniform page

    * update list.json to include the core section of arabic docs

    * fix missing opening body tag

commit a86fa2cf8b3a3fb5065b18079e3d83c19ed2c8b2
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Wed May 24 11:35:27 2023 +0200

    WebGLRenderer: Fix alpha map rendering for points and sprites. (#26128)

commit f9efcb74edb459b1c79f6a852b2668cb1fe0e9eb
Author: Emmett Lalish <elalish@google.com>
Date:   Wed May 24 01:14:51 2023 -0700

    updated AnisotropyBarnLamp model (#26125)

commit c0f9764c0224e97f33f2487c4123b96429e18d21
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 23 20:37:23 2023 +0200

    Examples: Move IFC demo to sRGB. (#26121)

    * Examples: Move IFC demo to sRGB.

    * Examples: Update screenshots.

commit 60f307f6030c6de3cba3ca6978e2f0974f0359f8
Author: sunag <sunagbrasil@gmail.com>
Date:   Tue May 23 14:19:26 2023 -0300

    Universal Renderer and WebGPUBackend (#26079)

    * Universal Renderer and WebGPUBackend ( WIP )

    * cleanup

    * Rename constants.js to Constants.js

    * revisions

    * cleanup

    * cleanup

    * Rename /universal to /common

    * Update examples/jsm/renderers/common/Renderer.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/common/Renderer.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/common/Textures.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/webgpu/backends/webgpu/utils/WebGPUTextureUtils.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/webgpu/backends/webgpu/utils/WebGPUTextureUtils.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/webgpu/backends/webgpu/utils/WebGPUPipelineUtils.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/webgpu/backends/webgpu/utils/WebGPUPipelineUtils.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/common/nodes/Nodes.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/webgpu/backends/webgpu/utils/WebGPUPipelineUtils.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/webgpu/backends/webgpu/utils/WebGPUAttributeUtils.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Update examples/jsm/renderers/webgpu/backends/webgpu/utils/WebGPUAttributeUtils.js

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    * Simplifies paths.

    * cleanup

    * cleanup

    * fix resize

    * update tip

    * update tip

    * Rename: webgpu/builder to webgpu/nodes

    * cleanup

    ---------

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

commit 7d32e6a1199cea47e9fbce1cc388389e11fadd94
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 23 17:53:22 2023 +0200

    Examples: More sRGB migration. (#26120)

    * Examples: More sRGB migration.

    * Examples: Update screenshots.

commit d732ceb51ab154b870b01b940e550b4fdb2b5ea5
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 23 12:45:18 2023 +0200

    Examples: More sRGB usage. (#26119)

commit 8acb815ef57c082c797cf6a2ba0221164feaa00d
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 19:00:22 2023 +0900

    XRPlanes: RapierPhysics.js-friendly geometries and dispatch planeschanged event.

commit 77067033c4717ca1ff42d8d4991523c7243e3b92
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Tue May 23 11:03:34 2023 +0300

    Docs: Translating Constants section into Arabic (ar). (#26117)

    * update list.json to include the constants section or arabic docs

    * add arabic translation for Animation page

    * add arabic translation for BufferAttributeUsage page

    * add arabic translation for Core page

    * add arabic translation for CustomBlendingEquations page

    * add arabic translation for Materials page

    * add arabic translation for Renderer page

    * add arabic translation for Textures page

commit 6b267c7e48b3e0c732b23138c8a2910b30d839c0
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 10:29:44 2023 +0900

    Examples: Removed threejs.svg.

commit 39d03f16766a073bc9fe93668d21e8ff2bda0c9c
Author: ycw <ycw7788@gmail.com>
Date:   Tue May 23 09:26:03 2023 +0800

    Update webgl_loader_svg.html (#26114)

    * Update webgl_loader_svg.html

    * ci re-run

    * Update webgl_loader_svg.html

    ---------

    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit d6fe1558c1682307d9882cb12ddd9dc4a548d0a0
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 10:23:56 2023 +0900

    Editor: Removed unused TeapotGeometry code.

commit 973d751be77019406e3e30ae424f0855bb0ada04
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 10:20:41 2023 +0900

    Examples: Removed misc_exporter_collada.

commit bf1da65052b0a8dec2a2750b81a344fec4e138af
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 10:13:27 2023 +0900

    Examples: Removed webgl_geometry_extrude_shapes2.

commit dc630b09c1c175fd610a070eb30d670a3c9df8b4
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 10:07:57 2023 +0900

    Examples: Removed webgl_shaders_tonemapping.

commit 5a408a8915e682e7ae711357d6bc89161b598029
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 10:02:17 2023 +0900

    Examples: Removed webgl_performance_*.

commit d666ff8903d701a514afba786f11bb8796b3152e
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:58:00 2023 +0900

    Examples: Removed webgl_multiple_renderers.

commit 0db73837f2849c17056497c6c6eb8f4f9ee10b02
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:57:02 2023 +0900

    Examples: Removed webgl_multiple_canvases_*.

commit e289dcecc04e5499405110b93a96cab9781ad49a
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:54:42 2023 +0900

    Examples: Removed webgl_shader2.

commit 502183211c29dc89c9b024a8705a9cf204fb8e2e
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:48:50 2023 +0900

    Examples: Removed webgl_trails.

commit f355d37c79d6d48df052a7156964b98aebb5e656
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:45:14 2023 +0900

    Examples: Removed webgl_materials_standard.

commit dd8a722e1f5b3aaaee91222f458a77690d2fb586
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:40:06 2023 +0900

    Examples: Renamed webgl_materials_variations_toon to webgl_materials_toon and removed webgl_materials_variations_*.

commit 37f90dd12a659d8998a60aa37de915905325e49b
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:31:47 2023 +0900

    Examples: Removed webgl_materials_physical_reflectivity.

commit d13f49c42050bd8d7caa9563227fd19c81b71938
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:31:28 2023 +0900

    Examples: Removed webgl_materials.

commit 45ef934fb952f3c9188c319babca2f316523b118
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:25:01 2023 +0900

    Examples: Removed webgl_loader_prwm.

commit 8d527423202fe6bd8f35cb360fccff793599ffd0
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:20:27 2023 +0900

    Examples: Removed webgl_lines_sphere.

commit d4116b5ad2c3e8ed3d6e638b7e6496412ce3a9c7
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 23 09:11:47 2023 +0900

    Examples: Improved webgl_materials_car.

commit 1739815e9380b992e533dc5f90f427f35f9720fd
Author: ycw <ycw7788@gmail.com>
Date:   Tue May 23 05:44:12 2023 +0800

    fixed .clone sig (#26116)

commit 925d679a833cc8fea310817be98c3f34f08eafd2
Author: Ali Tan Ucer <alitanucer@gmail.com>
Date:   Mon May 22 07:03:49 2023 -0400

    Update ViewHelper.js (#26067)

    * Update ViewHelper.js

    I tried to embed the editor's ViewHelper and the mouse events did not translate properly.

    Instead of using a complex code to calc the mouse.x and mouse.y, i did use event.offsetX and event.offsetY
    This solved my problem and fixed any embedding issues.

    * Update ViewHelper.js

    Y axis should be inversed.

    * Update ViewHelper.js

    Reverting back to the original code with one fix. rect.width should be rect.right

    * Update ViewHelper.js

    * Update ViewHelper.js

    ---------

    Co-authored-by: mrdoob <info@mrdoob.com>
    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit b9803755133ca5841bd896f9fbf3d5e845856d79
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Mon May 22 12:26:03 2023 +0200

    VRMLLoader: Move to sRGB. (#26111)

    * VRMLLoader: Move to sRGB.

    * Examples: Update screenshots.

commit 9c76ad6ebf6d9f769d02a5937d95422e531bbbdc
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon May 22 12:26:24 2023 +0900

    Update dependency rollup to v3.22.1 (#26108)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 4b78b07fe8f40bef605afb159f3f63d29af2ee73
Author: Mr.doob <info@mrdoob.com>
Date:   Mon May 22 09:54:32 2023 +0900

    Updated builds.

commit 7c26bdd852a94ed0dbdf9793f0a1c93fc9b5053d
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun May 21 23:01:55 2023 +0200

    Update devDependencies (non-major) (#26104)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit b166cc252f693682b03c942b2c0358b92fd20267
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Mon May 22 00:00:14 2023 +0300

    fix style of 0 in PerspectiveCamera page (#26105)

commit 6c7ff7addf2bc021b9509daffddb88e39517f785
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Sun May 21 18:05:55 2023 +0200

    Examples: Introduce `OutputPass`. (#26102)

    * Examples: Introduce `OutputPass`.

    * Examples: Simplify selective bloom demo.

    * Examples: Improve GUI in bloom demos.

commit 0fb78140939d3892f809e938a105835f0ed6d1b3
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Sun May 21 11:06:09 2023 +0300

    Docs: Translate the remaining parts of Cameras into arabic (ar). (#26100)

    * translate some missing parts in Installation page

    * translate some missing parts in Creating-a-scene page

    * translate some missing parts inFAQ page

    * update list.json to include the translated file/s

    * translating the OrthographicCamera page

    * translating the PerspectiveCamera page

    * translating the StereoCamera page

commit 22810973b27f984d20b35249e8182583aadeb822
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Sun May 21 03:28:18 2023 +0200

    EffectComposer: Use `HalfFloatType` as default. (#26099)

    * EffectComposer: Use `HalfFloatType` as default.

    * Examples: Update screenshots.

    * Examples: Update screenshots.

commit f77e33f5fb66ad758b9a23142aa8f00a38d3e1b1
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Sat May 20 23:23:23 2023 +0200

    Examples: Migrate post-processing demos to sRGB. (#26097)

    * Examples: Migrate post-processing demos to sRGB.

    * Examples: Update screenshots.

commit 419bfc2061da1b7233d90a7f3773be018c4fc511
Author: mrdoob <info@mrdoob.com>
Date:   Sat May 20 06:41:54 2023 -0700

    WebXRManager: Refactored planes code. (#26098)

commit 2b09a2c05e4017ac811c46bfe9b99f5ae16ed3d9
Author: Don McCurdy <dm@donmccurdy.com>
Date:   Fri May 19 22:48:18 2023 -0400

    KTX2Loader: Fix regression in mipmap chain upload (#26095)

    * KTX2Loader: Fix regression in mipmap chain upload.

    * clarify comment

commit dab85a19cbed588e59ee21c77b798e88ff6be286
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 19 19:48:42 2023 +0200

    Examples: Use color management in all WebXR demos. (#26094)

    * Examples: Use color management in all WebXR demos.

    * Examples: Update screenshots.

    * Examples: Enable tone mapping in VR sandbox.

    * Examples: Update screenshots.

    * Examples: Update screenshots.

commit d5835f3b1a4d277b47e18700b2e5ab14d82d16e3
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 19 12:22:07 2023 +0200

    Examples: More sRGB and color management fixes. (#26092)

    * Examples: More sRGB and color management fixes.

    * Examples: Update screenshots.

commit 6d9dca24fe1cf5766946a972f99f1787a521b06e
Author: appache163 <appache@163.com>
Date:   Fri May 19 18:21:15 2023 +0800

    1.add TGALoader documentation in Chinese (#26093)

    2.modify the SVGLoader name error

commit 43f2c8b10712ab3270bb3618c6bfc272ac70dcbc
Author: Mr.doob <info@mrdoob.com>
Date:   Fri May 19 18:43:51 2023 +0900

    Editor: Added KTX2 and MeshoptDecoder to GLB parsing.

commit 1f75a58371d7c34449224ca7e92e08d7564236f3
Author: Mr.doob <info@mrdoob.com>
Date:   Fri May 19 18:42:40 2023 +0900

    Examples: Refactored webgl_morphtargets_webcam.

commit 0d8676bc62f19b96749a2dd09eb423746c893a5b
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 19 10:41:08 2023 +0200

    Examples: More sRGB and color management fixes. (#26090)

    * Examples: More sRGB and color correction fixes.

    * Examples: Update screenshots.

    * Examples: Update screenshots.

commit eb4eca3723fc96ef7fc9d88db4df5ba924c6a50a
Author: appache163 <appache@163.com>
Date:   Fri May 19 16:24:43 2023 +0800

    Docs: add DataUtils Chinese documentation (#26089)

    * add capsuleGeometry documentation in Chinese

    * Update CapsuleGeometry.html

    * WebGL3DRenderTarget class documentation in Chinese

    * add WebGLArrayRenderTarget class documentation in Chinese

    * add DataUtils documentation

    ---------

    Co-authored-by: liugang8 <liugang8@asiainfo.com>
    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit 617b79dfa29bd578d8f12524dfff7efbad8b5073
Author: Omar Khalifa <elkhalifa002@gmail.com>
Date:   Fri May 19 10:50:25 2023 +0300

    docs: translate some missing parts(ar). (#26088)

    * translate some missing parts in Installation page

    * translate some missing parts in Creating-a-scene page

    * translate some missing parts inFAQ page

commit 6408d6fe35c6ab84c7435ec1314d782c60693327
Author: appache163 <appache@163.com>
Date:   Fri May 19 15:49:50 2023 +0800

    Docs: Improved Chinese translation. (#26086)

    * add capsuleGeometry documentation in Chinese

    * Update CapsuleGeometry.html

    * WebGL3DRenderTarget class documentation in Chinese

    * add WebGLArrayRenderTarget class documentation in Chinese

    ---------

    Co-authored-by: liugang8 <liugang8@asiainfo.com>
    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit 5f53353d3b995823ee7add399c2f45a2aeb2dbb2
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu May 18 15:46:07 2023 +0200

    Examples: More sRGB and color management usage. (#26085)

    * Examples: More sRGB and color management usage.

    * Examples: Update screenshots.

commit fa647b06c8f10f33b91725a325617f96fc75d668
Author: appache163 <appache@163.com>
Date:   Thu May 18 18:42:20 2023 +0800

    Docs: WebGL3DRenderTarget class documentaion (#26083)

    * add capsuleGeometry documentation in Chinese

    * Update CapsuleGeometry.html

    * WebGL3DRenderTarget class documentation in Chinese

    ---------

    Co-authored-by: liugang8 <liugang8@asiainfo.com>
    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit 35f7a56886820144f6ea091720a63adf6bec5f93
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu May 18 12:41:30 2023 +0200

    Examples: More sRGB and color management usage. (#26082)

    * Examples: More sRGB and color management usage.

    * Examples: Update screenshots.

commit 5a32bea4f98003b27d2b027e9ad2d6a98b169e71
Author: mrdoob <info@mrdoob.com>
Date:   Thu May 18 02:39:34 2023 -0700

    Examples: Added mediapipe face landmark detection example. (#26080)

    * Examples: Added mediapipe face landmark detection example.

    * Fixed hardcoded videomesh size.

commit 908d6145a9993bb6747c38f3d720f50c131eab36
Author: appache163 <appache@163.com>
Date:   Thu May 18 17:28:53 2023 +0800

    Docs:add capsuleGeometry documentation in Chinese (#26081)

    * add capsuleGeometry documentation in Chinese

    * Update CapsuleGeometry.html

    ---------

    Co-authored-by: liugang8 <liugang8@asiainfo.com>
    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit f702fdce35054d5c68edca251437a9b99111f5a5
Author: Mr.doob <info@mrdoob.com>
Date:   Thu May 18 18:17:00 2023 +0900

    Updated builds.

commit cb8e47380e52bb6f87576e1c22dd8939e439280f
Author: LJNaN <36950529+LJNaN@users.noreply.github.com>
Date:   Thu May 18 16:16:55 2023 +0800

    docs: translate the FramebufferTexture(zh) (#26073)

    * manual: fix wrong word(zh)

    * fix a wrong word(zh)

    * docs: translate the FramebufferTexture(zh)

    ---------

    Co-authored-by: 柳江南 <oncwnuA5PbQxtTysj5w_BTxJ_rRU@git.weixin.qq.com>

commit 25578308a34f53fc71bb0433acc3cd42631f4e70
Author: Elvis <48666585+l123wx@users.noreply.github.com>
Date:   Thu May 18 16:16:19 2023 +0800

    Docs: translate the Light(zh) (#26074)

    * Docs: Refactor strong element generation to allow chinese matching

    * Docs: Chinese translation of some documents in light

commit 642fc7507d8f8c70289f0db68f6071cd8278070d
Author: appache163 <appache@163.com>
Date:   Thu May 18 16:15:14 2023 +0800

    Docs: Add page for `DRACOLoader` and `SVGLoader`. (#26077)

    * add the DRACOLoader class documentation in Chinese

    * SVGLoader class documentation in Chinese

    * Update SVGLoader.html

    ---------

    Co-authored-by: liugang8 <liugang8@asiainfo.com>
    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit 1ca7eed26cce70e14c9cf728cd57f8c39826d4f2
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu May 18 04:28:01 2023 +0200

    Examples: Move reflector/refractor demos to sRGB. (#26070)

    * Examples: Move reflector/refractor demos to sRGB.

    * Examples: Update screenshots.

commit dbbdcd693057a396d31c053e14711222f49c2b3c
Author: WestLangley <WestLangley@users.noreply.github.com>
Date:   Wed May 17 22:26:12 2023 -0400

    Add define for GouraudMaterial (#26075)

commit c0d63d725a589277a7002ed5f80660e9a8d4ca9b
Author: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Date:   Wed May 17 19:14:52 2023 -0700

    Fix support for texture transform for anisotropy map (#26069)

    This is necessary to make glTF files that use KHR_materials_anisotropy
    together with KHR_texture_transform work properly.

commit 29e3db579f47feb464e2ece5cd24ccf8572e48fb
Author: Mr.doob <info@mrdoob.com>
Date:   Wed May 17 11:22:39 2023 +0900

    Examples: Fixed english.

commit bc5dca3e9aa18b060746b5fce3ac34b3b8cc9051
Author: mrdoob <info@mrdoob.com>
Date:   Tue May 16 19:17:52 2023 -0700

    Update webgl_loader_gltf_anisotropy.html

commit 674400e2ccf07f5fe81c287c294f0e15a199100d
Author: chyy <1466387193@qq.com>
Date:   Tue May 16 17:06:54 2023 +0800

    Matrix3: Make makeTranslation() accept Vector2 (#26054)

    * Matrix3: Make makeTranslation() accept Vector2

    * Update Matrix3.js

    * Update Matrix3.js

    * Update Matrix3.tests.js

    * Update Matrix3.html

    * Update Matrix3.html

    * Update Matrix3.html

commit 8156a8338af73a8ca4d251d6a8bc6bbde15cb658
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 16 11:02:00 2023 +0200

    Docs: Improve light pages. (#26064)

commit dd4a418d04aef2264678936a9c8cf7e0e84b01c1
Author: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>
Date:   Tue May 16 18:11:20 2023 +0930

    RapierPhysics: Clean up (#26042)

    * RapierPhysics: Clean up

    * Update RapierPhysics.js

    * Update RapierPhysics.js

    * Update RapierPhysics.js

    * Fix

    * Match the original behaviour

    * Test reverting clock

    * Bring Clock back

    * Update screenshot

    * Fix screenshot

    * Fix again

    * Add to exceptions list

commit fed6eeabd9de7b39fe5e41f0b46ec1846633cc33
Author: mrdoob <info@mrdoob.com>
Date:   Tue May 16 01:33:28 2023 -0700

    OrbitControls: Added target distance check in change condition. (#26063)

commit 6c94900923614f0aac130497900198ef541e2d1f
Author: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>
Date:   Tue May 16 17:52:14 2023 +0930

    ShaderNode: Rework ConvertType (#26025)

    * Rework ConvertType

    * Fix

    * Fix both bugs remaining

    * Fix DeepScan issue

commit d1e85b099b33d90d70d52bbf90a30736f457d071
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 16 17:21:55 2023 +0900

    Revert "OrbitControls: Removed update condition code (#26061)"

    This reverts commit a7c9a2056de7e89f6dc73f3e6d67e68eca1332d1.

commit e77a81cd1f3330fb8083065423389d09858fe721
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 16 17:21:47 2023 +0900

    Revert "OrbitControls: Removed unused zoomChanged variable."

    This reverts commit 0a97813fd293f77b7c2b5a5432a9224acd06926c.

commit 72af345251b1a45a62956d0d3bfff9340600b6f5
Author: sunag <sunagbrasil@gmail.com>
Date:   Tue May 16 05:17:19 2023 -0300

    WebGPURenderer: Added DynamicDrawUsage and revisions (#26057)

    * Nodes: Remove unnecessary call of .getConstNodeType()

    * InstanceIndexNode: Fragment stage support

    * RangeNode: Move bufferAttribute to buffer

    * NodeBuilder: Removed .isShaderStage()

    * WebGPURenderer: Added DynamicDrawUsage and dynamicBufferAttribute()

commit 0a97813fd293f77b7c2b5a5432a9224acd06926c
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 16 16:06:39 2023 +0900

    OrbitControls: Removed unused zoomChanged variable.

commit a7c9a2056de7e89f6dc73f3e6d67e68eca1332d1
Author: mrdoob <info@mrdoob.com>
Date:   Tue May 16 00:04:30 2023 -0700

    OrbitControls: Removed update condition code (#26061)

    * OrbitControls: Removed update condition code.

    * OrbitControls: Removed unused EPS.

commit 9a6c4e82bd547dbe7d29061a23a5f7e28d5abb05
Author: LJNaN <36950529+LJNaN@users.noreply.github.com>
Date:   Tue May 16 14:29:52 2023 +0800

    manual: fix wrong word(zh) (#26059)

    Co-authored-by: 柳江南 <oncwnuA5PbQxtTysj5w_BTxJ_rRU@git.weixin.qq.com>

commit 5db0596a1d30cf09f975e028840547ef8f3d7918
Author: mrdoob <info@mrdoob.com>
Date:   Mon May 15 22:20:18 2023 -0700

    Examples: Improved webgl_loader_gltf_anisotropy. (#26058)

commit 90858b213dcab40509d6b98f776c5e9a4b29dd83
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun May 14 19:19:43 2023 +0000

    Update devDependencies (non-major) (#26052)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit 8981ff5907c716ef92367ffc2fcad5da7d61607f
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Sun May 14 09:48:31 2023 +0200

    Examples: Use color management in lightmap example. (#26018)

    * Examples: Use color management in lightmap example.

    * Update lightmap.json

commit 002acb6bbf642f65e13e157194dc2f06ad10676c
Author: sunag <sunagbrasil@gmail.com>
Date:   Sun May 14 04:35:18 2023 -0300

    Example `webgl_loader_gltf_anisotropy`: Adjustments to avoid clipping. (#26051)

    * Improve near/far settings.

    * Revert "Improve near/far settings."

    This reverts commit ea4aaac2c8f0f49016bba238a2aa7b78fc8bdc9b.

    * Update webgl_loader_gltf_anisotropy.html

commit c50260e4289e43517e185136bc66e4d5a31aac03
Author: ycw <ycw7788@gmail.com>
Date:   Sat May 13 16:32:54 2023 +0800

    fix page redir (#26033)

commit 2813196629b47aadbcc0532d340c59ae5f0dd064
Author: makc <makc.the.great@gmail.com>
Date:   Sat May 13 10:27:27 2023 +0200

    Matrix4: Make `makeTranslation()` accept `Vector3`. (#26044)

    * make Matrix4.makeTranslation accept Vector3 (fixes #26038)

    * make Matrix4.makeTranslation accept Vector3 (docs)

commit 05201f9b28b0ccbbd0f280b1916638c096da543d
Author: sunag <sunagbrasil@gmail.com>
Date:   Sat May 13 01:31:24 2023 -0300

    WebGPURenderer: Fix approach to clear() (#26046)

commit c4befe1e2f54179dcef2ce80592e74729faec9ac
Author: Mr.doob <info@mrdoob.com>
Date:   Fri May 12 17:23:58 2023 +0900

    Examples: Fixed webxr_vr_handinput_pointerclick.

commit 79cc93ceb85530fc3b16f4e4da6b38d2f658554a
Author: Mr.doob <info@mrdoob.com>
Date:   Fri May 12 15:59:11 2023 +0900

    Examples: Improved webgl_materials_physical_transmission_alpha.

commit eb0a9940c95877ced8d5666424049ef60b0c9d0f
Author: Mr.doob <info@mrdoob.com>
Date:   Fri May 12 14:40:19 2023 +0900

    Updated builds.

commit f7dff100f53049ad5fcb1a7eb0e5227ba6800c83
Author: Emmett Lalish <elalish@google.com>
Date:   Thu May 11 22:33:42 2023 -0700

    Improved transparent rendering (#25819)

    * improved transparent rendering

    * updated for premultipliedAlpha: true

    * revert premultiply

    * transmission proof-of-concept

    * update builds

    * add dragon model

    * CI fixes

    * Allow CSS background to show through model

    * Update builds

    * merging two approaches

    * update screenshot

    * addressing feedback

    * updating builds

    * added comment

    * added comment

    * update screenshot

    * revert files

    ---------

    Co-authored-by: WestLangley <WestLangley@users.noreply.github.com>

commit 58828669d7c09d1ac8614a95dc54e2d28ca72a6e
Author: mrdoob <info@mrdoob.com>
Date:   Thu May 11 04:37:24 2023 -0700

    WebXRManager: Removed getCamera() and added setUserCamera(). (#26041)

    * WebXRManager: Removed getCamera() and added setCamera().

    * Make sure cameraVR updates near and far.

    * WebXRManager: Renamed cameraVR to cameraXR.

    * WebXRManager: Added deprecated annotations.

    * WebXRManager: Renamed setCamera() to setUserCamera().

    * Fixed handinput examples.

commit 5f5f5a2d7c5c5ec76773c82e78ef5d8d77f79c9b
Author: 0b5vr <0b5vr@0b5vr.com>
Date:   Thu May 11 19:21:36 2023 +0900

    fix: Fix leak of morph targets (#26040)

    Buffers of morph targets leaked even if I call `geometry.dispose()`

    Fixed by WebGLGeometries.js side, I believe this is the most appropriate way to fix this

    See: https://github.com/mrdoob/three.js/issues/26028
    Demo of the Issue: https://glitch.com/edit/#!/three-r152-morph-leaks

commit 22c5f25bda2a640ab4655106dc3f97524f3f7cf0
Author: Emmett Lalish <elalish@google.com>
Date:   Thu May 11 01:59:10 2023 -0700

    GLTF KHR_materials_anisotropy support (#25580)

    * plumbing

    * refactored tangents

    * fix bump map

    * fix bump map again

    * added IBL anisotropy support

    * added direct anisotropy support

    * reshuffle chunks

    * fix clearcoat

    * fix dangling endif

    * separate physical BRDF from blinnPhong

    * prod CI

    * move Schlick to common

    * fixed plumbing

    * fixed shader compilation

    * fixed mappings

    * fixed tangents

    * changed IBL mapping

    * fix typo

    * fixed direct lighting

    * linearized mappings

    * added anisotropyDirection

    * fixed angle direction

    * added references

    * fix anisotropy map

    * Angle -> Rotation

    * fixed tangent sign

    * rename anisotropyMat

    * fix 90 deg rotation

    * update to spec

    * updated alphaT mapping

    * Revert "updated alphaT mapping"

    This reverts commit cebace1d27762c007580ca3eb72ae8b071aa25eb.

    * WebGLProgram: Added missing ANISOTROPYMAP_UV define.

    * Reverted builds.

    * WebGLPrograms: Fixed typo.

    * update to spec

    * updated golden

    * update texture definition

    * added example

    * add build files

    * added screenshot

    ---------

    Co-authored-by: Mr.doob <info@mrdoob.com>

commit 46754408eb02fa9b22210d391c7d45c053cbf063
Author: Mr.doob <info@mrdoob.com>
Date:   Thu May 11 17:00:12 2023 +0900

    RapierPhysics: Clean up.

commit a14dd2223cb353c7b6454b851eda577cf6c0682a
Author: Sindre Yang <31204461+SindreYang@users.noreply.github.com>
Date:   Thu May 11 15:43:31 2023 +0800

    PLYLoader: Add support for files with face color definitions. (#26014)

    * automatically convert mask color to vertex color

    automatically convert mask color to vertex color,because the ply format includes mesh and point clouds

    * refactor PLYLoader.js

    * Update PLYLoader.js

    ---------

    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit 90b07d3e34efde5888c84e874f56079d72ad2397
Author: mrdoob <info@mrdoob.com>
Date:   Thu May 11 00:14:59 2023 -0700

    Revert "RapierPhysics: Clean up (#26034)" (#26039)

    This reverts commit e7bce17b5ad654f2caf43644270ca7f12f682044.

commit e7bce17b5ad654f2caf43644270ca7f12f682044
Author: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>
Date:   Thu May 11 16:34:34 2023 +0930

    RapierPhysics: Clean up (#26034)

    * RapierPhysics: Clean up

    * Update RapierPhysics.js

commit 0d9af1426c15800a12c4a148b44a9cac6926e0b0
Author: George <gmadgesdeveloper@gmail.com>
Date:   Thu May 11 07:51:43 2023 +0100

    DracoLoader: Normalise color attributes by default (#26036)

    * normalise color attributes by default

    * set normalised if not float32

commit 374bf61c0671132d896a9c0e018deceb188de93c
Author: mrdoob <info@mrdoob.com>
Date:   Wed May 10 02:35:59 2023 -0700

    Examples: Replaced custom physics code with Rapier in webxr_xr_ballshooter (#26032)

    * Examples: Replaced custom physics code with Rapier in webxr_xr_ballshooter.

    * Update RapierPhysics.js

commit 694797f23ad47f002d5a0dc294c6ed51c5f43cfb
Author: ycw <ycw7788@gmail.com>
Date:   Wed May 10 16:13:10 2023 +0800

    Update page.js (#26030)

commit 7a9d78f0c0fec6c9e542a1837ebd7128c19e29a0
Author: makc <makc.the.great@gmail.com>
Date:   Wed May 10 10:10:38 2023 +0200

    improve MeshSurfaceSampler example (#26031)

commit 44ab823157bcae95b01d857e55a1ce685709448b
Author: Mr.doob <info@mrdoob.com>
Date:   Wed May 10 12:31:47 2023 +0900

    USDZExporter: Indentation clean up.

commit de96b21a35b58d0cd04e43f77b63827aeed3b357
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Wed May 10 05:07:52 2023 +0200

    FramebufferTexture: Remove `format` parameter. (#26027)

commit cea7a35b3559f0a9e1932916899dcec006a23d2e
Author: Mr.doob <info@mrdoob.com>
Date:   Wed May 10 11:21:17 2023 +0900

    USDZExporter: Fixed inputs:scale handling.

commit 46e71bf67334957d7c774d4558a3677fd2b5eb40
Author: hybridherbst <herbst@prefrontalcortex.de>
Date:   Wed May 10 03:31:26 2023 +0200

    USDZExporter: Improve UsdTransform2d (#26023)

    * USDZExporter: improve UsdTransform2d

    * add new options parameter, `quickLookCompatible`

commit ef318c007a1cd1ee578ca5baafa6f7fd2234a35d
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 9 22:36:18 2023 +0200

    Update webgl_lensflares.html

    Fix background color.

commit 3da52fa4bf49e6a22a8e6cb7255dea648a150f0c
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 9 20:35:50 2023 +0200

    Update webxr_xr_sculpt.html

    Add missing namespace.

commit df58df87447bbdd703d50820708189080746837e
Author: Palash Bansal <palash14072@iiitd.ac.in>
Date:   Tue May 9 23:19:21 2023 +0530

    Bump metadata.version from toJSON functions to 4.6. (#26026)

    * Bump metadata.version from toJSON functions to 4.6.

    * Update qunit-utils.js

    Updated JSON version.

    * Update BufferGeometry.tests.js

    Update JSON version.

    * Update Object3D.tests.js

    Update JSON version.

    ---------

    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit 297724e33e8c22b00a3b05a8042bbb8f874243aa
Author: Mr.doob <info@mrdoob.com>
Date:   Tue May 9 17:17:18 2023 +0900

    MarchingCubes: Added boundingSphere.

commit cbb33f0d22369010d87e155624437c7e7baeb86e
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 9 03:52:07 2023 +0200

    Matrix3/4: Constructor has now parameters. (#26021)

commit 0a754b112ff76b17a5fedecbbe209cc8ba86afaa
Author: sunag <sunagbrasil@gmail.com>
Date:   Mon May 8 17:33:12 2023 -0300

    Update webgpu_cubemap_adjustments.html (#26022)

commit 9c1c302c4595997b3135b87e658abbe5dfdfec0d
Author: sunag <sunagbrasil@gmail.com>
Date:   Mon May 8 12:33:21 2023 -0300

    WebGPURenderer: Added BufferAttributeNode (#26016)

    * Added BufferAttributeNode and cleanups

    * InstanceNode: buffer -> bufferAttribute

    * RangeNode: attribute -> bufferAttribute

    * cleanup

commit a55e5a37a26a279ae4cea46394352d6c9ca24704
Author: Mr.doob <info@mrdoob.com>
Date:   Mon May 8 19:37:21 2023 +0900

    Examples: Fixed webxr_xr_sculpt.

commit a9d9227078d3ef8959fad6cc3cdcb8133a608ee0
Author: mrdoob <info@mrdoob.com>
Date:   Mon May 8 02:17:50 2023 -0700

    USDZExporter: Use scale input to tint the texture. (#26019)

commit 6a31e69520317a28919f93c13fdb02b5ff20af30
Author: Mr.doob <info@mrdoob.com>
Date:   Mon May 8 18:13:00 2023 +0900

    Updated builds.

commit e296032db56c2d238a19c3911e2fa0768b533b82
Author: Mr.doob <info@mrdoob.com>
Date:   Mon May 8 18:12:16 2023 +0900

    Source: Added id.

commit 0a006e189ecacc8c1b0ef29d2a6399d9c72dfae1
Author: mrdoob <info@mrdoob.com>
Date:   Mon May 8 01:24:55 2023 -0700

    USDZExport: Removed redundant texture.format check. (#26017)

commit a16bac7ea21ed4b7a64965a4836b9eb90358848b
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Mon May 8 10:11:19 2023 +0200

    Color: Let `set()` accept RGB values. (#25999)

    * Color: Let `set()` accept RGB values.

    * Update Color.tests.js

commit d6aaaa32bf4763e168ee17703d5a4d89758d8fef
Author: WestLangley <WestLangley@users.noreply.github.com>
Date:   Mon May 8 04:10:38 2023 -0400

    Improve Example (#26005)

    * Improve example

    * Update screenshot

commit 7b14431f6b6603e19b2b5eb6efcca3f7ffd7d87d
Author: Mr.doob <info@mrdoob.com>
Date:   Mon May 8 15:26:47 2023 +0900

    USDZExporter: Fixed typo.

commit 7dfaaa8d328429a36ef022984aee71d5a5e5095f
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon May 8 05:14:49 2023 +0000

    Update devDependencies (non-major) (#26007)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit b0f51c3e40cd7c3771ce27e6397abfacf15a22ee
Author: mrdoob <info@mrdoob.com>
Date:   Sun May 7 18:33:39 2023 -0700

    USDZExporter: Added texture.rotation support. (#26013)

commit e042b9cbad62ec3a525df5aa675c7723db64dacb
Author: mrdoob <info@mrdoob.com>
Date:   Sun May 7 18:30:44 2023 -0700

    USDZExporter: Support texture.wrapS and texture.wrapT. (#26012)

commit 25716e574f4bff419c2a32de83726413d41ac98e
Author: sunag <sunagbrasil@gmail.com>
Date:   Sun May 7 22:20:52 2023 -0300

    WebGPURenderer: Static adapter for `hasFeature()` (#26006)

    * WebGPURenderer: Static Adapter

    * Update webgpu_loader_gltf_compressed.html

commit cf707905066f51fc0a691f9b81ca73f210e7cf06
Author: mrdoob <info@mrdoob.com>
Date:   Sun May 7 18:20:42 2023 -0700

    USDZExporter: Add basic texture.colorSpace support. (#26011)

commit 1fc687fc312d636ddbe839063cffa1f4660c9584
Author: Mr.doob <info@mrdoob.com>
Date:   Mon May 8 10:02:19 2023 +0900

    USDZExporter: Change three import.

commit faf95b2dcbb13b343be3e2f42f00470c45b2d990
Author: hybridherbst <herbst@prefrontalcortex.de>
Date:   Mon May 8 02:55:15 2023 +0200

    USDZExporter: add MaterialBindingAPI schema, fix primvars:st data type, add colorspace for normal map (#26009)

commit e6e95d523b51b09660594221e526d32c54c7dba9
Author: Mr.doob <info@mrdoob.com>
Date:   Sun May 7 15:51:14 2023 +0900

    Fixed E2E (bis)

commit 9a18d344ec86dda5ca8615ab536410aebb650627
Author: Mr.doob <info@mrdoob.com>
Date:   Sun May 7 15:07:24 2023 +0900

    Fixed E2E

commit bea24b475d19f59abd8676ae465195285dd87832
Author: Mr.doob <info@mrdoob.com>
Date:   Sun May 7 14:24:39 2023 +0900

    WebGPU: Set available only when able to requestAdapter().

commit 783185aba3707d9ce6a0e4a69e6887900e7f4983
Author: Garrett Johnson <garrett.kjohnson@gmail.com>
Date:   Sun May 7 07:56:34 2023 +0700

    Examples: Use new gpuType field in GPU Picking, fix bugs (#26001)

    * Fix attribute merging

    * Use new int attribute type

    * Fix firefox gpu picking

commit efdd7def1f7391566e736eea7f7273663c79d0ea
Author: ycw <ycw7788@gmail.com>
Date:   Sun May 7 01:42:51 2023 +0800

    Update WebGLRenderer.html (#26002)

    fixed malformed param

commit 379b49e3aefc13a735cdaa17efaa381f83b8b579
Author: mrdoob <info@mrdoob.com>
Date:   Fri May 5 20:24:29 2023 -0700

    USDZExporter: Added texture.channel support (#25996)

    * USDZExporteer: Added texture.channel support.

    * USDZExporter: Support 4 uv sets.

commit eeae9a628692fa14625edf05573a61229af2d145
Author: Mr.doob <info@mrdoob.com>
Date:   Sat May 6 06:16:03 2023 +0900

    USDZExporter: Clean up.

commit fbf6d9de8d652105b27666a85498b3221c5d7daa
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 5 19:24:03 2023 +0200

    Examples: Clean up. (#25994)

    * Examples: More clean up.

    * Update screenshots.

    * Update screenshots.

commit 7fdb969649fd475841fe3f6669f1bc15c7bd78f4
Author: Cory Stegelmeier <cstegel@gmail.com>
Date:   Fri May 5 07:17:02 2023 -0700

    GLTFLoader: Preserve unknown glTF extensions on "mesh" properties (#25948)

commit 37c862ed1e74b3b6ab7532aac49b6c9da009a5b9
Author: Mr.doob <info@mrdoob.com>
Date:   Fri May 5 20:26:59 2023 +0900

    Updated builds.

commit 94c43c95c831882f42cef2199cbdc64695d8e8d6
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 5 13:06:32 2023 +0200

    WebGLRenderer: Improve interger attribute support. (#21606)

    * WebGLRenderer: Improve interger attribute support.

    * BufferAttribute: Fix property definition.

    * BufferAttribute: Honor `integer` in `copy()`.

    * BufferAttribute: Use `gpuType` instead of `integer`.

commit 2c6cf61fa2a63adad0a5d3b65d6dbadf20a22d3b
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 5 12:59:30 2023 +0200

    Examples: Remove `webgl_skinning_simple`. (#25992)

commit 7c764c2cf6b2fb46423dcdaa79462fa7913986fe
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 5 10:11:54 2023 +0200

    Update webgl_buffergeometry_uint.html

commit 2bab94aac4213c7491e21b5e6935abc7f7829eb3
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Fri May 5 10:09:54 2023 +0200

    Examples: Clean up. (#25991)

    * Examples: Clean up.

    * Examples: Clean up.

commit 4ae9a47c400d1f9dfb4df8dfe9b8b62a25835405
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu May 4 19:25:31 2023 +0200

    Examples: More clean up. (#25988)

commit 5fdde173b32caa1c4f00eae046baff28807c4330
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu May 4 16:14:14 2023 +0200

    Examples: Clean up. (#25986)

commit 6ed7c24295a09b93fabce969d06ee3e2b5b4828a
Author: Garrett Johnson <garrett.kjohnson@gmail.com>
Date:   Thu May 4 21:13:56 2023 +0700

    Add support for Uint32 and Int32 to normalize / denormalize (#25984)

commit b46de21c1be45b0c1c97943e3a13aa1e360a70a7
Author: Garrett Johnson <garrett.kjohnson@gmail.com>
Date:   Thu May 4 20:14:57 2023 +0700

    Example: Update GPU picking to use integer Ids, target (#25983)

    * Use an integer buffer

    * Clean up

    * Cleanup

    * Remove unnecessary int cast

    * Remove need for disabling autoclear

commit 8c54bb813549db1c582cd25bf535b0f8b93f5e05
Author: sunag <sunagbrasil@gmail.com>
Date:   Thu May 4 07:55:45 2023 -0300

    WebGPURenderer: Fix skinning bone multiplication order (#25987)

    * SkinningNode: Fix multiplication order

    * ModelViewProjectionNode: Move to construct()

commit f75bc4e1de5b84706b52275299a810c3fe37c5f4
Author: Renaud Rohlinger <renaud.rohlinger@gmail.com>
Date:   Thu May 4 11:39:21 2023 +0900

    WebGLInfo: Decouple info.render.frame from info.autoReset (#25978)

    * make render.frame independent of info.autoReset

    * apply the same behavior to webgpu

    * Update WebGLRenderer.js

    ---------

    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit bfc9470e474e00b869c49e509dfdcbed91f730bf
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Thu May 4 03:45:53 2023 +0200

    WebGLRenderer: Deprecate WebGL 1 support. (#25959)

    * WebGLRenderer: Deprecate WebGL 1 support.

    * Update WebGLRenderer.js

commit 1d91a4aef112895cc4212068ae6deba7d63befe8
Author: Mugen87 <michael.herzog@human-interactive.org>
Date:   Wed May 3 10:52:28 2023 +0200

    Updated builds.

commit b71d3f4340f9793faaf73aec26caacca5cf58784
Author: Garrett Johnson <garrett.kjohnson@gmail.com>
Date:   Wed May 3 15:51:00 2023 +0700

    WebGLRenderer: Allow for clearing integer render targets (#22351)

    * Add support for clearing an integer buffer

    * Handle draw to screen case

    * Explicitly check if a uint type is being used

    * Add "COLOR" build value

    * Check all unsigned types

    * Remove unexported constants

    * fix condition

commit 79c0f7559c2d3e87c4596fe4b5cc1ad2d0e81f60
Author: Don McCurdy <dm@donmccurdy.com>
Date:   Wed May 3 04:46:42 2023 -0400

    GLTFLoader: Ensure cache misses if primitives share attributes but not morph targets. (#25976)

commit 4f397c783777db9514a05357f5fd4cff385abe42
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Wed May 3 10:45:35 2023 +0200

    WebGLRenderer: Use correct bounding volume for depth sorting. (#25974)

commit 1cf0b74118e31292bb4eeacb30d587257b53e944
Author: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>
Date:   Wed May 3 18:44:58 2023 +1000

    WebGLPrograms: Simplify `getChannel` (#25972)

    * WebGLPrograms: Simplify `getChannel`

    * Update WebGLPrograms.js

    ---------

    Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org>

commit 58c2f5a8f41e2d709c1af03583bc80b827486c9a
Author: Garrett Johnson <garrett.kjohnson@gmail.com>
Date:   Wed May 3 00:00:10 2023 +0700

    add sampleFaceIndex function (#25970)

commit fd734347286d646c0b823bd883b459fc2c8a6a14
Author: Don McCurdy <dm@donmccurdy.com>
Date:   Tue May 2 09:18:52 2023 -0700

    KTX2Loader: Support compressed cube textures. (#25909)

commit 2ca91c7499aa062d854a4ee10c9742aef370df9a
Author: Emmanuel Lee <eman.j.lee@gmail.com>
Date:   Tue May 2 12:16:02 2023 -0400

    KTX2Loader: Support THREE.DataTexture mipmaps field. (#25871)

    Co-authored-by: Don McCurdy <dm@donmccurdy.com>
    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

commit e105adb7684b873ee9533b1f05df15c4806478f8
Author: benwest <ben.s.west@gmail.com>
Date:   Tue May 2 17:18:24 2023 +0200

    Optimise GLTFParser.createUniqueName (#25969)

    * Optimise GLTFParser.createUniqueName

    ---------

    Co-authored-by: Don McCurdy <dm@donmccurdy.com>

commit 98ac0cd727e2efc274194fa60b648be3bc2b2cca
Author: Yao Hsiao <tomtogo1260@gmail.com>
Date:   Tue May 2 21:52:21 2023 +0800

    Update README.txt (#25975)

    I found this link is expired. So just update it.

commit ddd2a85068d76e9a20f92b2ad53949247a34a2f6
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 2 10:23:20 2023 +0200

    InstancedMesh/SkinnedMesh: Honor bounding volumes in `copy()`. (#25973)

commit 7fb2a4482616b6ab6d16d897ed4cf41d2ac8aaba
Author: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>
Date:   Tue May 2 17:49:21 2023 +1000

    Mesh: Add deprecation comment in `checkGeometryIntersection` (#25971)

commit 43c701c69aa7f5f690d521a9272f9d69f625c67f
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 2 09:42:25 2023 +0200

    Update DepthTexture.html

commit 36a15cd97794a5946136cbf01e43cd9f151785fb
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Tue May 2 04:54:27 2023 +0200

    CSM: Remove default parameter for `data`. (#25968)

commit b905e279516c89c4cb71d43f0d17a1f1077f470c
Author: Michael Herzog <michael.herzog@human-interactive.org>
Date:   Mon May 1 23:42:44 2023 +0200

    Update DepthTexture.html

commit ad3cf1ce299497fd05a3c02a667dc18fab38002b
Author: sunag <sunagbrasil@gmail.com>
Date:   Mon May 1 17:26:15 2023 -0300

    TSL: loop() (#25967)

    * TSL: loop()

    * TSL: Auto shader() function

    * TSL: Add loop() example

    * cleanup

    * cleanup

    * Update examples/webgpu_materials.html

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

    ---------

    Co-authored-by: Levi Pesin <35454228+LeviPesin@users.noreply.github.com>

commit ea321889db20480c22062d643164c3c495d8bfe4
Author: Takahiro <hogehoge@gachapin.jp>
Date:   Mon May 1 13:25:13 2023 -0700

    WebGPURenderer: Prevent duplicated init requests (#25964)

    Currently WebGPURenderer init() requests can be duplicated
    for example by contiguous .render() …
@@ -19,7 +19,7 @@ float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;

#endif

#ifdef USE_NORMALMAP_TANGENTSPACE
#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )
Copy link
Collaborator

@Mugen87 Mugen87 Jun 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elalish It looks like there is an issue with this particular line of code. Users report about assets that throw a shader error now:

Program Info Log: Fragment shader is not compiled.


FRAGMENT

ERROR: 0:1384: 'vNormalMapUv' : undeclared identifier
ERROR: 0:1384: 'getTangentFrame' : no matching overloaded function found
ERROR: 0:1384: '=' : dimension mismatch
ERROR: 0:1384: '=' : cannot convert from 'const mediump float' to 'highp 3X3 matrix of float'


  1379: #endif
  1380: #if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )
  1381: 	#ifdef USE_TANGENT
  1382: 		mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
  1383: 	#else
> 1384: 		mat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv );
  1385: 	#endif
  1386: 	#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
  1387: 		tbn[0] *= faceDirection;
  1388: 		tbn[1] *= faceDirection;
  1389: 	#endif
  1390: #endif

It seems not right to use USE_CLEARCOAT_NORMALMAP and USE_ANISOTROPY at this point since vNormalMapUv is only defined when a normal map is present (meaning when USE_NORMALMAP is defined).

What was the reason for adding both defines to this check?

An asset for reproduction is available here: https://discourse.threejs.org/t/shader-error-0-validate-status-false/53195

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I may have missed that case. I did add this to ensure the tangents were defined, but perhaps a similar thing is necessary for the UVs? Anisotropy requires UV coordinates (and ideally tangents too), even if no normal map is present. I think it's perfectly reasonable to throw an error if anisotropy is requested without any UV channels being present (that's in the glTF extension spec too).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey sorry to jump in, I was debugging this bug and got here.
@elalish It's possible to have UVs without a normal map being present, which won't create the vNormalMapUv in the shader.
I solved it by setting USE_UV in material.defines that will make vUv available and use that when normal map is not available.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I think that's the solution - to set USE_UV in the WebGLRenderer when anisotropy is present even if there's no normal map. Want to try a PR? I'll be happy to review.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's also necessary to support the clear coat case. Otherwise the car asset will still fail (it does not use anisotropy).

Copy link
Collaborator

@Mugen87 Mugen87 Jun 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides, I don't think USE_UV solves the above issue. USE_NORMALMAP defines the vNormalMapUv varying which is required to make the shader code work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it would be nice if the UVs were a little less closely-tied to particular maps, but I'm not sure how much surgery you want to do, @Mugen87. Basically we just need a UV coordinate when anisotropy is used, even if maps aren't present. I think there is some tension between the smallest change to make that work, and the most readable.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm okay with a hot fix (smallest change) for now. Things can be refactored later.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created a small PR #26334 With these changes the model from sketchfab loads without throwing an error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants