Skip to content

[pull] dev from mrdoob:dev #655

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

Merged
merged 1 commit into from
Jul 15, 2025
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 examples/webgl_reverse_depth_buffer.html
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@
logarithmicComposer.addPass( new OutputPass() );

const reverseContainer = document.getElementById( 'container_reverse' );
reverseRenderer = new THREE.WebGLRenderer( { reverseDepthBuffer: true } );
reverseRenderer = new THREE.WebGLRenderer( { reversedDepthBuffer: true } );
reverseRenderer.setPixelRatio( window.devicePixelRatio );
reverseRenderer.setSize( 0.33 * window.innerWidth, window.innerHeight );
reverseRenderer.domElement.style.position = 'relative';
Expand Down
4 changes: 2 additions & 2 deletions examples/webgl_shadowmap.html
Original file line number Diff line number Diff line change
Expand Up @@ -101,13 +101,13 @@

// RENDERER

renderer = new THREE.WebGLRenderer( { antialias: true, reverseDepthBuffer: true } );
renderer = new THREE.WebGLRenderer( { antialias: true, reversedDepthBuffer: true } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
renderer.setAnimationLoop( animate );
container.appendChild( renderer.domElement );

if ( renderer.capabilities.reverseDepthBuffer ) {
if ( renderer.capabilities.reversedDepthBuffer ) {

camera.reversedDepth = true;
camera.updateProjectionMatrix();
Expand Down
14 changes: 7 additions & 7 deletions src/renderers/WebGLRenderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class WebGLRenderer {
preserveDrawingBuffer = false,
powerPreference = 'default',
failIfMajorPerformanceCaveat = false,
reverseDepthBuffer = false,
reversedDepthBuffer = false,
} = parameters;

/**
Expand Down Expand Up @@ -409,7 +409,7 @@ class WebGLRenderer {

state = new WebGLState( _gl, extensions );

if ( capabilities.reverseDepthBuffer && reverseDepthBuffer ) {
if ( capabilities.reversedDepthBuffer && reversedDepthBuffer ) {

state.buffers.depth.setReversed( true );

Expand Down Expand Up @@ -2380,12 +2380,12 @@ class WebGLRenderer {

// common camera uniforms

const reverseDepthBuffer = state.buffers.depth.getReversed();
const reversedDepthBuffer = state.buffers.depth.getReversed();

if ( reverseDepthBuffer && camera.reversedDepth !== true ) {
if ( reversedDepthBuffer && camera.reversedDepth !== true ) {

// @deprecated, r179
warnOnce( 'THREE.WebGLRenderer: reverseDepthBuffer must be used with "camera.reversedDepth = true;" for correct results. Automatic conversion will be removed in r189.' );
warnOnce( 'THREE.WebGLRenderer: reversedDepthBuffer must be used with "camera.reversedDepth = true;" for correct results. Automatic conversion will be removed in r189.' );

_currentProjectionMatrix.copy( camera.projectionMatrix );

Expand Down Expand Up @@ -3440,7 +3440,7 @@ class WebGLRenderer {
* @property {boolean} [depth=true] Whether the drawing buffer has a depth buffer of at least 16 bits.
* @property {boolean} [logarithmicDepthBuffer=false] Whether to use a logarithmic depth buffer. It may be necessary to use this if dealing with huge differences in scale in a single scene.
* Note that this setting uses `gl_FragDepth` if available which disables the Early Fragment Test optimization and can cause a decrease in performance.
* @property {boolean} [reverseDepthBuffer=false] Whether to use a reverse depth buffer. Requires the `EXT_clip_control` extension.
* @property {boolean} [reversedDepthBuffer=false] Whether to use a reverse depth buffer. Requires the `EXT_clip_control` extension.
* This is a more faster and accurate version than logarithmic depth buffer.
**/

Expand All @@ -3461,7 +3461,7 @@ class WebGLRenderer {
* @property {number} maxVertexTextures - The number of textures that can be used in a vertex shader.
* @property {number} maxVertexUniforms - The maximum number of uniforms that can be used in a vertex shader.
* @property {string} precision - The shader precision currently being used by the renderer.
* @property {boolean} reverseDepthBuffer - `true` if `reverseDepthBuffer` was set to `true` in the constructor
* @property {boolean} reversedDepthBuffer - `true` if `reversedDepthBuffer` was set to `true` in the constructor
* and the rendering context supports `EXT_clip_control`.
* @property {boolean} vertexTextures - `true` if vertex textures can be used.
**/
Expand Down
4 changes: 2 additions & 2 deletions src/renderers/webgl/WebGLCapabilities.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ function WebGLCapabilities( gl, extensions, parameters, utils ) {
}

const logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true;
const reverseDepthBuffer = parameters.reverseDepthBuffer === true && extensions.has( 'EXT_clip_control' );
const reversedDepthBuffer = parameters.reversedDepthBuffer === true && extensions.has( 'EXT_clip_control' );

const maxTextures = gl.getParameter( gl.MAX_TEXTURE_IMAGE_UNITS );
const maxVertexTextures = gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS );
Expand Down Expand Up @@ -120,7 +120,7 @@ function WebGLCapabilities( gl, extensions, parameters, utils ) {

precision: precision,
logarithmicDepthBuffer: logarithmicDepthBuffer,
reverseDepthBuffer: reverseDepthBuffer,
reversedDepthBuffer: reversedDepthBuffer,

maxTextures: maxTextures,
maxVertexTextures: maxVertexTextures,
Expand Down
4 changes: 2 additions & 2 deletions src/renderers/webgl/WebGLProgram.js
Original file line number Diff line number Diff line change
Expand Up @@ -652,7 +652,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
parameters.numLightProbes > 0 ? '#define USE_LIGHT_PROBES' : '',

parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
parameters.reverseDepthBuffer ? '#define USE_REVERSEDEPTHBUF' : '',
parameters.reversedDepthBuffer ? '#define USE_REVERSEDEPTHBUF' : '',

'uniform mat4 modelMatrix;',
'uniform mat4 modelViewMatrix;',
Expand Down Expand Up @@ -819,7 +819,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
parameters.decodeVideoTextureEmissive ? '#define DECODE_VIDEO_TEXTURE_EMISSIVE' : '',

parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
parameters.reverseDepthBuffer ? '#define USE_REVERSEDEPTHBUF' : '',
parameters.reversedDepthBuffer ? '#define USE_REVERSEDEPTHBUF' : '',

'uniform mat4 viewMatrix;',
'uniform vec3 cameraPosition;',
Expand Down
6 changes: 3 additions & 3 deletions src/renderers/webgl/WebGLPrograms.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
}

const currentRenderTarget = renderer.getRenderTarget();
const reverseDepthBuffer = renderer.state.buffers.depth.getReversed();
const reversedDepthBuffer = renderer.state.buffers.depth.getReversed();

const IS_INSTANCEDMESH = object.isInstancedMesh === true;
const IS_BATCHEDMESH = object.isBatchedMesh === true;
Expand Down Expand Up @@ -306,7 +306,7 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities

sizeAttenuation: material.sizeAttenuation === true,
logarithmicDepthBuffer: logarithmicDepthBuffer,
reverseDepthBuffer: reverseDepthBuffer,
reversedDepthBuffer: reversedDepthBuffer,

skinning: object.isSkinnedMesh === true,

Expand Down Expand Up @@ -529,7 +529,7 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
_programLayers.enable( 2 );
if ( parameters.logarithmicDepthBuffer )
_programLayers.enable( 3 );
if ( parameters.reverseDepthBuffer )
if ( parameters.reversedDepthBuffer )
_programLayers.enable( 4 );
if ( parameters.skinning )
_programLayers.enable( 5 );
Expand Down
2 changes: 1 addition & 1 deletion src/renderers/webgl/WebGLShadowMap.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ function WebGLShadowMap( renderer, objects, capabilities ) {
shadow.map.texture.name = light.name + '.shadowMap';

// @deprecated, r179
if ( capabilities.reverseDepthBuffer === true && camera.reversedDepth === false ) {
if ( capabilities.reversedDepthBuffer === true && camera.reversedDepth === false ) {

shadow.camera.reversedDepth = true;

Expand Down