Mercurial
view react_games/src/current.tsx @ 42:c2706ffb442b
[Gara] Peer to peer chat terminal app using go.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 01 Dec 2025 21:00:10 -0800 |
| parents | fb9bcd3145cb |
| children | 0cfd7d9277b0 |
line wrap: on
line source
import ReactDOM from "react-dom/client"; const shaders = ` struct VertexOut { @builtin(position) position : vec4f, @location(0) color : vec4f } @vertex fn vertex_main(@location(0) position: vec4f, @location(1) color: vec4f) -> VertexOut { var output : VertexOut; output.position = position; output.color = color; return output; } @fragment fn fragment_main(fragData: VertexOut) -> @location(0) vec4f { return fragData.color; } `; async function init() { if (!navigator.gpu) { throw Error("WebGPU not supported."); } const adapter = await navigator.gpu.requestAdapter(); if (!adapter) { throw Error("Couldn't request WebGPU adapter."); } const device = await adapter.requestDevice(); const shaderModule = device.createShaderModule({ code: shaders, }); const canvas = document.querySelector("#gpuCanvas"); const context = canvas.getContext("webgpu"); context.configure({ device, format: navigator.gpu.getPreferredCanvasFormat(), alphaMode: "premultiplied", }); console.log(device) } void init(); const Current = () => { return (<>hello </>); }; ReactDOM.createRoot(document.getElementById("root")!).render(<Current />);