All Projects → rafael-fuente → Python Raytracer

rafael-fuente / Python Raytracer

Licence: bsd-3-clause
A basic Ray Tracer that exploits numpy arrays and functions to work fast.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Python Raytracer

Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+950%)
Mutual labels:  rendering, raytracing, 3d-engine
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+1846.57%)
Mutual labels:  fun, rendering, raytracing
Tinykaboom
A brief computer graphics / rendering course
Stars: ✭ 2,077 (+918.14%)
Mutual labels:  fun, rendering, raytracing
Quadray Engine
Realtime raytracer using SIMD on ARM, MIPS, PPC and x86
Stars: ✭ 13 (-93.63%)
Mutual labels:  raytracing, 3d-engine
Edxray
A physically based renderer which implements many state of the art techniques in light transport simulation, material modeling, sampling and reconstruction.
Stars: ✭ 270 (+32.35%)
Mutual labels:  rendering, raytracing
Raytracer.hpp
Simple compile-time raytracer using C++17
Stars: ✭ 529 (+159.31%)
Mutual labels:  compile-time, raytracing
Fall2021
Base repository for Dartmouth's CS87/287 (Fall 2021).
Stars: ✭ 43 (-78.92%)
Mutual labels:  rendering, raytracing
Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (-61.76%)
Mutual labels:  rendering, raytracing
Raytracer
a simple RayTracer based on the Monte Carlo Path Tracing
Stars: ✭ 14 (-93.14%)
Mutual labels:  rendering, raytracing
Helixjs
A Javascript 3D game engine.
Stars: ✭ 84 (-58.82%)
Mutual labels:  rendering, 3d-engine
Tinyraycaster
486 lines of C++: old-school FPS in a weekend
Stars: ✭ 1,383 (+577.94%)
Mutual labels:  fun, rendering
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+5672.55%)
Mutual labels:  fun, rendering
CLUSEK-RT
Vulkan based C++ ray-tracing game engine.
Stars: ✭ 24 (-88.24%)
Mutual labels:  rendering, raytracing
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+15.2%)
Mutual labels:  rendering, raytracing
pathtracer-webgl2
Path tracing render engine for the web. Both ray tracing for conventional 3d models and ray marching for fractals implemented. Built with WebGL 2 and Angular 2.
Stars: ✭ 45 (-77.94%)
Mutual labels:  rendering, raytracing
Gears Vk
Powerful low-level C++20 rendering framework for Vulkan 1.2, including Real-Time Ray Tracing (RTX) support, built atop Auto-Vk.
Stars: ✭ 71 (-65.2%)
Mutual labels:  rendering, raytracing
Legion-Engine
Rythe is a data-oriented C++17 game engine built to make optimal use of modern hardware.
Stars: ✭ 502 (+146.08%)
Mutual labels:  rendering, 3d-engine
ctrt
Compile-Time Ray Tracer in Rust ported from C++
Stars: ✭ 82 (-59.8%)
Mutual labels:  raytracing, compile-time
Monte carlo ray tracer
A program with an implemented Monte Carlo Ray Tracer algorithm for global illumination of a virtual 3D scene.
Stars: ✭ 90 (-55.88%)
Mutual labels:  rendering, raytracing
Raz
Modern & multiplatform game engine in C++17
Stars: ✭ 161 (-21.08%)
Mutual labels:  rendering, 3d-engine

Python-Fast-Raytracer

A basic Ray Tracer that exploits numpy arrays and functions to work fast. The code is written keeping as much readability as possible.

animation

  • [x] Refraction
  • [x] Thin film interference
  • [x] Textures
  • [x] Monte Carlo Ray Tracing with importance sampling
  • [ ] Relativistic optical effects

Installation

Just clone or download this repo. You'll need to install two packages.

  1. Pillow is a fork of the PIL package. It provides the Image module for this application. to install it run the following.
pip install pillow
  1. Numpy is a scientific package that helps with mathematical functions.
pip install numpy

Examples

See the examples to see how to render the following images:

python example1.py

N|Solid

python example2.py

N|Solid

python example3.py

N|Solid

python example4.py

N|Solid

python example_cornell_box.py

N|Solid

Some animations: https://www.youtube.com/watch?v=vt9vAcZQT4A

A basic version of this raytracer can be found here: https://github.com/jamesbowman/raytrace

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].