Setting Up PBR Materials with Image-Based Lighting in Babylon.js
A practical guide to setting up Babylon.js PBRMaterial with an HDR environment, metalness-roughness maps, and the checks that catch black meshes and blown‑out highlights.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
A practical guide to setting up Babylon.js PBRMaterial with an HDR environment, metalness-roughness maps, and the checks that catch black meshes and blown‑out highlights.
PixiJS batches sprites sharing a base texture into single draw calls. Texture atlases and v8 RenderGroups let you structure scenes so the GPU draws instead of switches. A reproducible 2,000-sprite starfield shows the difference.
Learn when to switch from Plotly's default SVG rendering to WebGL (scattergl) to handle large datasets without crashing your browser.
In PixiJS, texture switches per frame predict performance far better than sprite count. Here's how the batch renderer works, what breaks it, and a v8 atlas example that draws 500 sprites in one batch.
Babylon.js Thin Instances move per-instance matrices into a single GPU buffer, enabling 50k–100k mesh copies with one draw call. This blog covers the API, a rain particle example, and the critical trade-offs: no per-instance culling, shared material, and all-or-nothing buffer updates.
When an InstancedMesh stops updating or renders incorrectly, the culprit is often a silent failure in matrix handling. This guide walks through the common causes, ordered checks, fixes, and escalation steps to get your instances rendering as expected.
Learn how Three.js InstancedMesh reduces draw calls from thousands to one when rendering large grids of identical objects, with a working code example, trade‑offs, and verification steps.
A practical decision guide for PixiJS renderer selection: when WebGL batching justifies the GPU dependency, when the canvas fallback is acceptable, and how to validate both with a concrete benchmark.
Replace thousands of individual Mesh objects with one THREE.InstancedMesh: setup, per-instance transforms and colors, the needsUpdate pitfall, frustum culling fixes, and raycast picking.