Graphics 3D和光线跟踪的最佳选择

Graphics 3D和光线跟踪的最佳选择,graphics,3d,raytracing,Graphics,3d,Raytracing,我想玩一些图形的东西。简单的动画和东西。我也想玩弄光线追踪。我需要帮助找到一个能帮我做这些事情的图书馆。我有几个要求: 必须能够进行光线跟踪 必须是高级语言(python、.NET等)。请不要信用证++ 必须有良好的文件,最好有例子 有人知道我可以用来玩弄的好库吗?看看blender.org-这是一个具有python脚本功能的开源3d项目。我不知道有任何库可以满足您的要求(至少除非我决定为自己的跟踪程序发布代码…) 不管怎样,编写跟踪程序其实并不难。我强烈建议你买一本格拉斯纳的《光线追踪简介

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

  • 必须能够进行光线跟踪
  • 必须是高级语言(python、.NET等)。请不要信用证++
  • 必须有良好的文件,最好有例子

有人知道我可以用来玩弄的好库吗?

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

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

不管怎样,编写跟踪程序其实并不难。我强烈建议你买一本格拉斯纳的《光线追踪简介》。它以相对简单易懂的术语介绍了实际的数学知识,还有一整节内容是“如何编写光线跟踪器”

在任何情况下,“库”本身并没有多大用处——几乎每个光线跟踪器都有自己的内部库,但它们是特定于跟踪器的。它们通常包括:

  • 表示三维对象的基类
  • 每个几何基元的子类
  • 向量和矩阵类(3D和4D)
  • 纹理函数和/或类
  • 各种类型的灯光等级(点光源、聚光灯等)

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

    我相信很少有人使用这些代码来组装光线跟踪器

    代码中的一个示例可参见:


    开发良好的开源光线跟踪器包括

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


    你也可以考虑3D游戏脚本语言,比如,或者

    我想到的第一件事就是流行的开源P.O.V Raytracer(www. Povir.org)。POV场景完全由脚本文件定义,有些人编写Python代码来轻松生成它们