Renderers
KernelPlay.js supports multiple rendering backends for different use cases.
🎨
Canvas 2D
Default renderer. Best for simple 2D games. Zero setup required.
⚡
Pixi.js 2D
Full GPU-accelerated 2D. Handles thousands of sprites smoothly with Pixi.js integration.
🌐
Three.js 3D
Full 3D rendering with Three.js integration.
Canvas 2D (Default)
No renderer config needed — it's used automatically if you don't pass a renderer option.
js
// Default Canvas 2D — just run the game
new MyGame({ width: 800, height: 600, fps: 60 }).start();
Pixi.js 2D Renderer
bash
npm install @kernelplay/pixi-renderer pixi.js kernelplay-js
html
<script type="importmap">
{
"imports": {
"pixi.js": "https://cdn.jsdelivr.net/npm/pixi.js@8.0.0/dist/pixi.min.mjs",
"kernelplay-js": "https://cdn.jsdelivr.net/npm/kernelplay-js/dist/kernelplay.es.js",
"@kernelplay/pixi-renderer": "https://cdn.jsdelivr.net/npm/@kernelplay/pixi-renderer/dist/pixi-renderer.es.js"
}
}
</script>
js
import { WebGL2DRenderer } from "@kernelplay/pixi-renderer";
new MyGame({
renderer: new WebGL2DRenderer(),
width: 800,
height: 600,
fps: 60,
backgroundColor: "#eeeeee"
}).start();
Three.js 3D Renderer
bash
npm install @kernelplay/three-renderer three kernelplay-js
html
<script type="importmap">
{
"imports": {
"three": "https://cdn.jsdelivr.net/npm/three@0.158.0/build/three.module.js",
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.158.0/examples/jsm/",
"kernelplay-js": "https://cdn.jsdelivr.net/npm/kernelplay-js/dist/kernelplay.es.js",
"@kernelplay/three-renderer": "https://cdn.jsdelivr.net/npm/@kernelplay/three-renderer/dist/three-renderer.es.js"
}
}
</script>
js
import { ThreeRenderer } from "@kernelplay/three-renderer";
import * as THREE from "three";
new MyGame({
renderer: new ThreeRenderer(),
width: 800,
height: 600,
fps: 60
}).start();
// Use 3D components with Three renderer
entity.addComponent("transform", new TransformComponent({
position: { x: 0, y: 0, z: -5 }
}));
⚠️ Three.js & Pixi.js peer dependency
When using ThreeRenderer, install three separately: npm install three npm install pixi.js