我正在寻找一个三维轨道器,因此,我显然需要透视图,相机移动等。我还需要能够将纹理应用于几何体。鉴于复杂性,除了<canvas>
或flash。
据我了解,<canvas>
仅限于2d,但您可以使用JS完成所有3D工作,只需将2d投影输出到画布中。我的理解在那里停下来,把所有这些都弄清楚似乎相当复杂。
问题#1:那里有哪些3D图形库提供了我需要的基本功能(3d-&gt; 2d透视投影,纹理,相机动画和流畅的用户输入平底锅,变焦镜头,倾斜镜,推车等等??
问题#2:在提供我自己能够找到的这类功能的非专有库中(three.js和C3DL),它们看起来都是需要webGL。这类事物几乎需要webGL,还是对<canvas>
的支持是否足够?如果不需要webGL,如果我没有做任何会让CPU陷入困境的话,有没有理由使用它?
注意:除非有人另有建议,否则我将继续尝试学习three.js。
答案 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上下文的库。