Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build/three.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/
'use strict';

const REVISION = '182dev';
const REVISION = '182';

/**
* Represents mouse buttons and interaction types in context of controls.
Expand Down
2 changes: 1 addition & 1 deletion build/three.core.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* Copyright 2010-2025 Three.js Authors
* SPDX-License-Identifier: MIT
*/
const REVISION = '182dev';
const REVISION = '182';

/**
* Represents mouse buttons and interaction types in context of controls.
Expand Down
2 changes: 1 addition & 1 deletion build/three.core.min.js

Large diffs are not rendered by default.

10 changes: 3 additions & 7 deletions build/three.webgpu.js
Original file line number Diff line number Diff line change
Expand Up @@ -47813,7 +47813,9 @@ class Background extends DataMap {

// compute vertex position
const modifiedPosition = isOrtho.select( positionLocal.mul( orthoScale ), positionLocal );
let viewProj = cameraProjectionMatrix.mul( modelViewMatrix.mul( vec4( modifiedPosition, 1.0 ) ) );

// By using a w component of 0, the skybox will not translate when the camera moves through the scene
let viewProj = cameraProjectionMatrix.mul( modelViewMatrix.mul( vec4( modifiedPosition, 0.0 ) ) );

// force background to far plane so it does not occlude objects
viewProj = viewProj.setZ( viewProj.w );
Expand All @@ -47834,12 +47836,6 @@ class Background extends DataMap {
backgroundMesh.frustumCulled = false;
backgroundMesh.name = 'Background.mesh';

backgroundMesh.onBeforeRender = function ( renderer, scene, camera ) {

this.matrixWorld.copyPosition( camera.matrixWorld );

};

function onBackgroundDispose() {

background.removeEventListener( 'dispose', onBackgroundDispose );
Expand Down
2 changes: 1 addition & 1 deletion build/three.webgpu.min.js

Large diffs are not rendered by default.

10 changes: 3 additions & 7 deletions build/three.webgpu.nodes.js
Original file line number Diff line number Diff line change
Expand Up @@ -47813,7 +47813,9 @@ class Background extends DataMap {

// compute vertex position
const modifiedPosition = isOrtho.select( positionLocal.mul( orthoScale ), positionLocal );
let viewProj = cameraProjectionMatrix.mul( modelViewMatrix.mul( vec4( modifiedPosition, 1.0 ) ) );

// By using a w component of 0, the skybox will not translate when the camera moves through the scene
let viewProj = cameraProjectionMatrix.mul( modelViewMatrix.mul( vec4( modifiedPosition, 0.0 ) ) );

// force background to far plane so it does not occlude objects
viewProj = viewProj.setZ( viewProj.w );
Expand All @@ -47834,12 +47836,6 @@ class Background extends DataMap {
backgroundMesh.frustumCulled = false;
backgroundMesh.name = 'Background.mesh';

backgroundMesh.onBeforeRender = function ( renderer, scene, camera ) {

this.matrixWorld.copyPosition( camera.matrixWorld );

};

function onBackgroundDispose() {

background.removeEventListener( 'dispose', onBackgroundDispose );
Expand Down
2 changes: 1 addition & 1 deletion build/three.webgpu.nodes.min.js

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions docs/pages/ArrayElementNode.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,38 @@ <h3 class="name" id="node" translate="no">.<a href="#node">node</a><span class="
</div>
</div>
<h2 class="subsection-title">Methods</h2>
<h3 class="name name-method" id="getMemberType" translate="no">.<a href="#getMemberType">getMemberType</a><span class="signature">( builder : <span class="param-type"><a href="NodeBuilder.html">NodeBuilder</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : string</span> </h3>
<div class="method">
<div class="description">
<p>This method is overwritten since the member type is inferred from the array-like node.</p>
</div>
<table class="params">
<tbody>
<tr>
<td class="name">
<strong>builder</strong>
</td>
<td class="description last">
<p>The current node builder.</p>
</td>
</tr>
<tr>
<td class="name">
<strong>name</strong>
</td>
<td class="description last">
<p>The member name.</p>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#getMemberType">Node#getMemberType</a></dt>
</dl>
<dl class="details">
<dt class="tag-returns"><strong>Returns:</strong> The member type.</dt>
</dl>
</div>
<h3 class="name name-method" id="getNodeType" translate="no">.<a href="#getNodeType">getNodeType</a><span class="signature">( builder : <span class="param-type"><a href="NodeBuilder.html">NodeBuilder</a></span> )</span><span class="type-signature"> : string</span> </h3>
<div class="method">
<div class="description">
Expand Down
32 changes: 32 additions & 0 deletions docs/pages/ArrayNode.html
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,38 @@ <h3 class="name name-method" id="getElementType" translate="no">.<a href="#getEl
<dt class="tag-returns"><strong>Returns:</strong> The type of the node.</dt>
</dl>
</div>
<h3 class="name name-method" id="getMemberType" translate="no">.<a href="#getMemberType">getMemberType</a><span class="signature">( builder : <span class="param-type"><a href="NodeBuilder.html">NodeBuilder</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : string</span> </h3>
<div class="method">
<div class="description">
<p>Returns the type of a member variable.</p>
</div>
<table class="params">
<tbody>
<tr>
<td class="name">
<strong>builder</strong>
</td>
<td class="description last">
<p>The current node builder.</p>
</td>
</tr>
<tr>
<td class="name">
<strong>name</strong>
</td>
<td class="description last">
<p>The name of the member variable.</p>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#getMemberType">TempNode#getMemberType</a></dt>
</dl>
<dl class="details">
<dt class="tag-returns"><strong>Returns:</strong> The type of the member variable.</dt>
</dl>
</div>
<h3 class="name name-method" id="getNodeType" translate="no">.<a href="#getNodeType">getNodeType</a><span class="signature">( builder : <span class="param-type"><a href="NodeBuilder.html">NodeBuilder</a></span> )</span><span class="type-signature"> : string</span> </h3>
<div class="method">
<div class="description">
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/BooleanKeyframeTrack.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ <h3 class="name" id="ValueBufferType" translate="no">.<a href="#ValueBufferType"
</dl>
</div>
<div class="member">
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The value type name.</p>
<p>Default is <code>'bool'</code>.</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/ColorKeyframeTrack.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ <h3 class="name name-method" id="ColorKeyframeTrack" translate="no">new <a href=
</div>
<h2 class="subsection-title">Properties</h2>
<div class="member">
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The value type name.</p>
<p>Default is <code>'color'</code>.</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/KeyframeTrack.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ <h3 class="name" id="ValueBufferType" translate="no">.<a href="#ValueBufferType"
</div>
</div>
<div class="member">
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The value type name.</p>
<p>Default is <code>''</code>.</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/Line.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ <h3 class="name" id="material" translate="no">.<a href="#material">material</a><
</div>
</div>
<div class="member">
<h3 class="name" id="morphTargetDictionary" translate="no">.<a href="#morphTargetDictionary">morphTargetDictionary</a><span class="type-signature"> : Object.&lt;String, number> | undefined</span> </h3>
<h3 class="name" id="morphTargetDictionary" translate="no">.<a href="#morphTargetDictionary">morphTargetDictionary</a><span class="type-signature"> : Object.&lt;string, number> | undefined</span> </h3>
<div class="description">
<p>A dictionary representing the morph targets in the geometry. The key is the
morph targets name, the value its attribute index. This member is <code>undefined</code>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/Mesh.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ <h3 class="name" id="material" translate="no">.<a href="#material">material</a><
</div>
</div>
<div class="member">
<h3 class="name" id="morphTargetDictionary" translate="no">.<a href="#morphTargetDictionary">morphTargetDictionary</a><span class="type-signature"> : Object.&lt;String, number> | undefined</span> </h3>
<h3 class="name" id="morphTargetDictionary" translate="no">.<a href="#morphTargetDictionary">morphTargetDictionary</a><span class="type-signature"> : Object.&lt;string, number> | undefined</span> </h3>
<div class="description">
<p>A dictionary representing the morph targets in the geometry. The key is the
morph targets name, the value its attribute index. This member is <code>undefined</code>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/NumberKeyframeTrack.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ <h3 class="name name-method" id="NumberKeyframeTrack" translate="no">new <a href
</div>
<h2 class="subsection-title">Properties</h2>
<div class="member">
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The value type name.</p>
<p>Default is <code>'number'</code>.</p>
Expand Down
7 changes: 7 additions & 0 deletions docs/pages/OutputPass.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ <h3 class="name name-method" id="OutputPass" translate="no">new <a href="#Output
</div>
</div>
<h2 class="subsection-title">Properties</h2>
<div class="member">
<h3 class="name" id="isOutputPass" translate="no">.<a href="#isOutputPass">isOutputPass</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
<div class="description">
<p>This flag indicates that this is an output pass.</p>
<p>Default is <code>true</code>.</p>
</div>
</div>
<div class="member">
<h3 class="name" id="material" translate="no">.<a href="#material">material</a><span class="type-signature"> : <a href="RawShaderMaterial.html">RawShaderMaterial</a></span> </h3>
<div class="description">
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/Points.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ <h3 class="name" id="material" translate="no">.<a href="#material">material</a><
</div>
</div>
<div class="member">
<h3 class="name" id="morphTargetDictionary" translate="no">.<a href="#morphTargetDictionary">morphTargetDictionary</a><span class="type-signature"> : Object.&lt;String, number> | undefined</span> </h3>
<h3 class="name" id="morphTargetDictionary" translate="no">.<a href="#morphTargetDictionary">morphTargetDictionary</a><span class="type-signature"> : Object.&lt;string, number> | undefined</span> </h3>
<div class="description">
<p>A dictionary representing the morph targets in the geometry. The key is the
morph targets name, the value its attribute index. This member is <code>undefined</code>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/QuaternionKeyframeTrack.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ <h3 class="name name-method" id="QuaternionKeyframeTrack" translate="no">new <a
</div>
<h2 class="subsection-title">Properties</h2>
<div class="member">
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The value type name.</p>
<p>Default is <code>'quaternion'</code>.</p>
Expand Down
7 changes: 7 additions & 0 deletions docs/pages/RenderPass.html
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,13 @@ <h3 class="name" id="clearDepth" translate="no">.<a href="#clearDepth">clearDept
<p>Default is <code>false</code>.</p>
</div>
</div>
<div class="member">
<h3 class="name" id="isRenderPass" translate="no">.<a href="#isRenderPass">isRenderPass</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
<div class="description">
<p>This flag indicates that this pass renders the scene itself.</p>
<p>Default is <code>true</code>.</p>
</div>
</div>
<div class="member">
<h3 class="name" id="needsSwap" translate="no">.<a href="#needsSwap">needsSwap</a><span class="type-signature"> : boolean</span> </h3>
<div class="description">
Expand Down
20 changes: 16 additions & 4 deletions docs/pages/Renderer.html
Original file line number Diff line number Diff line change
Expand Up @@ -807,10 +807,13 @@ <h3 class="name name-method" id="getClearStencil" translate="no">.<a href="#getC
<h3 class="name name-method" id="getColorBufferType" translate="no">.<a href="#getColorBufferType">getColorBufferType</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
<div class="method">
<div class="description">
<p>Returns the color buffer type.</p>
<p>Returns the output buffer type.</p>
</div>
<dl class="details">
<dt class="tag-returns"><strong>Returns:</strong> The color buffer type.</dt>
<dt class="important tag-deprecated"><strong>Deprecated:</strong> since r182. Use `.getOutputBufferType()` instead.</dt>
</dl>
<dl class="details">
<dt class="tag-returns"><strong>Returns:</strong> The output buffer type.</dt>
</dl>
</div>
<h3 class="name name-method" id="getContext" translate="no">.<a href="#getContext">getContext</a><span class="signature">()</span><span class="type-signature"> : GPUCanvasContext | WebGL2RenderingContext</span> </h3>
Expand Down Expand Up @@ -861,6 +864,15 @@ <h3 class="name name-method" id="getMaxAnisotropy" translate="no">.<a href="#get
<dt class="tag-returns"><strong>Returns:</strong> The maximum available anisotropy.</dt>
</dl>
</div>
<h3 class="name name-method" id="getOutputBufferType" translate="no">.<a href="#getOutputBufferType">getOutputBufferType</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
<div class="method">
<div class="description">
<p>Returns the output buffer type.</p>
</div>
<dl class="details">
<dt class="tag-returns"><strong>Returns:</strong> The output buffer type.</dt>
</dl>
</div>
<h3 class="name name-method" id="getOutputRenderTarget" translate="no">.<a href="#getOutputRenderTarget">getOutputRenderTarget</a><span class="signature">()</span><span class="type-signature"> : <a href="RenderTarget.html">RenderTarget</a></span> </h3>
<div class="method">
<div class="description">
Expand Down Expand Up @@ -1898,12 +1910,12 @@ <h3 class="name" id="~Options" translate="no">.<a href="#~Options">Options</a> <
</tr>
<tr>
<td class="name">
<strong>colorBufferType</strong>
<strong>outputBufferType</strong>
<br>
<span class="param-type">number</span>
</td>
<td class="description last">
<p>Defines the type of color buffers. The default <code>HalfFloatType</code> is recommend for best
<p>Defines the type of output buffers. The default <code>HalfFloatType</code> is recommend for best
quality. To save memory and bandwidth, <code>UnsignedByteType</code> might be used. This will reduce rendering quality though.</p>
<p>Default is <code>HalfFloatType</code>.</p>
</td>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/StringKeyframeTrack.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ <h3 class="name" id="ValueBufferType" translate="no">.<a href="#ValueBufferType"
</dl>
</div>
<div class="member">
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The value type name.</p>
<p>Default is <code>'string'</code>.</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/SubgroupFunctionNode.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ <h3 class="name" id="bNode" translate="no">.<a href="#bNode">bNode</a><span clas
</div>
</div>
<div class="member">
<h3 class="name" id="method" translate="no">.<a href="#method">method</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="method" translate="no">.<a href="#method">method</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The subgroup/wave intrinsic method to construct.</p>
</div>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/VectorKeyframeTrack.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ <h3 class="name name-method" id="VectorKeyframeTrack" translate="no">new <a href
</div>
<h2 class="subsection-title">Properties</h2>
<div class="member">
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : string</span> </h3>
<div class="description">
<p>The value type name.</p>
<p>Default is <code>'vector'</code>.</p>
Expand Down
29 changes: 29 additions & 0 deletions docs/pages/WebGLRenderer.html
Original file line number Diff line number Diff line change
Expand Up @@ -1022,6 +1022,24 @@ <h3 class="name name-method" id="setDrawingBufferSize" translate="no">.<a href="
</tbody>
</table>
</div>
<h3 class="name name-method" id="setEffects" translate="no">.<a href="#setEffects">setEffects</a><span class="signature">( effects : <span class="param-type">Array</span> )</span> </h3>
<div class="method">
<div class="description">
<p>Sets the post-processing effects to be applied after rendering.</p>
</div>
<table class="params">
<tbody>
<tr>
<td class="name">
<strong>effects</strong>
</td>
<td class="description last">
<p>An array of post-processing effects.</p>
</td>
</tr>
</tbody>
</table>
</div>
<h3 class="name name-method" id="setOpaqueSort" translate="no">.<a href="#setOpaqueSort">setOpaqueSort</a><span class="signature">( method : <span class="param-type">function</span> )</span> </h3>
<div class="method">
<div class="description">
Expand Down Expand Up @@ -1724,6 +1742,17 @@ <h3 class="name" id="~Options" translate="no">.<a href="#~Options">Options</a> <
<p>Default is <code>false</code>.</p>
</td>
</tr>
<tr>
<td class="name">
<strong>outputBufferType</strong>
<br>
<span class="param-type">number</span>
</td>
<td class="description last">
<p>Defines the type of the output buffer. Use <code>HalfFloatType</code> for HDR rendering with tone mapping and post-processing support.</p>
<p>Default is <code>UnsignedByteType</code>.</p>
</td>
</tr>
</tbody>
</table>
</div>
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/WebGPURenderer.html
Original file line number Diff line number Diff line change
Expand Up @@ -165,12 +165,12 @@ <h3 class="name" id="~Options" translate="no">.<a href="#~Options">Options</a> <
</tr>
<tr>
<td class="name">
<strong>colorBufferType</strong>
<strong>outputBufferType</strong>
<br>
<span class="param-type">number</span>
</td>
<td class="description last">
<p>Defines the type of color buffers. The default <code>HalfFloatType</code> is recommend for best
<p>Defines the type of output buffers. The default <code>HalfFloatType</code> is recommend for best
quality. To save memory and bandwidth, <code>UnsignedByteType</code> might be used. This will reduce rendering quality though.</p>
<p>Default is <code>HalfFloatType</code>.</p>
</td>
Expand Down
Loading
Loading