Skip to content

shouya/ray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ray

A toy ray tracer engine as a practice to introductory computer graphics.

Featuring a Cycles Renderer-like composable shader system in Blender and more.

Features

  • Shaders

    • Phong
    • Diffuse
    • Reflection
    • Refraction
    • (WIP) Chessboard
    • Rough surface shader
    • Transparent (Fresnel)
    • Solid
    • Glass
    • Mirror
  • Light sources

    • Point light
  • Objects

    • Sphere
    • Triangle & Rectangle (one-sided or double-sided)
    • Triangle mesh (imported via Wavefront .obj file), vertex normals supported
    • Chessboard plane
    • Object transformations (rotation/translation/scaling)
  • Camera & Scene

    • Perspective & Orthogonal view
    • Ambient light and ambient color
  • Image

    • Supersampling Anti-aliasing

Planned features

  • Skybox
  • Bezier surface
  • Area light & soft shadow
  • Illuminating object
  • Monte-Carlo tracer
  • Scripting language for describing the scene

Gallery

Preview Features
Frosted glass/mirror, Triangle, Chessboard
Anti-aliasing, Colored glass/mirror
Wavefront format, Triangle mesh, Smoothed surface normal
Affine transformations, Normal map
Frosted glass (reimplementation), Rough surface

Checkout gallery for more!

References

About

Toy ray tracer from scratch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages