All Projects → ssloy → Tinyraytracer

ssloy / Tinyraytracer

A brief computer graphics / rendering course

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Tinyraytracer

Tinykaboom
A brief computer graphics / rendering course
Stars: ✭ 2,077 (-47.7%)
Mutual labels:  fun, graphics, 3d, shaders, rendering, computer-graphics, 3d-graphics, raytracing, rendering-engine, tutorial, learning, raytracer, raytracing-engine
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+196.55%)
Mutual labels:  fun, graphics, 3d, shaders, rendering, computer-graphics, 3d-graphics, rendering-engine, tutorial, learning, images
Tinyraycaster
486 lines of C++: old-school FPS in a weekend
Stars: ✭ 1,383 (-65.17%)
Mutual labels:  fun, graphics, 3d, rendering, computer-graphics, 3d-graphics, rendering-engine, tutorial, learning, images
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (-87.56%)
Mutual labels:  graphics, 3d, shaders, rendering, 3d-graphics, rendering-engine, tutorial, learning
Softwarerenderer
Software rendering engine with PBR. Built from scratch on C++.
Stars: ✭ 323 (-91.87%)
Mutual labels:  graphics, shaders, 3d-graphics, rendering-engine, learning
Hybridrenderingengine
Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
Stars: ✭ 563 (-85.82%)
Mutual labels:  graphics, shaders, 3d-graphics, rendering-engine, learning
C-Raytracer
A CPU raytracer from scratch in C
Stars: ✭ 49 (-98.77%)
Mutual labels:  rendering, computer-graphics, raytracer, raytracing, rendering-engine
Renderer
A shader-based software renderer written from scratch in C89
Stars: ✭ 1,366 (-65.6%)
Mutual labels:  graphics, 3d, shaders, rendering, 3d-graphics
Photon-v2
A program that takes photographs of a virtual world.
Stars: ✭ 75 (-98.11%)
Mutual labels:  rendering, computer-graphics, raytracer, raytracing, rendering-engine
Glsltuto
GLSL shaders tutorial
Stars: ✭ 168 (-95.77%)
Mutual labels:  shaders, rendering, tutorial, learning
Yave
Yet Another Vulkan Engine
Stars: ✭ 211 (-94.69%)
Mutual labels:  3d, shaders, rendering, 3d-graphics
Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (-98.04%)
Mutual labels:  graphics, rendering, 3d-graphics, raytracing
Yocto Gl
Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics
Stars: ✭ 1,391 (-64.97%)
Mutual labels:  graphics, rendering, computer-graphics, 3d-graphics
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+194.59%)
Mutual labels:  graphics, 3d, shaders, 3d-graphics
Unity Dithered Transparency Shader
Unity material and shader for applying clipped, dithered transparency
Stars: ✭ 174 (-95.62%)
Mutual labels:  graphics, 3d, shaders, rendering
raytracing-go
A simple Go library for 3D ray-tracing rendering, implementing the book Ray Tracing in One Weekend. 📸
Stars: ✭ 53 (-98.67%)
Mutual labels:  computer-graphics, raytracing, 3d-graphics
Python Raytracer
A basic Ray Tracer that exploits numpy arrays and functions to work fast.
Stars: ✭ 204 (-94.86%)
Mutual labels:  fun, rendering, raytracing
photon mapping
minimal but extensible header only implementation of photon mapping in C++
Stars: ✭ 65 (-98.36%)
Mutual labels:  rendering, computer-graphics, raytracing
f3d
Fast and minimalist 3D viewer.
Stars: ✭ 791 (-80.08%)
Mutual labels:  rendering, raytracing, 3d-graphics
Legion-Engine
Rythe is a data-oriented C++17 game engine built to make optimal use of modern hardware.
Stars: ✭ 502 (-87.36%)
Mutual labels:  rendering, rendering-engine, 3d-graphics

Understandable RayTracing in 256 lines of bare C++

This repository is a support code for my computer graphics lectures. It is not meant to be the ultimate rendering code or even physically realistic. It is meant to be simple. This project is distributed under the DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE.

Check the wiki that accompanies the source code. The second raytracing chapter is available in the tinykaboom repository. If you are looking for a software rasterizer, check the other part of the lectures.

In my lectures I tend to avoid third party libraries as long as it is reasonable, because it forces to understand what is happening under the hood. So, the raytracing 256 lines of plain C++ give us this result:

compilation

git clone https://github.com/ssloy/tinyraytracer.git
cd tinyraytracer
mkdir build
cd build
cmake ..
make

You can open the project in Gitpod, a free online dev evironment for GitHub:

Open in Gitpod

On open, the editor will compile & run the program as well as open the resulting image in the editor's preview. Just change the code in the editor and rerun the script (use the terminal's history) to see updated images.

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].