【问题标题】:Best thing for 3D and raytracing3D 和光线追踪的最佳选择
【发布时间】:2009-04-23 16:01:06
【问题描述】:

我想玩一些图形的东西。简单的动画和东西。我也想玩光线追踪。我需要帮助找到一个可以帮助我做这些事情的图书馆。我有几个要求:

  • 必须能够进行光线追踪
  • 必须用于高级语言(python、.NET 等)。请不要使用 C/C++
  • 必须有良好的文档,最好有示例。

有谁知道我可以用来玩弄的好图书馆吗?

【问题讨论】:

    标签: graphics 3d raytracing


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我首先想到的是流行的开源 P.O.V Raytracer (www.povray.org)。 POV 场景完全用脚本文件定义,有些人用 Python 代码轻松生成。

      http://code.activestate.com/recipes/205451/

      http://jabas-unblog.blogspot.com/2007/04/easy-procedural-graphics-python-and-pov.html

      【讨论】:

        【解决方案3】:

        我不知道有任何库可以满足您的要求(至少除非我决定为我自己的跟踪器发布代码...)。

        无论如何,编写跟踪器实际上并不难。我强烈建议您获取 Glassner 的“An Introduction to Ray Tracing”的副本。它以相对容易理解的术语介绍了实际数学,并且还有一整节关于“如何编写光线追踪器”。

        无论如何,“库”本身并没有那么多用处 - 几乎每个光线追踪器都有自己的内部库,但它们是特定于追踪器的。它们通常包括:

        1. 表示 3D 对象的基类
        2. 每个几何图元的子类
        3. 向量和矩阵类(3D 和 4D)
        4. 纹理函数和/或类
        5. 各种类型的灯光类别(点光源、聚光灯等)

        对于我自己的跟踪器,我实际上使用了上面#3 的javax.vecmath 包,但我必须根据 Glassner 的书为#1 和#2 编写我自己的代码。整个代码不到 2k 行,而大多数单独的类大约有 40 行长。

        【讨论】:

          【解决方案4】:

          我相信很少有人使用XNA Game Studio 组合光线追踪器。

          可以在以下位置看到一个带有代码的示例:

          Bespoke Software » Ray Tracing - Materials

          【讨论】:

            【解决方案5】:

            开发良好的开源光线追踪器是

            对于实时 3D(当然取决于语言)JMonkeyEngine (Java) 不确定这是否满足您的“高级语言”要求。

            您也可以考虑使用 3D 游戏脚本语言,例如 GameCoreBlitzBasic

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-07-01
              • 1970-01-01
              • 2021-07-24
              • 1970-01-01
              • 1970-01-01
              • 2011-08-15
              • 2015-10-20
              相关资源
              最近更新 更多