Skip to content

An Example Ray-Tracing Implementation on macOS and iOS

License

Notifications You must be signed in to change notification settings

hiro4bbh/RoseGold

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoseGold - An Example Ray-Tracing Implementation on macOS and iOS

Copyright 2019- Tatsuhiro Aoshima ([email protected]).

Introduction

RoseGold is an example ray-tracing implementation on macOS and iOS. The several features are implemented:

  • SmallPT-based simple ray-tracing (Beason 2010) running on Metal Compute Pipeline (Yi 2018).
  • Joystick implementation for moving the camera and sliding to rotating the camera (iOS).
  • An well-known cute mascot kixby.

If you are interested in ray-tracing, I will recommend you to refer Pharr+ (2018). I have no plan to maintain RoseGold ...

There are too many problems, for example:

  • Support more object primitives other than the simple balls (Pharr+ 2018, chapter 3).
  • Ensure the errors of the floating number operations (Pharr+ 2018, section 3.9).
  • Implement acceleration structures for testing object intersections faster (Pharr+ 2018, chapter 4).
  • Implement upsampling for reducing the noise especially in a specular reflecting balls (Pharr+ 2018, chapter 7).
  • Implement volume rendering and more efficient bidirectional methods (Pharr+ 2018, chapter 15 and 16).

Screenshots

macOS Mojave 10.14.3 (MacBook Early 2016)

MacBook (Early 2016)

  • Total 1519 frames (about 20 fps)

iOS 12.1.2 (iPhone XR 2018)

iPhone XR (2018)

  • About 1500 frames (about 50 fps)

References

About

An Example Ray-Tracing Implementation on macOS and iOS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published