pyrt-python光线跟踪器
pyrt的Python项目详细描述
pyrt(发音为pirate)是python 3.5的光线跟踪器/图像生成器。 本项目主要是在以下方面进行的:
- Jupyter笔记本中的光线跟踪
- 设定光线跟踪
- 使用python探索地理数据的光线跟踪概念。
- 渲染地理数据,包括大型点云。
- 实现绘制大型三维城市模型的新算法。
- 从OpenStreetMap数据创建3D地图
- 服务器端渲染/基于云的渲染
- …
pyrt是work-in-progress。
安装
安装可以用pip完成。请注意,Pyrt仍处于重开发阶段,尚未投入生产。 (API中断很频繁!)
pipinstallpyrt
…或者直接从github获取源代码:https://github.com/martinchristen/pyRT或gitlab:https://gitlab.com/martin.christen/pyRT
依赖关系
Pyrt没有任何依赖关系。 生成的图像只是rgb或rgba数组。要创建jpg、png或其他图像,许多 演示使用枕头(PIL)。所以强烈建议安装它。
创建场景
pyrt是一个三维建模软件包。它是关于渲染 代码。
在pyrt中,首先创建一个场景。场景由至少一台摄像机组成 还有几何学。以面向对象的方式创建场景:
frompyrt.mathimport*frompyrt.geometryimportTriangle,Vertexfrompyrt.materialimportPhongMaterialfrompyrt.cameraimportPerspectiveCamerafrompyrt.rendererimportSimpleRTcamera=PerspectiveCamera(640,480)scene=Scene()scene.add(Triangle(Vertex(position=(0,0,0)),Vertex(position=(0,5,0)),Vertex(position=(1,5,0)),material=PhongMaterial()))scene.setCamera(camera)engine=SimpleRT()imgdata=engine.render(scene)
pyrt有一个开放的呈现概念,您可以创建自己的。 渲染器。在上面的例子中使用了“simplert”,它是 极简参考实现。
python&raytracing,是不是太慢了?
不可以。自定义渲染器可以用c语言编写,使用python绑定。这是 计划在未来,更高版本甚至将支持使用opencl的gpu 和/或其他库,但目前主要关注的是创建 一种“Python”射线示踪剂。
许可证
皮尔特在麻省理工学院被释放。有关此许可证的详细信息可以是 在下面找到:https://opensource.org/licenses/MIT