All Projects → 7sDream → remda

7sDream / remda

Licence: GPL-3.0 license
Learn Ray Tracing in One Weekend series using Rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to remda

Simple Rays
Simple ray tracer written in Rust
Stars: ✭ 185 (+224.56%)
Mutual labels:  ray-tracing
RadeonProRenderUSD
This plug-in allows GPU or CPU accelerated viewport rendering on all OpenCL 1.2 hardware for the open source USD and Hydra system. You can build this plug-in as a USDView plug-in or a Houdini plug-in.
Stars: ✭ 161 (+182.46%)
Mutual labels:  ray-tracing
ProtoTracer
3D rendering and animation engine for multifaceted displays on microcontrollers
Stars: ✭ 80 (+40.35%)
Mutual labels:  ray-tracing
The Forge
The Forge Cross-Platform Rendering Framework PC Windows, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
Stars: ✭ 2,710 (+4654.39%)
Mutual labels:  ray-tracing
Photon-v2
A program that takes photographs of a virtual world.
Stars: ✭ 75 (+31.58%)
Mutual labels:  ray-tracing
ray-tracer
A simple ray tracing engine
Stars: ✭ 27 (-52.63%)
Mutual labels:  ray-tracing
Helios
Real-time unidirectional GPU path tracer using the cross-vendor Vulkan ray-tracing extensions.
Stars: ✭ 144 (+152.63%)
Mutual labels:  ray-tracing
Yune
GPU based framework for writing Raytracers/Pathtracers. (Pronounced as "Yu-nay")
Stars: ✭ 64 (+12.28%)
Mutual labels:  ray-tracing
Raygun
Simple Game Engine Focusing on Vulkan Ray Tracing
Stars: ✭ 33 (-42.11%)
Mutual labels:  ray-tracing
VkInline
A tool to make it easy to use Vulkan from Python. An interface for computation and off-screen rendering.
Stars: ✭ 16 (-71.93%)
Mutual labels:  ray-tracing
Bvh
A modern C++ BVH construction and traversal library
Stars: ✭ 216 (+278.95%)
Mutual labels:  ray-tracing
LumillyRender
Monte Carlo path tracing implementation on Rust
Stars: ✭ 36 (-36.84%)
Mutual labels:  ray-tracing
GoldenSun
A path tracer based on hardware ray tracing
Stars: ✭ 20 (-64.91%)
Mutual labels:  ray-tracing
Rayt
Monte Carlo ray tracer developed using Rust
Stars: ✭ 185 (+224.56%)
Mutual labels:  ray-tracing
AyaRay
A Modern C++ Windows-platform physically based renderer developing by Chang Yu.
Stars: ✭ 29 (-49.12%)
Mutual labels:  ray-tracing
Unitydxrtest
A testbed project for Unity real-time ray tracing features
Stars: ✭ 172 (+201.75%)
Mutual labels:  ray-tracing
RadeonProRenderMayaPlugin
This hardware-agnostic rendering plug-in for Maya uses accurate ray-tracing technology to produce images and animations of your scenes, and provides real-time interactive rendering and continuous adjustment of effects.
Stars: ✭ 32 (-43.86%)
Mutual labels:  ray-tracing
RayTracedGGX
Ray tracing sample using GGX reflection model, 1spp with spatial-temporal denoiser. Acceleration structure build uses async compute.
Stars: ✭ 43 (-24.56%)
Mutual labels:  ray-tracing
RaytrAMP
Shooting and bouncing rays method for radar cross-section calculations, accelerated with BVH algorithm running on GPU (C++ AMP).
Stars: ✭ 49 (-14.04%)
Mutual labels:  ray-tracing
cadise
A developing physically-based hobby renderer written in C++.
Stars: ✭ 30 (-47.37%)
Mutual labels:  ray-tracing

Remda

Learn Ray Tracing in One Weekend series using Rust.

Yet another naive and pure software ray tracing renderer.

Render Result Examples

rendered image of RTOW's balls scene example rtow_13_1, 512 sample, 8 depth, 1920x1080, 8m30s

rendered image of RTNW's balls motion blur scene example rtnw_4_3, 1024 sample, 8 depth, 1920x1080, 22min

rendered image of RTNW's ball with noise texture scene example rtnw_7_4_2, 4096 sample, 8 depth, 1500x900, 15min

rendered image of RTNW's Cornell scene example rtnw_8_2, 10240 sample, 10 depth, 1000x1000, 1h20m

rendered image of RTNW's Cornel smoke scene example rtnw_9_2, 10240 sample, 10 depth, 1000x1000, 1h30m

rendered image of RTNW's final scene example rtnw_10, 10240 sample, 10 depth, 1000x1000, 2h30m

Current Progress

  • Ray Tracing in One Weekend
    • Basic types, Vec, Color, Ray, etc
    • Background/Sky
    • Sphere
    • Lambertian Material
    • Metal Material with Different Fuzz
    • Glass Material with Different Refractive
    • Pinhole Camera
    • Camera Defocus/Depth Field
    • (Extra) Parallelism (by using rayon)
  • Ray Tracing: The Next Week
    • Motion Blur
    • BVH(Bounding Volume Hierarchies)
    • Solid Textures
    • Perlin Noise
    • Image Textures
    • Rectangles
    • Lights
    • Cornell Box
    • Box
    • Instance Translation and Rotation
    • Volumes/Participating Media
  • Ray Tracing: The Rest of Your Life not started yet

Run

Remda is a library crate, but you can run built-in examples(from the book series) to try it.

Use cargo run --example to get examples list, then choose one to run.

For example, to get final scene in section 13.1 of Ray Tracing in One Weekend, run

cargo run --example rtow_13_1 --release

Wait about 1s(according to your machine's CPU performance), you will get a rtow_13_1.ppm in current dir, that's your result.

If you want a bigger and clear image, adjust height(), depth and samples() parameter in example source file and re-run.

You can also try other examples if you want.

PS: Pure software ray tracing takes a long time to render, be patient.

LICENSE

GPLv3

Except:

  • example/earth-map.png, download from NASA, fall in public domain.
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].