【发布时间】:2009-04-23 16:01:06
【问题描述】:
我想玩一些图形的东西。简单的动画和东西。我也想玩光线追踪。我需要帮助找到一个可以帮助我做这些事情的图书馆。我有几个要求:
- 必须能够进行光线追踪
- 必须用于高级语言(python、.NET 等)。请不要使用 C/C++
- 必须有良好的文档,最好有示例。
有谁知道我可以用来玩弄的好图书馆吗?
【问题讨论】:
标签: graphics 3d raytracing
我想玩一些图形的东西。简单的动画和东西。我也想玩光线追踪。我需要帮助找到一个可以帮助我做这些事情的图书馆。我有几个要求:
有谁知道我可以用来玩弄的好图书馆吗?
【问题讨论】:
标签: graphics 3d raytracing
看看 blender.org - 这是一个具有 python 脚本功能的开源 3d 项目。
【讨论】:
我首先想到的是流行的开源 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
【讨论】:
我不知道有任何库可以满足您的要求(至少除非我决定为我自己的跟踪器发布代码...)。
无论如何,编写跟踪器实际上并不难。我强烈建议您获取 Glassner 的“An Introduction to Ray Tracing”的副本。它以相对容易理解的术语介绍了实际数学,并且还有一整节关于“如何编写光线追踪器”。
无论如何,“库”本身并没有那么多用处 - 几乎每个光线追踪器都有自己的内部库,但它们是特定于追踪器的。它们通常包括:
对于我自己的跟踪器,我实际上使用了上面#3 的javax.vecmath 包,但我必须根据 Glassner 的书为#1 和#2 编写我自己的代码。整个代码不到 2k 行,而大多数单独的类大约有 40 行长。
【讨论】:
【讨论】:
开发良好的开源光线追踪器是
对于实时 3D(当然取决于语言)JMonkeyEngine (Java) 不确定这是否满足您的“高级语言”要求。
您也可以考虑使用 3D 游戏脚本语言,例如 GameCore 或 BlitzBasic
【讨论】: