ShadowDepthWrapper class to support accurate shadow generation for custom as well as node material shaders. Doc (Popov72)ShadowGenerator for fast fake soft transparent shadows (Popov72)BoundingBoxGizmo (cedricguillemet)CascadedShadowMap.IsSupported method and log an error instead of throwing an exception when CSM is not supported (Popov72)material.disableColorWrite (Deltakosh)boundingBoxRenderer.onBeforeBoxRenderingObservable and boundingBoxRenderer.onAfterBoxRenderingObservable (Deltakosh)CustomProceduralTexture if the texturePath is not a JSON path (Popov72)AssetContainerTask support to AssetsManager class (MackeyK24)getTransformNodesByTags support to Scene class (MackeyK24)FragCoord and ScreenSize blocks (Popov72)ParticlePositionWorld block (Popov72)rgba and a outputs to the ReflectionTexture block (Popov72)ArcRotateCamera (cedricguillemet)scene.InputManager when attaching a new one (cedricguillemet)FreeCamera (Pheater)scene.physicsEnabled boolean (Deltakosh)loadAllMaterials property to the gLTF loader to load materials even if not used by any mesh (Popov72)roughness and albedoScaling parameters to PBR sheen (Popov72)transparencyMode property to the StandardMaterial class (Popov72)FresnelParameters constructor options and equals method (brianzinn)AddAttribute to CustomMaterial and PBRCustomMaterial (Popov72)setTexture and setTextureArray from ShaderMaterial take now a BaseTexture as input instead of a Texture, allowing to pass a CubeTexture (Popov72)#if expressions in shader code (Popov72)StandardMaterial RGBD ReflectionTexture, RefractionTexture and LightmapTexture support. (MackeyK24)// comment in a #if construct in shader code (Popov72)shadowOnly property to the BackgroundMaterial class (Popov72)WebXRControllerPointerSelection (Exolun)selectstart and selectend events when gamepad and motion controller are not present (#7989) (RaananW)autoClear = false settings (RaananW)Fixed an issue with backwards movement in XR (#8854) (RaananW)
Added an option to optimize collision detection performance (jsdream) - PR
Animation#addEvent() (ycw)Vector3.projectOnPlaneToRef (Deltakosh)metadata in Sound class. (julien-moreau)TextBlock (Popov72)fixedRatio property to the Control class (Popov72)PrePassRenderer to avoid rendering the scene twice (CraigFeldpsarGlowLayer.unReferenceMeshFromUsingItsOwnMaterial (Popov72)QuadraticErrorSimplification was not exported (RaananW)KHR_texture_transform serializer. (drigax)Plane.transform when matrix passed in is not a pure rotation (Popov72)TexturePacker cross-origin image requests, fix falsy default options (ludevik)CustomMaterial and PBRCustomMaterial not setting uniforms / samplers / attributes (Popov72)VirtualJoystick does not have touch-action: "none" set by default (joergplewe)ShaderMaterial when using morph targets (Popov72)extrudePolygon using faceUV[1] (JohnK)_distances / length computation (Poolminer)TransformNode.attachToBone (Popov72)GeometryBufferRenderer) (Popov72)Sound not accepting a TransformNode as a source for spatial sound (Poolminer)ShadowOnlyMaterial with Cascaded Shadow Map and autoCalcDepthBounds is true (Popov72)transparencyShadow = false (Popov72)DracoCompression to not load empty data into attributes (bghgary)Mesh.subdivide where one face could be lost depending on the number of subdivision (Popov72)AssetContainer.instantiateModelsToScene with cloneMaterials=true and MultiMaterials to properly set the cloned submaterials (ghempton)DefaultRenderingPipeline.imageProcessingEnabled to false (Popov72)isEnabled = false (Popov72)GLTFLoader._updateBoneMatrices() where bone rest position was not set. (drigax)DeviceSourceManager.getDeviceSources() where null devices are returned (Drigax)_Exporter.createSkinsAsync() that exported an incorrect joint indexing list (drigax)FollowCamera.target was renamed to FollowCamera.meshTarget to not be in conflict with TargetCamera.target (Deltakosh)EffectRenderer.render now takes a RenderTargetTexture or an InternalTexture as the output texture and only a single EffectWrapper for its first argument (Popov72)updateOptions takes options.length and options.offset as seconds and not milliseconds (RaananW)SceneLoaderProgress class is now ISceneLoaderProgress interface (bghgary)engine.setStencilBuffer(value)) instead of being set to false unconditionally. This change may affect the highlight layer when using transparent meshes. If you are impacted, you may need to exclude the transparent mesh(es) from the layer (Popov72)adaptWithToChildren = true (Popov72)