{ "info": { "author": "Martin Christen", "author_email": "martin.christen@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Education", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Topic :: Multimedia :: Graphics :: 3D Rendering" ], "description": "PyRT - The Python Raytracer\n===========================\n\n|CI| |Gitter| |contributions welcome| |Code Climate| |Code Health|\n|image5|\n\n.. figure:: docs/img/pyRT_256.png\n :alt: Logo\n\n**PyRT** (pronounced *pirate*) is a raytracer/image generator for **Python 3.5**.\nThis project is mainly done with the following in mind:\n\n- Ray Tracing in the Jupyter Notebook\n- Teaching ray tracing\n- Exploring ray tracing concepts for geo data using Python.\n- Rendering geo data, including large point clouds.\n- Implementing new algorithms for rendering large 3D city models.\n- Creating 3D-Maps from OpenStreetMap data\n- Server-side rendering / cloud based rendering\n- ...\n\nPyRT is **work in progress**.\n\nInstallation\n------------\n\nInstallation can be done with pip. Please note that pyrt is still under **heavy development** and not yet meant for production.\n(API breaks are frequent!)\n\n.. code:: python\n\n pip install pyrt\n\n...or just get the source from github: https://github.com/martinchristen/pyRT or gitlab: https://gitlab.com/martin.christen/pyRT\n\n\n\nDependencies\n------------\n\nPyRT doesn't have any dependencies.\nGenerated images are just RGB or RGBA Arrays. To create jpg or png or other images, many\ndemos use Pillow (PIL). So it is highly recommended to install it.\n\nGetting Started: Try the examples\n---------------------------------\n\nThere are a lot of examples available how to use this module. This is\nthe recommended way to get started with pyRT.\n\n|Example 01| |Example 12b| |Example 13| |Example 08|\n\n`View all examples `__\n\nCreating Scenes\n---------------\n\nPyRT is *not* a 3D-modelling package. It is all about rendering from\ncode.\n\nIn PyRT you create a scene first. Scenes consist of atleast one camera\nand geometry. Creation of scenes is done in an object oriented way:\n\n.. code:: python\n\n from pyrt.math import *\n from pyrt.geometry import Triangle, Vertex\n from pyrt.material import PhongMaterial\n from pyrt.camera import PerspectiveCamera\n from pyrt.renderer import SimpleRT\n\n camera = PerspectiveCamera(640,480)\n scene = Scene()\n scene.add(Triangle(Vertex(position=(0, 0, 0)), \n Vertex(position=(0, 5, 0)), \n Vertex(position=(1, 5, 0)), material=PhongMaterial()))\n \n scene.setCamera(camera)\n\n engine = SimpleRT()\n\n imgdata = engine.render(scene)\n\nPyRT has an open rendering concept, you can create **your own\nrenderer**. In the example above \"SimpleRT\" was used, which is a\nminimalistic reference implementation.\n\nPython & RayTracing, isn't that too slow ?\n------------------------------------------\n\nNo. Custom renderers can be written in C with Python bindings. This is\nplanned in future, later versions will even support the GPU using OpenCL\nand/or other libraries, but at the moment the primary focus is to create\na \"pythonic\" ray tracer.\n\nLicense\n-------\n\nPyRT is released under MIT. More information about this license can be\nfound under: https://opensource.org/licenses/MIT\n\nAbout the Author\n----------------\n\nPyRT is created and maintained by Martin Christen. You can contact me by\ne-mail: martin.christen@gmail.com\n\nPlease note: This project is developed in my spare time, there is no\nofficial support or anything.\n\n.. |CI| image:: https://travis-ci.org/martinchristen/pyRT.svg?branch=master\n :target: https://travis-ci.org/martinchristen/pyRT\n.. |Gitter| image:: https://badges.gitter.im/pyRT/Lobby.svg\n :target: https://gitter.im/pyRT/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge\n.. |contributions welcome| image:: https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat\n :target: https://github.com/martinchristen/pyrt/issues\n.. |Code Climate| image:: https://codeclimate.com/github/martinchristen/pyRT/badges/gpa.svg\n :target: https://codeclimate.com/github/martinchristen/pyRT\n.. |Code Health| image:: https://landscape.io/github/martinchristen/pyRT/master/landscape.svg?style=flat\n :target: https://landscape.io/github/martinchristen/pyRT/master\n.. |image5| image:: https://img.shields.io/badge/license-MIT-blue.svg\n :target: https://github.com/martinchristen/pyRT/blob/master/LICENSE.md\n.. |Example 01| image:: examples/11.png\n.. |Example 12b| image:: examples/12b.gif\n.. |Example 13| image:: examples/13.png\n.. |Example 08| image:: examples/08.png", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/martinchristen/pyRT", "keywords": "raytracing,3d-graphics", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pyrt", "package_url": "https://pypi.org/project/pyrt/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyrt/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/martinchristen/pyRT" }, "release_url": "https://pypi.org/project/pyrt/0.0.1a1/", "requires_dist": null, "requires_python": null, "summary": "pyRT - The Python Raytracer", "version": "0.0.1a1" }, "last_serial": 2333018, "releases": { "0.0.1a0": [ { "comment_text": "", "digests": { "md5": "3eaf245db9bd001e7a2c55ffe8a629e9", "sha256": "10b1b33f859f257463fee86db4f26f59b21c81244d9cdf0cfc1d26400d90379c" }, "downloads": -1, "filename": "pyrt-0.0.1a0.zip", "has_sig": false, "md5_digest": "3eaf245db9bd001e7a2c55ffe8a629e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32106, "upload_time": "2016-09-05T22:28:44", "url": "https://files.pythonhosted.org/packages/a3/ec/1e6daa61f17df372051c77beca1a7b5430d2d7f4ca59f40f4d18d4475133/pyrt-0.0.1a0.zip" } ], "0.0.1a1": [ { "comment_text": "", "digests": { "md5": "26edd4585be65e100f62a5c136175aa0", "sha256": "a888f11ac454657bfc020e939460f44127b084486ed14f818dd560ac0d9e9025" }, "downloads": -1, "filename": "pyrt-0.0.1a1.tar.gz", "has_sig": false, "md5_digest": "26edd4585be65e100f62a5c136175aa0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21034, "upload_time": "2016-09-09T07:34:09", "url": "https://files.pythonhosted.org/packages/1e/9e/d6c293a22870d3c01527d143ffc660ccb2ad3ae1890344a0afbf8942bed2/pyrt-0.0.1a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "26edd4585be65e100f62a5c136175aa0", "sha256": "a888f11ac454657bfc020e939460f44127b084486ed14f818dd560ac0d9e9025" }, "downloads": -1, "filename": "pyrt-0.0.1a1.tar.gz", "has_sig": false, "md5_digest": "26edd4585be65e100f62a5c136175aa0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21034, "upload_time": "2016-09-09T07:34:09", "url": "https://files.pythonhosted.org/packages/1e/9e/d6c293a22870d3c01527d143ffc660ccb2ad3ae1890344a0afbf8942bed2/pyrt-0.0.1a1.tar.gz" } ] }