github playcanvas/engine v2.23.0

6 hours ago

Changes

Rendering

Lighting & Shadows

Materials

  • Add a material bind group slot and cached shader processing keys by @mvaligursky in #9370
  • Hold the textures of a material in its own bind group by @mvaligursky in #9457
  • Bind the material bind group at a material switch instead of at every draw by @mvaligursky in #9413
  • Store StandardMaterial diffuse in a material-owned uniform buffer by @mvaligursky in #9381
  • Store emissive color and intensity in the material uniform buffer by @mvaligursky in #9392
  • Store the remaining StandardMaterial colors and numbers in the material uniform buffer by @mvaligursky in #9398
  • Store the derived StandardMaterial uniforms in the material uniform buffer by @mvaligursky in #9402
  • Store the texture map transforms in the material uniform buffer by @mvaligursky in #9405
  • Store the cube map projection box in the material uniform buffer by @mvaligursky in #9406
  • Copy the cube map projection box into the material instead of keeping a reference by @mvaligursky in #9411
  • Support mesh instance overrides of material uniform buffer values by @mvaligursky in #9386
  • Let a mesh instance override a texture of the material bind group by @mvaligursky in #9445
  • Restore global scope values after mesh instance parameter overrides by @mvaligursky in #9588
  • Warn in debug builds when a mesh instance override array changes in place by @mvaligursky in #9395
  • Warn about material and mesh instance parameters of view uniforms by @mvaligursky in #9619
  • Add support for all eight UV sets in StandardMaterial by @mvaligursky in #9376
  • Make alphaTest an accessor of Material and retire the generic float property helper by @mvaligursky in #9408
  • Separate sprite color from material uniforms by @mvaligursky in #9337
  • Separate UI element colors from material uniforms by @mvaligursky in #9338
  • Pass the model scale to dynamic refraction from the vertex shader by @mvaligursky in #9616
  • Fix LitMaterial ambient by making the ambient tint a lit argument by @mvaligursky in #9538
  • Fix StandardMaterial shader invalidation for environment textures and 0/1 number changes by @mvaligursky in #9359
  • Fix StandardMaterial shader invalidation for refraction thresholds by @mvaligursky in #9363
  • Make StandardMaterial texture map iteration ignore prototype properties by @mvaligursky in #9368
  • Stop placeholder textures from forcing shader recompiles by @mvaligursky in #9592

Gaussian Splatting

Physics

  • Add RigidBodyComponent#gravityScale by @willeastcott in #9465
  • Add a hitBackFaces raycast option to skip mesh collider back faces by @willeastcott in #9506
  • Tighten the public surface of the physics API by @willeastcott in #9519
  • Harden physics raycasts and forward the Application physicsWorld option by @willeastcott in #9517
  • Ship an Ammo build whose heap starts at 16MB and grows on demand by @willeastcott in #9488
  • Route the Ammo internal tick callback through one dispatcher per module by @willeastcott in #9463
  • Apply gravity to the physics backend on install and when it changes by @willeastcott in #9439
  • Refresh Ammo broadphase bounds when a body is teleported by @willeastcott in #9489
  • Mirror mesh colliders with negative scale factors by @willeastcott in #9499
  • Keep the orientation of mirrored dynamic bodies across physics steps by @willeastcott in #9500
  • Fix mesh colliders sharing a mesh at different scales and rebuild them on scale changes by @willeastcott in #9311
  • Sync compound children from their own transforms, not the root's dirty flag by @willeastcott in #9456
  • Rebuild a collision component as a trigger when its rigid body is removed by @willeastcott in #9464
  • Give both entities of a contact the normal of the other surface by @willeastcott in #9450

XR

UI

Device Recovery

Profiling & Debugging

Fixes

Examples

Documentation & Types

Engine Dependencies

  • Update dependency sharp to v0.35.4 [SECURITY] in #9330
  • Update all npm dependencies in #9434
  • Update dependency mocha to v12 in #9435

Contributors

New Contributors

Full Changelog: v2.22.6...v2.23.0

Don't miss a new engine release

NewReleases is sending notifications on new releases.