2009-04-23 44 views
1

我想玩一些图形的东西。简单的动画和事物。我也想用光线跟踪来玩弄。我需要帮助找到一个能帮助我做这些事情的图书馆。我有几个要求:3D和光线跟踪最好的事情

  • 必须能够做到光线追踪
  • 必须为高级语言(蟒蛇,.NET等)。请不要C/C++
  • 必须有良好的文档,最好有例子。

有谁知道一个好的图书馆,我可以用来愚弄?

回答

5

查看blender.org - 这是一个开源的具有python脚本功能的3d项目。

3

我不知道任何满足您的请求的库(除非我决定为我自己的示踪器发布代码...)。

写一个示踪器实际上并不那么难。我强烈建议您取得Glassner的“光线追踪简介”副本。它通过相对容易理解的术语进行实际的数学计算,并且还有一整段关于“如何写射线追踪器”。

无论如何,一个“库”本身并没有太多的用处 - 几乎每个射线跟踪器都有自己的内部库,但它们是特定于示踪器的。它们典型地包括:

  1. 基类来表示3D对象的那个
  2. 子类为每个几何图元
  3. 向量和矩阵类(3D和4D)
  4. 纹理化的功能和/或类
  5. 各类灯光类(点光灯,点光灯等)

对于我自己的示踪器,我实际上使用了javax.vecmath封装上面#3,但必须编写我自己的代码#1和#2基于Glassner书。整个事情完全在2k行代码之下,大多数单独的类都是大约40行。

1

的发达raytracers是开源是

对于实时3D(它当然会取决于语言)有JMonkeyEngine(Java)不确定是否符合您的“高级语言”要求。

你可以考虑一个3D游戏的脚本语言也一样,来我的心是流行的开源P.O.V光线跟踪(www.povray.org)GameCoreBlitzBasic