Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
8e6db84
fix: Gizmo fixes for editor integration: disabled components, centere…
kpal81xd Oct 23, 2026
f66b33d
2.24.0-beta.21
Oct 23, 2026
57987e3
fix: Gizmo fixes for far icons, picking, frustum fill, flat box corne…
kpal81xd Oct 23, 2026
209ce57
2.24.0-beta.22
Oct 23, 2026
734d236
Fix WebGPU creation for cross-document canvases (#9814)
GibsDev Oct 26, 2026
093bd54
fix: Update the mip count when Texture.setSource changes the size (#9…
mvaligursky Oct 26, 2026
f56d06b
chore(deps): update dependency vite to v8.3.3 [security] (#9805)
renovate[bot] Oct 26, 2026
1d6227b
feat: Make the frame pass classes public (#9822)
mvaligursky Oct 26, 2026
a9f5510
fix: Destroy the WebGPU indirect buffers when the device is destroyed…
mvaligursky Oct 26, 2026
d45f19d
refactor: Draw drawQuadWithShader with a RenderPassShaderQuad (#9825)
mvaligursky Oct 26, 2026
92115e7
Fix math.smoothstep and smootherstep when min is greater than max (#9…
zzoraemon043 Oct 26, 2026
94b9d15
fix: Support the HTML-in-Canvas API names shipping in Chrome 157 (#9824)
mvaligursky Oct 26, 2026
ba1fadf
perf: Reuse quad render passes in per-frame engine rendering (#9827)
mvaligursky Oct 26, 2026
d7e5086
refactor: Move the SMAA and volumetric fog render passes to their own…
mvaligursky Oct 26, 2026
fcc1368
refactor: Set render pass clears and stores through the setters (#9829)
mvaligursky Oct 26, 2026
a0f8676
feat: Add RenderPass#resizeSource and copy the resize options of init…
mvaligursky Oct 26, 2026
58b2b9e
fix: Use each camera's own cascade split distances for directional sh…
mvaligursky Oct 26, 2026
f464138
perf: Resolve render pass uniforms once instead of every frame (#9833)
mvaligursky Oct 26, 2026
bbf90df
Add RenderPassShaderQuad#numInstances (#9832)
mvaligursky Oct 26, 2026
c35a3de
fix: Draw nothing for zero instances on WebGL, matching WebGPU (#9834)
mvaligursky Oct 26, 2026
550a4ff
refactor: Rename FrameGraph addRenderPass and renderPasses to addPass…
mvaligursky Oct 26, 2026
8c40ec6
2.24.0-beta.23
Oct 27, 2026
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
146 changes: 73 additions & 73 deletions examples/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"react-router-dom": "7.18.4",
"sharp": "0.35.5",
"typescript": "5.9.3",
"vite": "8.3.0"
"vite": "8.3.3"
},
"overrides": {
"@playcanvas/inspector": {
Expand Down
11 changes: 4 additions & 7 deletions examples/src/examples/compute/histogram.example.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,10 @@ app.on('destroy', () => {
onDeviceLost.off();
});

// Before the compute pass dispatches, clear the storage buffer, to avoid the accumulation buildup
// Right before the compute pass dispatches, set up the size of the dispatch, a thread for each
// pixel, and clear the storage buffer, to avoid the accumulation buildup
computePass.onBefore = () => {
compute.setupDispatchThreads(device.width, device.height);
histogramStorageBuffer.clear();
};

Expand Down Expand Up @@ -221,12 +223,7 @@ computePass.onAfter = () => {
});
};

app.on('update', (/** @type {number} */ _dt) => {
if (device.supportsCompute) {
// The size of the dispatch, a thread for each pixel, which the compute pass uses
compute.setupDispatchThreads(app.graphicsDevice.width, app.graphicsDevice.height);
}

app.on('update', () => {
// Render the most recently read histogram using lines
if (histogramPositions) {
app.drawLineArrays(histogramPositions, Color.YELLOW);
Expand Down
4 changes: 3 additions & 1 deletion examples/src/examples/gizmos/icon.controls.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ export function Controls({ observer }) {
{ v: 'light', t: 'Light' },
{ v: 'audiolistener', t: 'Audio Listener' },
{ v: 'sound', t: 'Sound' },
{ v: 'particlesystem', t: 'Particle System' }
{ v: 'particlesystem', t: 'Particle System' },
{ v: 'anim', t: 'Anim' },
{ v: 'script', t: 'Script' }
]}
binding={new BindingTwoWay()}
link={{ observer, path: 'icon' }}
Expand Down
8 changes: 6 additions & 2 deletions examples/src/examples/gizmos/icon.example.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// Icons mark entities that have nothing else to see or click, such as lights, cameras and sounds; click one to focus on it

import {
AnimComponentSystem,
AppBase,
AppOptions,
AudioListenerComponentSystem,
Expand Down Expand Up @@ -59,7 +60,8 @@ createOptions.componentSystems = [
ScriptComponentSystem,
AudioListenerComponentSystem,
SoundComponentSystem,
ParticleSystemComponentSystem
ParticleSystemComponentSystem,
AnimComponentSystem
];
createOptions.resourceHandlers = [ScriptHandler];

Expand Down Expand Up @@ -109,7 +111,9 @@ const subjects = {
light: { light: { type: 'omni', range: 2, color: new Color(1, 0.85, 0.6) } },
audiolistener: { audiolistener: {} },
sound: { sound: {} },
particlesystem: { particlesystem: { autoPlay: false } }
particlesystem: { particlesystem: { autoPlay: false } },
anim: { anim: {} },
script: { script: {} }
};
/**
* @type {Record<string, Entity>}
Expand Down
Loading
Loading