All Projects â†’ y-taka-23 â†’ raytracing-go

y-taka-23 / raytracing-go

Licence: Apache-2.0 license
A simple Go library for 3D ray-tracing rendering, implementing the book Ray Tracing in One Weekend. 📸

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to raytracing-go

Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+7392.45%)
Mutual labels:  computer-graphics, raytracing, 3d-graphics
Tinykaboom
A brief computer graphics / rendering course
Stars: ✭ 2,077 (+3818.87%)
Mutual labels:  computer-graphics, raytracing, 3d-graphics
weekend-raytracer-zig
A Zig implementation of the "Ray Tracing in One Weekend" book
Stars: ✭ 74 (+39.62%)
Mutual labels:  computer-graphics, raytracing
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+343.4%)
Mutual labels:  computer-graphics, raytracing
Sort
Simple Open-source Ray Tracer
Stars: ✭ 485 (+815.09%)
Mutual labels:  computer-graphics, raytracing
odak
🔬 Scientific computing library for optics 🔭, computer graphics 💻 and visual perception 👀
Stars: ✭ 99 (+86.79%)
Mutual labels:  computer-graphics, raytracing
photon mapping
minimal but extensible header only implementation of photon mapping in C++
Stars: ✭ 65 (+22.64%)
Mutual labels:  computer-graphics, raytracing
CLUSEK-RT
Vulkan based C++ ray-tracing game engine.
Stars: ✭ 24 (-54.72%)
Mutual labels:  computer-graphics, raytracing
Plotoptix
Data visualisation in Python based on OptiX 7.2 ray tracing framework.
Stars: ✭ 252 (+375.47%)
Mutual labels:  raytracing, 3d-graphics
Tinyraycaster
486 lines of C++: old-school FPS in a weekend
Stars: ✭ 1,383 (+2509.43%)
Mutual labels:  computer-graphics, 3d-graphics
Awesome Creative Coding
Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.
Stars: ✭ 8,696 (+16307.55%)
Mutual labels:  computer-graphics, 3d-graphics
Tf flame
Tensorflow framework for the FLAME 3D head model. The code demonstrates how to sample 3D heads from the model, fit the model to 2D or 3D keypoints, and how to generate textured head meshes from Images.
Stars: ✭ 193 (+264.15%)
Mutual labels:  computer-graphics, 3d-graphics
C-Raytracer
A CPU raytracer from scratch in C
Stars: ✭ 49 (-7.55%)
Mutual labels:  computer-graphics, raytracing
TermGL
2D & 3D graphics engine in the terminal [C/C++]
Stars: ✭ 219 (+313.21%)
Mutual labels:  computer-graphics, 3d-graphics
Photon-v2
A program that takes photographs of a virtual world.
Stars: ✭ 75 (+41.51%)
Mutual labels:  computer-graphics, raytracing
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+22118.87%)
Mutual labels:  computer-graphics, 3d-graphics
Embree viewer
Embree viewer is a simple implementation of a progressive renderer, based on Intel's Embree raytracing kernels. Its UI is written in SDL2, and it supports Alembic, OBJ file formats, with a JSON file to describe a scene.
Stars: ✭ 19 (-64.15%)
Mutual labels:  raytracing, 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 (+47.17%)
Mutual labels:  raytracing, 3d-graphics
Materialx
MaterialX is an open standard for transfer of rich material and look-development content between applications and renderers.
Stars: ✭ 679 (+1181.13%)
Mutual labels:  computer-graphics, 3d-graphics
Yocto Gl
Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics
Stars: ✭ 1,391 (+2524.53%)
Mutual labels:  computer-graphics, 3d-graphics

Ray Tracing in Go

cover image

A Go implementation of the book Ray Tracing in One Weekend. The repository provides a library to describe and render your own scenes. For more detail, see examples/main.go.

Getting Started

git clone [email protected]:y-taka-23/raytracing-go.git
cd raytracing-go
make examples
./bin/example > example.ppm
open example.ppm

Materials

Lambertian

color result
(0.8, 0.1, 0.1) red lambertian sphere
(1.0, 1.0, 1.0) white lambertian sphere
(0.0, 0.0, 0.0) black lambertian sphere

Metalic

fuzziness result
0.0 metalic sphere of fuzziness 0.0
0.15 metalic sphere of fuzziness 0.15
0.3 metalic sphere of fuzziness 0.3

Dielectric

refractive index result
1.0 dielectric sphere of refractive index 1.0
1.5 dielectric sphere of refractive index 1.5
2.0 dielectric sphere of refractive index 2.0

Camera Setting

Angle of View

virtical angle (degree) result
90 result of the vertical angle in 90 degree
60 result of the vertical angle in 60 degree
30 result of the vertical angle in 30 degree

Aperture

aperture result
0.0 result of the aperture 0.0
0.5 result of the aperture 0.5
1.0 result of the aperture 1.0

Depth of Field

focus distance result
6 result of the depth of field 6
9 result of the depth of field 9
12 result of the depth of field 12

Reference

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