如何制作输出字符串的Three.js着色器
How to make a Three.js shader that outputs a string?
我正在用Three.js开发一个web应用程序,它可以用ASCII渲染场景,很像这里给出的例子。不过我的帧速率有问题。
我尝试了各种不同的算法来将渲染的场景转换为ASCII字符串。有些比示例慢,有些比示例快得多,但对于渲染大型场景来说太慢了,即使使用WebGL渲染器也是如此。
现在我正在考虑通过着色器将这个转换过程转移到GPU,尽管我不确定如何使Three.js着色器输出字符串。最理想的情况是,我还希望能够输入一个自定义的ASCII字符字符串用作调色板,尽管GLSL中没有字符串类型。
谢谢!:)
查看此示例
它基本上采用一个纹理,我们称之为贴图纹理,并使用每个像素作为精灵图像的另一个纹理的查找。
在您的情况下,您可以将这些平铺更改为ascii字符,并通过将其附加到帧缓冲区将3d场景渲染为贴图纹理。换句话说,
render your scene to a texture
use that texture as a lookup into another texture of ascii characters.
相关文章:
- 在Three.js中导出网格会提高性能吗
- 如何在three.js上添加两个向量
- Three.js Points Rotation
- 无法读取属性'材料'未定义的Three.js
- Potree/Three.js测量问题
- Three.JS OBJ模型未显示
- 有没有一种方法可以获得three.js的最小/lite版本
- JS和three.JS,在浏览器中进行参数测试
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 如何在three.js中有效地使用TraingleStripDrawMode
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- three.js:如何让透明的png精灵投射和接收阴影
- Three.js更改材质
- three.js EffectComposer's渲染目标
- 单击以将相机放置在Three js中的对象附近
- Three.js Three.投影仪已移至
- THREE.js轨道控制不工作
- three.js:three.Vector3.sub()动作怪异
- Three.js THREE.ImageUtils.loadTexture Image resize
- 使用 Three.js THREE.textureLoader 预加载多个纹理