使用<canvas>?</canvas>执行3d轨道器的库是什么?

时间:2011-06-23 04:31:46

标签: canvas webgl

我正在寻找一个三维轨道器,因此,我显然需要透视图,相机移动等。我还需要能够将纹理应用于几何体。鉴于复杂性,除了<canvas>或flash。

之外,我不会发现这种情况

据我了解,<canvas>仅限于2d,但您可以使用JS完成所有3D工作,只需将2d投影输出到画布中。我的理解在那里停下来,把所有这些都弄清楚似乎相当复杂。

问题#1:那里有哪些3D图形库提供了我需要的基本功能(3d-&gt; 2d透视投影,纹理,相机动画和流畅的用户输入平底锅,变焦镜头,倾斜镜,推车等等??

问题#2:在提供我自己能够找到的这类功能的非专有库中(three.js和C3DL),它们看起来都是需要webGL。这类事物几乎需要webGL,还是对<canvas>的支持是否足够?如果不需要webGL,如果我没有做任何会让CPU陷入困境的话,有没有理由使用它?

注意:除非有人另有建议,否则我将继续尝试学习three.js。

1 个答案:

答案 0 :(得分:3)

首先,Canvas绝不“限于”2D。有一个2D上下文,如果你真的想要你可以用它制作3D场景(见下文)。正如您所说,还有用于3D渲染的WebGL上下文,它使用不同的规范。

要回答#2,WebGL绝不是必需的。例如,这个库仅使用2D画布上下文来投影3D:

http://arc.id.au/Canvas3DGraphics.html

还有一些投影纹理/旋转物体的例子,例如:

http://acko.net/files/projective/index.html

要回答#1,上面链接了一个库,但它确实是我见过的唯一一个使用2D上下文的库。