过去几个月我一直在涉足WebGL。 greggman的WebGL Fundamentals逐步创建了一个熟悉的像素空间。 (0, 0)
是左上角,矩阵启用缩放,旋转和平移等。这让我想到的一件事是在gl上下文中创建更多的二维simple polygons - 不太相似来自canvas2d
或svg
。
为了做到这一点,我已经将各种资源联机在一起,以对要在浏览器中呈现的点阵列进行三角测量。积分点遍历:
u, v
属性。svg
和canvas2d
中的相同示例。现在这一切都发生在JavaScript中,我同意你的想法,“这看起来和听起来真的很贵。”这么多,以便在更新循环上更改顶点时{ {1}}它的运行速度比requestAnimationFrame
或canvas2d
慢得多。这部分与我转录高效算法的能力有关。但是,它必须与浏览器供应商通过编写我在较低级别概述的类似算法集创建可靠性和性能提升的能力有关。
所以我的问题是:浏览器供应商是否有任何方法用于呈现svg
和canvas2d
以供开发人员使用?
这可能听起来很天真,这可能是因为它。但是请听我说,如果WebGL要成为Web开发人员更多原生访问和控制的示例api,那么为什么其他一些方法与其可用并不相同呢?
答案 0 :(得分:2)
如果您只对凸多边形感兴趣,那么WebGL中的简单TRIANGLE_FAN
就足够了。如果要绘制凹多边形,可以在WebGL中使用stencil buffer trick。但是,你的一句话题目的答案是" no"。
有时JavaScript的速度会惊人地快。例如,有一个多边形曲面细分算法可以处理凹多边形here,它以交互速率运行。