Optimized Black Hole
A multi-pass black hole that bakes relativistic ray traversal once into a G-buffer, then reuses it for animated disk shading, stars, antialiasing and HDR bloom.
"use client";
import { useEffect, useRef, useState } from "react";
import { createRenderer } from "./renderer";
/** Standalone host for the optimized black-hole renderer formerly used by the homepage. */
export function Example() {
const canvasRef = useRef<HTMLCanvasElement>(null);
const [isReady, setIsReady] = useState(false);
useEffect(() => {
let cancelled = false;
const canvas = canvasRef.current;
if (!canvas) return;
const renderer = createRenderer({ canvas });
void renderer.ready.then(() => {
if (!cancelled) setIsReady(true);
});
return () => {
cancelled = true;
renderer.dispose();
};
}, []);
return (
<div className="relative h-full w-full overflow-hidden bg-black">
<canvas
ref={canvasRef}
className={`block h-full w-full touch-none transition-opacity duration-500 ${
isReady ? "opacity-100" : "opacity-0"
}`}
/>
</div>
);
}