Three.js 我可以在平面上绘制二维形状吗?

Three.js 我可以在平面上绘制二维形状吗?,three.js,Three.js,我想试一下3D地图之类的东西。最简单的是,一个平面窗格,上面画有地图线等,平面(就像我在HTML画布上画画一样)。但我希望这个窗格可以在3D空间中移动 我知道我可以非常简单地在three.js中创建一个平面窗格,但是否可以实现某种“自定义纹理”,使我能够以编程方式在此窗格上绘制?它在webGL中称为“渲染到纹理” Three.js提供WebGLRenderTarget,可将其用作进一步纹理的图像源。将场景渲染到WebGL RenderTarget而不是主WebGL屏幕。然后使用此WebGLRen

我想试一下3D地图之类的东西。最简单的是,一个平面窗格,上面画有地图线等,平面(就像我在HTML画布上画画一样)。但我希望这个窗格可以在3D空间中移动


我知道我可以非常简单地在three.js中创建一个平面窗格,但是否可以实现某种“自定义纹理”,使我能够以编程方式在此窗格上绘制?

它在webGL中称为“渲染到纹理”

Three.js提供WebGLRenderTarget,可将其用作进一步纹理的图像源。将场景渲染到WebGL RenderTarget而不是主WebGL屏幕。然后使用此WebGLRenderTarget作为纹理的图像源

很多2D后处理工作都是这样的。它们将世界渲染为2D纹理,然后使用片段着色器应用每像素后处理代码,如模糊

有关示例,请参见例如

它为2D后处理渲染场景,但原理相同

以下是WebGLRenderTarget设置代码: