mirror of
https://github.com/gpujs/gpu.js.git
synced 2025-12-08 20:35:56 +00:00
This is in favor of using for loop variable position tracking, which is removed. feat: Removal of no longer needed `warnVarUsage` feat: If ternary returns void, use if statement in webgl fix: Update documentation and clarify variable declarations Officially support private functions - WOOHOO!
67 lines
1.5 KiB
HTML
67 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>GPU.js Random Examples</title>
|
|
</head>
|
|
<body>
|
|
<h2>CPU Random</h2>
|
|
<canvas id="cpu-random-output"></canvas>
|
|
<h2>WebGL1 Random</h2>
|
|
<canvas id="web-gl-random-output"></canvas>
|
|
<h2>WebGL2 Random</h2>
|
|
<canvas id="web-gl2-random-output"></canvas>
|
|
</body>
|
|
<script src="../dist/gpu-browser.min.js"></script>
|
|
<script>
|
|
let cpu, webGL, webGL2;
|
|
|
|
cpu = new GPU({
|
|
mode: 'cpu',
|
|
canvas: document.getElementById('cpu-random-output')
|
|
});
|
|
try {
|
|
webGL = new GPU({
|
|
mode: 'webgl',
|
|
canvas: document.getElementById('web-gl-random-output')
|
|
});
|
|
} catch (e) {}
|
|
try {
|
|
webGL2 = new GPU({
|
|
mode: 'webgl2',
|
|
canvas: document.getElementById('web-gl2-random-output')
|
|
});
|
|
} catch (e) {}
|
|
|
|
function drawRandomFunction() {
|
|
this.color(Math.random(), Math.random(), Math.random());
|
|
}
|
|
|
|
const cpuDrawRandom = cpu.createKernel(drawRandomFunction)
|
|
.setGraphical(true)
|
|
.setOutput([100, 100]);
|
|
|
|
const webGLDrawRandom = webGL
|
|
? webGL.createKernel(drawRandomFunction)
|
|
.setGraphical(true)
|
|
.setOutput([100, 100])
|
|
: () => {};
|
|
|
|
const webGL2DrawRandom = webGL2
|
|
? webGL2.createKernel(drawRandomFunction)
|
|
.setGraphical(true)
|
|
.setOutput([100, 100])
|
|
: () => {};
|
|
|
|
function draw() {
|
|
cpuDrawRandom();
|
|
webGLDrawRandom();
|
|
webGL2DrawRandom();
|
|
|
|
requestAnimationFrame(draw);
|
|
}
|
|
|
|
requestAnimationFrame(draw);
|
|
</script>
|
|
</html>
|