All Projects → yhcheer → Raytracinginoneweekend

yhcheer / Raytracinginoneweekend

RayTracing tutorial use Java&Cpp

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Raytracinginoneweekend

Lift
Vulkan Path Tracer with Optix Denoiser integration
Stars: ✭ 30 (-9.09%)
Mutual labels:  graphics-engine, raytracing
Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (+136.36%)
Mutual labels:  raytracing, graphics-engine
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+612.12%)
Mutual labels:  graphics-engine, raytracing
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+6390.91%)
Mutual labels:  raytracing, graphics-engine
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (+696.97%)
Mutual labels:  raytracing, graphics-engine
Awesome Ray Tracing
Curated list of ray tracing resources
Stars: ✭ 414 (+1154.55%)
Mutual labels:  raytracing
Server
CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.
Stars: ✭ 572 (+1633.33%)
Mutual labels:  graphics-engine
Simple2d
🎮 Simple, open-source 2D graphics for everyone
Stars: ✭ 390 (+1081.82%)
Mutual labels:  graphics-engine
Manim Tutorial
A tutorial for manim, a mathematical animation engine made by 3b1b
Stars: ✭ 373 (+1030.3%)
Mutual labels:  graphics-engine
Quadray Engine
Realtime raytracer using SIMD on ARM, MIPS, PPC and x86
Stars: ✭ 13 (-60.61%)
Mutual labels:  raytracing
Nau
Nau - OpenGL + Optix 3D Engine
Stars: ✭ 18 (-45.45%)
Mutual labels:  raytracing
Fabgl
Display Controller (VGA, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal for the ESP32
Stars: ✭ 534 (+1518.18%)
Mutual labels:  graphics-engine
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (+1248.48%)
Mutual labels:  graphics-engine
Luxcore
LuxCore source repository
Stars: ✭ 601 (+1721.21%)
Mutual labels:  raytracing
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (+1112.12%)
Mutual labels:  graphics-engine
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 (-42.42%)
Mutual labels:  raytracing
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+11933.33%)
Mutual labels:  raytracing
Raytracer.hpp
Simple compile-time raytracer using C++17
Stars: ✭ 529 (+1503.03%)
Mutual labels:  raytracing
Nanort
NanoRT, single header only modern ray tracing kernel.
Stars: ✭ 734 (+2124.24%)
Mutual labels:  raytracing
Sort
Simple Open-source Ray Tracer
Stars: ✭ 485 (+1369.7%)
Mutual labels:  raytracing

RayTracingInOneWeekend

Introduce

《Ray tracing in one weekend》is a good book for ray tracing tutorial, and Peter Shirley implements a simple ray tracing engine by C++.

This is my Ray Tracing Tutorial of JAVA version.

  1. RayTracingInOneWeekend

  2. RayTracingTheNextWeek

  3. RayTracingTheRestOfYourLife

Thinking in this book (in Chinese).https://zhuanlan.zhihu.com/p/49943215

The output of my projects is a PPM(P3) file. You can use ImageMagick to transfer into a JPG file, or you can use other Image Viewer software(eg: XnView) to open it.

#ppm2jpg
import PythonMagick as PM
img = PM.Image(r"C:\Users\yh\Documents\CG\result\Chapter6_20_39_01.ppm")
img.write(r"C:\Users\yh\Documents\CG\result\Cp6.jpg")

All Images of Every Chapters are As follows:

Chapter 12: Where next?

Chapter 11: Defocus Blur

cp11

Chapter 10: Positionable camera

Chapter 9: Dielectrics

Chapter 8: Metal

cp8

Chapter 7: Diffuse Materials

Chapter 6: Antialiasing

Cp6

Chapter 5: Surface normals and multiple objects.

cp5-1

Chapter 4: Adding a sphere

CP4

Chapter 3: Rays, a simple camera, and background

Cp3

Chapter 2: The vec3 class

Chapter 1:Output an image

cp1

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