Canvas 使用<;画布>;?

Canvas 使用<;画布>;?,canvas,webgl,Canvas,Webgl,我想做一个3-d轨道飞行器,因此,我显然需要透视图、相机移动等。我还需要能够将纹理应用到几何体。考虑到复杂性,除了或flash之外,我看不到其他任何东西会发生这种情况 据我所知,仅限于2d,但您可以使用JS完成所有3d工作,只需将2d投影输出到画布中即可。我的理解就到此为止,弄清楚这一切似乎相当复杂 问题#1:有哪些3d图形库提供了我所需的基本功能(3d->2d透视投影、纹理、相机动画以及平移、缩放、倾斜、推拉等的流体用户输入。相机) 问题#2:在提供此类功能的非专有库中(three.js和C3

我想做一个3-d轨道飞行器,因此,我显然需要透视图、相机移动等。我还需要能够将纹理应用到几何体。考虑到复杂性,除了
或flash之外,我看不到其他任何东西会发生这种情况

据我所知,
仅限于2d,但您可以使用JS完成所有3d工作,只需将2d投影输出到画布中即可。我的理解就到此为止,弄清楚这一切似乎相当复杂

问题#1:有哪些3d图形库提供了我所需的基本功能(3d->2d透视投影、纹理、相机动画以及平移、缩放、倾斜、推拉等的流体用户输入。相机)

问题#2:在提供此类功能的非专有库中(three.js和C3DL),我可以自己找到它们,它们似乎都需要webGL。对于这种类型的东西,webGL是非常需要的,还是对
的支持就足够了?如果webGL不是必需的,那么如果我没有做任何会让CPU陷入困境的事情,有什么理由使用它吗


注意:我将继续学习three.js来完成这项工作,除非有人提出其他建议。

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

回答#2,WebGL绝不是一项要求。例如,此库仅使用二维画布上下文投影三维:

还有几个投影纹理/旋转对象的示例,例如:


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

你好,Simon。在调查这件事之后,我发现为three.js制作了一些示例,这些示例使用了正常的画布功能和WebGL。我对一个普通的canvas three.js示例进行了一些修改,并提出了以下建议:(我添加了使用鼠标滚轮进行缩放的功能,还可以按住ctrl键并单击和拖动。接下来是“卡车运输”或“扫射”相机。)抱歉。。。这是错误的链接。这是我的修改:什么是3D轨道器?听起来很有趣。@LarsH基本上是一系列导航控件,允许用户使用相机缩放、移动/推拉、围绕焦点旋转等。这些功能在3d建模软件包(如3DSMax、Maya等)中很常见。请参阅下面的solarcoordinates.com链接以查看我的laggy,但主要是第一次尝试,不一定是航天器模拟?我看到了你的第一次尝试,到目前为止看起来非常成功,但我想知道在焦点会显示什么。太阳系?@LarsH你可以用这样的发动机做各种事情。例如,请参见和。他们的摄像头导航性能较差,但尽管如此,还是有很大的潜力制造出很酷的东西——游戏引擎。