我有两个带有<canvas />的组件,我想使用相同的WebGL上下文,在卸载这些组件后不会消失。一个分量是<GameCanvas />,另一个是<PlayerCanvas />。其中一个被挂载,另一个被挂载,我想使用canvas.getContext("webgl2")中的相同上下文,一旦其中一个被卸载,然后再次挂载。这可以用某种分离的WebGL上下文来完成吗?
<canvas />
<GameCanvas />
<PlayerCanvas />
canvas.getContext("webgl2")
oo7oh9g91#
不幸的是,WebGL上下文被附加到一个且仅一个画布。如果您有两个不同的画布,则需要创建两个WebGLRenderingContext示例。
function MyComp() { const handleMount = (canvas: HTMLCanvasElement | null) => { if (!canvas) return const gl = canvas.getContext("webgl") ... } return <canvas ref={handleMount}></canvas> }
1条答案
按热度按时间oo7oh9g91#
不幸的是,WebGL上下文被附加到一个且仅一个画布。如果您有两个不同的画布,则需要创建两个WebGLRenderingContext示例。