12

先做一点介绍:

去年我写了这个http://dragan.yourtree.org/code/canvas-3d-graph/

现在,我想完全重写它,因为旧版本有一些限制,例如:有时会发生条不可见,因为它们是一个接一个地绘制的。

在这个旧版本中,没有真正的 3D,只有一堆 2D 线,它们模拟 3D。

现在,我想要进入完整的 3D 场景,我想将所有对象保存在内存中,并添加某种 3D 导航按钮,使用户能够在所有 3 轴上旋转整个场景,并放大相机和出去。

我已经决定将http://sylvester.jcoglan.com/用于矢量/矩阵的东西,但我仍然无法找到好的 3D 教程。互联网上有大量文本,其中大部分是 90 年代的,不完整或写得非常糟糕。

所以,我的问题是:什么是最好的在线资源/教程,可以让我从头开始编写自己的 JS 3D 引擎。

它应涵盖所有相关主题:

  • 矢量图
  • 矩阵
  • 对象
  • 相机
  • 场景渲染
  • 灯光
  • 旋转场景中的物体
  • 移动相机

等等..(我对前两个相当熟悉)

感谢您的时间。

4

6 回答 6

6

如果这是专门针对与 JavaScript 相关的项目,那么我理解,但如果您只是为了掌握 3d 渲染的基础知识而这样做,那么可能会有更成熟的平台适合您。

任何状况之下..

可能对您的学习有用的链接:

此外,还有一些有趣的 JavaScript 3d 示例:

于 2008-12-19T08:13:33.153 回答
0

只是一些建议,但可能不完全是您想要的:

我建议您在 nihilogic.dk 上查看 Jacob Seidelin 的画布示例:http://blog.nihilogic.dk/search/label/canvas

如果您愿意放弃画布并使用现有的 Flash 库,请查看 Sandy3D:http ://www.flashsandy.org/demos 。

于 2008-12-19T08:09:32.583 回答
0

透视投影: http ://www.cse.unr.edu/~bebis/CS791E/Notes/PerspectiveProjection.pdf

于 2008-12-19T08:10:19.150 回答
0

http://www.gamedev.net/

自从上次我尝试用图形/游戏/3D 做任何事情以来已经有一段时间了,但我确实记得这个网站是最广为人知的资源之一。

http://www.gamedev.net/reference/

当然,它是非常通用的,涵盖的内容比您要求的要多,但它包含数学和物理方面的好东西。

于 2008-12-19T08:11:56.650 回答
0

可悲的事实是 JavaScript 中仍然没有对 3D 图形的真正支持。
因此,您所做的任何事情都必须涉及完全实现 3D 渲染器(或使用其他人已经实现的渲染器)
因为这些东西通常是在硬件中实现的,并且您正在编写 JavaScript,所以对于任何比琐碎的场景来说自然会非常慢。

使用 Java、C# 或 C++ 等语言为您的 3D 图形提供更好的服务。

于 2008-12-19T08:47:43.880 回答
0

Firefox有一种称为“Canvas 3D”的技术。还有一个名为C3DL的实用程序,可以更轻松地使用该技术。

不幸的是,据我所知,没有等效的 Opera/Internet Explorer/WebKit - 此插件仅适用于 Firefox 3(不支持 Firefox 2 和 Firefox 3.1 beta)...

于 2009-01-18T18:19:24.673 回答