diff --git a/examples-testing/changes.patch b/examples-testing/changes.patch index ae3762ced..3bae051da 100644 --- a/examples-testing/changes.patch +++ b/examples-testing/changes.patch @@ -1173,7 +1173,7 @@ index 014ea58a0..643f63522 100644 const link = document.createElement('a'); diff --git a/examples-testing/examples/misc_exporter_gltf.ts b/examples-testing/examples/misc_exporter_gltf.ts -index f6fe03450..98c4a4815 100644 +index c19eb94a6..7900c0e18 100644 --- a/examples-testing/examples/misc_exporter_gltf.ts +++ b/examples-testing/examples/misc_exporter_gltf.ts @@ -7,7 +7,7 @@ import { MeshoptDecoder } from 'three/addons/libs/meshopt_decoder.module.js'; @@ -1394,7 +1394,7 @@ index ff6d6e2b5..105aeb07d 100644 save(new Blob([buffer], { type: 'application/octet-stream' }), filename); } diff --git a/examples-testing/examples/misc_exporter_usdz.ts b/examples-testing/examples/misc_exporter_usdz.ts -index 3e7178a11..c49bcc338 100644 +index 4c84a8ffb..1a7f3e94e 100644 --- a/examples-testing/examples/misc_exporter_usdz.ts +++ b/examples-testing/examples/misc_exporter_usdz.ts @@ -10,7 +10,12 @@ import { USDZExporter } from 'three/addons/exporters/USDZExporter.js'; @@ -7220,7 +7220,7 @@ index bbbd0ac3e..206bd4c76 100644 mixer = new THREE.AnimationMixer(avatar); diff --git a/examples-testing/examples/webgl_loader_draco.ts b/examples-testing/examples/webgl_loader_draco.ts -index c1df7100d..6a8c48446 100644 +index 4d41740e6..fa810d6bc 100644 --- a/examples-testing/examples/webgl_loader_draco.ts +++ b/examples-testing/examples/webgl_loader_draco.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -7436,7 +7436,7 @@ index e0cb68546..68c615001 100644 box.setFromObject(selection); diff --git a/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts b/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts -index 443df047b..d2cb449eb 100644 +index 69e389e41..6c8697f53 100644 --- a/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts +++ b/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts @@ -10,11 +10,11 @@ import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js'; @@ -7480,7 +7480,7 @@ index 37d63859e..68dff97f2 100644 init(); render(); diff --git a/examples-testing/examples/webgl_loader_gltf_compressed.ts b/examples-testing/examples/webgl_loader_gltf_compressed.ts -index 235d9b3d0..06e6d5072 100644 +index 24dec183d..233d7ad26 100644 --- a/examples-testing/examples/webgl_loader_gltf_compressed.ts +++ b/examples-testing/examples/webgl_loader_gltf_compressed.ts @@ -7,7 +7,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -8951,7 +8951,7 @@ index c3f3f4f7d..4ae4cb959 100644 roughness: params.roughness, envMapIntensity: 1.0, diff --git a/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts b/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts -index de8715eb7..18b6ed982 100644 +index f03862acf..181148ea8 100644 --- a/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts +++ b/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts @@ -13,8 +13,8 @@ const params = { @@ -8967,7 +8967,7 @@ index de8715eb7..18b6ed982 100644 @@ -96,7 +96,7 @@ function init() { - const loader = new KTX2Loader().setTranscoderPath('jsm/libs/basis/').detectSupport(renderer); + const loader = new KTX2Loader().detectSupport(renderer); - function loadTexture(url) { + function loadTexture(url: string) { @@ -10073,7 +10073,7 @@ index d8a4bbe8d..92ef3836a 100644 } diff --git a/examples-testing/examples/webgl_morphtargets_face.ts b/examples-testing/examples/webgl_morphtargets_face.ts -index 7f348c8a4..1fa93e3be 100644 +index 4e02c83ce..2a3c317a2 100644 --- a/examples-testing/examples/webgl_morphtargets_face.ts +++ b/examples-testing/examples/webgl_morphtargets_face.ts @@ -12,7 +12,13 @@ import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js'; @@ -10973,7 +10973,7 @@ index b7c2c6661..a8d6f639f 100644 obj.receiveShadow = true; } diff --git a/examples-testing/examples/webgl_postprocessing_gtao.ts b/examples-testing/examples/webgl_postprocessing_gtao.ts -index a37d3041b..9165702d8 100644 +index 7c39b8364..18dc1764b 100644 --- a/examples-testing/examples/webgl_postprocessing_gtao.ts +++ b/examples-testing/examples/webgl_postprocessing_gtao.ts @@ -10,7 +10,14 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -11343,7 +11343,7 @@ index fd3739af3..5d2865f06 100644 init(); diff --git a/examples-testing/examples/webgl_postprocessing_ssr.ts b/examples-testing/examples/webgl_postprocessing_ssr.ts -index 1f5e48d3b..bad3a477f 100644 +index 77f8365d1..92e721711 100644 --- a/examples-testing/examples/webgl_postprocessing_ssr.ts +++ b/examples-testing/examples/webgl_postprocessing_ssr.ts @@ -18,17 +18,17 @@ const params = { @@ -11375,7 +11375,7 @@ index 1f5e48d3b..bad3a477f 100644 // Configure and create Draco decoder. const dracoLoader = new DRACOLoader(); -@@ -77,7 +77,7 @@ function init() { +@@ -75,7 +75,7 @@ function init() { dracoLoader.dispose(); }); @@ -13199,7 +13199,7 @@ index 5988299e1..6da2af6ca 100644 textureL.needsUpdate = true; diff --git a/examples-testing/examples/webgl_texture2darray_compressed.ts b/examples-testing/examples/webgl_texture2darray_compressed.ts -index e074be576..6039c4df2 100644 +index 0ce11a28a..3614c7154 100644 --- a/examples-testing/examples/webgl_texture2darray_compressed.ts +++ b/examples-testing/examples/webgl_texture2darray_compressed.ts @@ -3,7 +3,12 @@ import * as THREE from 'three'; @@ -13216,7 +13216,7 @@ index e074be576..6039c4df2 100644 const planeWidth = 50; const planeHeight = 25; -@@ -44,8 +49,8 @@ function init() { +@@ -43,8 +48,8 @@ function init() { depth: { value: 55 }, size: { value: new THREE.Vector2(planeWidth, planeHeight) }, }, @@ -13228,7 +13228,7 @@ index e074be576..6039c4df2 100644 }); diff --git a/examples-testing/examples/webgl_texture2darray_layerupdate.ts b/examples-testing/examples/webgl_texture2darray_layerupdate.ts -index 0cc136cb7..262372590 100644 +index 688f89b4a..6f7240c2b 100644 --- a/examples-testing/examples/webgl_texture2darray_layerupdate.ts +++ b/examples-testing/examples/webgl_texture2darray_layerupdate.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -13240,7 +13240,7 @@ index 0cc136cb7..262372590 100644 const planeWidth = 20; const planeHeight = 10; -@@ -35,7 +35,7 @@ async function init() { +@@ -34,7 +34,7 @@ async function init() { // Load several KTX2 textures which will later be used to modify // specific texture array layers. @@ -13249,7 +13249,7 @@ index 0cc136cb7..262372590 100644 // Create a texture array for rendering. -@@ -67,9 +67,9 @@ async function init() { +@@ -66,9 +66,9 @@ async function init() { srcLayer: 0, destLayer: 0, transfer() { @@ -13262,7 +13262,7 @@ index 0cc136cb7..262372590 100644 layerElementLength * (formData.srcLayer % spiritedaway.image.depth), layerElementLength * ((formData.srcLayer % spiritedaway.image.depth) + 1), ), -@@ -94,13 +94,13 @@ async function init() { +@@ -93,13 +93,13 @@ async function init() { diffuse: { value: textureArray }, size: { value: new THREE.Vector2(planeWidth, planeHeight) }, }, @@ -13279,7 +13279,7 @@ index 0cc136cb7..262372590 100644 geometry.instanceCount = 3; const instancedIndexAttribute = new THREE.InstancedBufferAttribute(new Uint16Array([0, 1, 2]), 1, false, 1); -@@ -116,7 +116,7 @@ async function init() { +@@ -115,7 +115,7 @@ async function init() { // Initialize the texture array by first rendering the spirited away // frames in order. @@ -14456,7 +14456,7 @@ index 24eff6c1e..115a23e12 100644 if (amount === 0) return; const dir = amount / Math.abs(amount); diff --git a/examples-testing/examples/webgpu_caustics.ts b/examples-testing/examples/webgpu_caustics.ts -index 0829fb558..b7692cbbc 100644 +index 48225c325..7b7bfb5e7 100644 --- a/examples-testing/examples/webgpu_caustics.ts +++ b/examples-testing/examples/webgpu_caustics.ts @@ -20,8 +20,8 @@ import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js'; @@ -14470,7 +14470,7 @@ index 0829fb558..b7692cbbc 100644 init(); -@@ -64,7 +64,7 @@ async function init() { +@@ -62,7 +62,7 @@ async function init() { // objects / material @@ -14479,7 +14479,7 @@ index 0829fb558..b7692cbbc 100644 duck.material = new THREE.MeshPhysicalNodeMaterial(); duck.material.side = THREE.DoubleSide; duck.material.transparent = true; -@@ -162,7 +162,7 @@ async function init() { +@@ -160,7 +160,7 @@ async function init() { // gui @@ -16939,7 +16939,7 @@ index a3aa95e15..144199f29 100644 init(); diff --git a/examples-testing/examples/webgpu_loader_gltf_compressed.ts b/examples-testing/examples/webgpu_loader_gltf_compressed.ts -index 31d5d0d1a..8a2e68da5 100644 +index d6d437517..f914ff348 100644 --- a/examples-testing/examples/webgpu_loader_gltf_compressed.ts +++ b/examples-testing/examples/webgpu_loader_gltf_compressed.ts @@ -6,7 +6,7 @@ import { MeshoptDecoder } from 'three/addons/libs/meshopt_decoder.module.js'; @@ -17135,7 +17135,7 @@ index bb84eb693..55416bc98 100644 } }); diff --git a/examples-testing/examples/webgpu_loader_texture_ktx2.ts b/examples-testing/examples/webgpu_loader_texture_ktx2.ts -index 1daf0f032..ee2cb370b 100644 +index 031495f06..86b50c5a1 100644 --- a/examples-testing/examples/webgpu_loader_texture_ktx2.ts +++ b/examples-testing/examples/webgpu_loader_texture_ktx2.ts @@ -1,12 +1,18 @@ @@ -17170,7 +17170,7 @@ index 1daf0f032..ee2cb370b 100644 renderer = new THREE.WebGPURenderer({ canvas, antialias: true, forceWebGL: false }); renderer.setClearColor(0xffffff, 1); -@@ -67,7 +73,7 @@ async function init() { +@@ -64,7 +70,7 @@ async function init() { const geometry = flipY(new THREE.PlaneGeometry(1, 1)); @@ -17179,7 +17179,7 @@ index 1daf0f032..ee2cb370b 100644 for (const section of sections) { const sectionElement = document.createElement('section'); -@@ -133,7 +139,7 @@ function updateSize() { +@@ -130,7 +136,7 @@ function updateSize() { // Rewrite UVs for `flipY=false` textures. @@ -18173,7 +18173,7 @@ index cde3ae83b..c6e68d052 100644 } diff --git a/examples-testing/examples/webgpu_morphtargets_face.ts b/examples-testing/examples/webgpu_morphtargets_face.ts -index 91120dfb5..53282897e 100644 +index 86bc871d9..5ba24a2cb 100644 --- a/examples-testing/examples/webgpu_morphtargets_face.ts +++ b/examples-testing/examples/webgpu_morphtargets_face.ts @@ -12,7 +12,7 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -19172,7 +19172,7 @@ index 20118247a..877b921bd 100644 gui.add(threshold, 'value', 0, 0.9).name('threshold'); gui.add(samples, 'value', 2, 128, 1).name('samples'); diff --git a/examples-testing/examples/webgpu_postprocessing_ao.ts b/examples-testing/examples/webgpu_postprocessing_ao.ts -index 76046bee8..460c90fd6 100644 +index 5b50fe485..77f0f2818 100644 --- a/examples-testing/examples/webgpu_postprocessing_ao.ts +++ b/examples-testing/examples/webgpu_postprocessing_ao.ts @@ -13,8 +13,8 @@ import { @@ -19204,7 +19204,7 @@ index 76046bee8..460c90fd6 100644 const params = { samples: 16, -@@ -161,7 +167,7 @@ async function init() { +@@ -159,7 +165,7 @@ async function init() { // @@ -20088,7 +20088,7 @@ index 4d1e617c1..54d760f2f 100644 renderPipeline.render(); } diff --git a/examples-testing/examples/webgpu_postprocessing_ssr.ts b/examples-testing/examples/webgpu_postprocessing_ssr.ts -index 7ce11780a..2d8012faa 100644 +index 09d4066d1..b87d50d26 100644 --- a/examples-testing/examples/webgpu_postprocessing_ssr.ts +++ b/examples-testing/examples/webgpu_postprocessing_ssr.ts @@ -14,7 +14,7 @@ import { @@ -20116,7 +20116,7 @@ index 7ce11780a..2d8012faa 100644 init(); -@@ -55,13 +60,12 @@ async function init() { +@@ -53,13 +58,12 @@ async function init() { model = gltf.scene; model.traverse(function (object) { @@ -20134,7 +20134,7 @@ index 7ce11780a..2d8012faa 100644 } }); -@@ -161,7 +165,7 @@ async function init() { +@@ -159,7 +163,7 @@ async function init() { // GUI @@ -20143,7 +20143,7 @@ index 7ce11780a..2d8012faa 100644 const ssrFolder = gui.addFolder('SSR'); ssrFolder.add(params, 'quality', 0, 1).onChange(updateParameters); ssrFolder.add(params, 'blurQuality', 1, 3, 1).onChange(updateParameters); -@@ -180,8 +184,8 @@ async function init() { +@@ -178,8 +182,8 @@ async function init() { const modelFolder = gui.addFolder('Model'); modelFolder.add(params, 'roughness', 0, 1).onChange(value => { model.traverse(function (object) { @@ -21330,7 +21330,7 @@ index a1a354ff7..940a35c89 100644 let oscLayers = oscTriangle(time.mul(0.5)); // [ /\/ ] triangle osc animation diff --git a/examples-testing/examples/webgpu_textures_2d-array_compressed.ts b/examples-testing/examples/webgpu_textures_2d-array_compressed.ts -index 62b516458..12beb46d5 100644 +index 1a44e04c4..3f22f4355 100644 --- a/examples-testing/examples/webgpu_textures_2d-array_compressed.ts +++ b/examples-testing/examples/webgpu_textures_2d-array_compressed.ts @@ -6,7 +6,11 @@ import { KTX2Loader } from 'three/addons/loaders/KTX2Loader.js'; @@ -21472,7 +21472,7 @@ index 4140a49fd..e371e494c 100644 .name('type') .onChange(function () { diff --git a/examples-testing/examples/webgpu_tsl_angular_slicing.ts b/examples-testing/examples/webgpu_tsl_angular_slicing.ts -index d74e1bc0a..8149db0a4 100644 +index cf503b783..8ebdfec8a 100644 --- a/examples-testing/examples/webgpu_tsl_angular_slicing.ts +++ b/examples-testing/examples/webgpu_tsl_angular_slicing.ts @@ -8,7 +8,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -21501,7 +21501,7 @@ index d74e1bc0a..8149db0a4 100644 // materials -@@ -105,9 +107,9 @@ function init() { +@@ -104,9 +106,9 @@ function init() { const model = gltf.scene; model.traverse(child => { @@ -21514,7 +21514,7 @@ index d74e1bc0a..8149db0a4 100644 child.castShadow = true; child.receiveShadow = true; -@@ -153,7 +155,7 @@ function init() { +@@ -152,7 +154,7 @@ function init() { // debug @@ -22381,7 +22381,7 @@ index 5a4e06502..f42fd5a76 100644 createLabel('custom', font, text_mat, getGridPosition(Math.round(WoodGenuses.length / 2 - 1), 5)); diff --git a/examples-testing/examples/webgpu_upscaling_fsr1.ts b/examples-testing/examples/webgpu_upscaling_fsr1.ts -index 48a700414..6a2d933a5 100644 +index c4a749307..1440d8b72 100644 --- a/examples-testing/examples/webgpu_upscaling_fsr1.ts +++ b/examples-testing/examples/webgpu_upscaling_fsr1.ts @@ -13,7 +13,13 @@ const params = { @@ -22399,7 +22399,7 @@ index 48a700414..6a2d933a5 100644 init(); -@@ -91,7 +97,7 @@ async function init() { +@@ -89,7 +95,7 @@ async function init() { // gui @@ -22409,7 +22409,7 @@ index 48a700414..6a2d933a5 100644 gui.add(params, 'resolutionScale', 0.25, 1.0, 0.25).onChange(value => { scenePass.setResolutionScale(value); diff --git a/examples-testing/examples/webgpu_upscaling_taau.ts b/examples-testing/examples/webgpu_upscaling_taau.ts -index 8dfdcda87..7c24275a5 100644 +index d4169bafa..55a7d33fc 100644 --- a/examples-testing/examples/webgpu_upscaling_taau.ts +++ b/examples-testing/examples/webgpu_upscaling_taau.ts @@ -16,7 +16,13 @@ const params = { @@ -22427,7 +22427,7 @@ index 8dfdcda87..7c24275a5 100644 init(); -@@ -102,14 +108,14 @@ async function init() { +@@ -100,14 +106,14 @@ async function init() { // gui @@ -22493,7 +22493,7 @@ index f52b15ffe..78885bec4 100644 lon = (onPointerDownPointerX - event.clientX) * 0.1 + onPointerDownLon; lat = (onPointerDownPointerY - event.clientY) * 0.1 + onPointerDownLat; diff --git a/examples-testing/examples/webgpu_volume_caustics.ts b/examples-testing/examples/webgpu_volume_caustics.ts -index 0c85390dd..23cd2ae09 100644 +index d4a68aa74..6d22d7771 100644 --- a/examples-testing/examples/webgpu_volume_caustics.ts +++ b/examples-testing/examples/webgpu_volume_caustics.ts @@ -31,9 +31,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -22509,7 +22509,7 @@ index 0c85390dd..23cd2ae09 100644 init(); -@@ -79,7 +79,7 @@ async function init() { +@@ -77,7 +77,7 @@ async function init() { // Material @@ -22518,7 +22518,7 @@ index 0c85390dd..23cd2ae09 100644 duck.material = new THREE.MeshPhysicalNodeMaterial(); duck.material.side = THREE.DoubleSide; duck.material.transparent = true; -@@ -160,7 +160,7 @@ async function init() { +@@ -158,7 +158,7 @@ async function init() { // GUI @@ -22527,7 +22527,7 @@ index 0c85390dd..23cd2ae09 100644 gui.add(causticOcclusion, 'value', 0, 20).name('caustic occlusion'); gui.addColor(duck.material, 'color').name('material color'); -@@ -224,12 +224,12 @@ async function init() { +@@ -222,12 +222,12 @@ async function init() { const volumetricMaterial = new THREE.VolumeNodeMaterial(); volumetricMaterial.steps = 20; volumetricMaterial.offsetNode = bayer16(screenCoordinate.add(frameId)); // Add dithering to reduce banding diff --git a/three.js b/three.js index 7a4fa16c7..0574e6497 160000 --- a/three.js +++ b/three.js @@ -1 +1 @@ -Subproject commit 7a4fa16c7b7482b3fd0d22adb83cd89d88122f99 +Subproject commit 0574e649786df934f3bf9c6a763ce6f8fd31e3d4 diff --git a/types/three/src/nodes/display/PassNode.d.ts b/types/three/src/nodes/display/PassNode.d.ts index 2d35bcce4..afa2c193f 100644 --- a/types/three/src/nodes/display/PassNode.d.ts +++ b/types/three/src/nodes/display/PassNode.d.ts @@ -94,8 +94,6 @@ declare class PassNode extends TempNode<"vec4"> { setViewport(x: number, y: number, width: number, height: number): void; setViewport(x: Vector4): void; - setPixelRatio(pixelRatio: number): void; - dispose(): void; static COLOR: "color"; diff --git a/types/three/src/nodes/utils/RTTNode.d.ts b/types/three/src/nodes/utils/RTTNode.d.ts index c0ba23911..6d12d2dfc 100644 --- a/types/three/src/nodes/utils/RTTNode.d.ts +++ b/types/three/src/nodes/utils/RTTNode.d.ts @@ -14,15 +14,15 @@ declare class RTTNode extends TextureNode { textureNeedsUpdate: boolean; autoUpdate: boolean; - pixelRatio?: number; - constructor(node: Node, width?: number | null, height?: number | null, options?: RenderTargetOptions); get autoResize(): boolean; setSize(width: number | null, height: number | null): void; - setPixelRatio(pixelRatio: number): void; + setResolutionScale(resolutionScale: number): this; + + getResolutionScale(): number; } export default RTTNode;