我想使用 WebGL 在画布上渲染一些文本,应该使用 WebGL 的哪个 API?
注意:“文本”可以是纯文本或具有 CSS 样式的 HTML 片段
我见过的大多数做任何类型文本的演示(如 FPS 计数器)只是用他们想要的文本创建一个 HTML 元素并将其放置在画布上。对于您希望在画布“中”显示的大多数文本(即:菜单),这可能是一个好方法。
唯一的例外是,如果您希望文本成为 3d 场景的实际部分(例如,广告牌上的文本),在这种情况下,方法与在标准 OpenGL 中渲染文本没有任何不同。您可以在这里找到一个非常好的强大示例:http: //dmedia.dprogramming.com/ ?n=Tutorials.TextRendering1
这里还有一个关于文本的 WebGL 教程。
对于 WebGL 渲染的文本,您可以将文本写入画布“2d”上下文,然后从画布创建纹理。Denny Koch 在他的 EnergizeGL 框架中做到了这一点。