Skip to content

A program which allows you to create objects in a scene (thus far, only spheres and light sources) and this scene is rendered and displayed using principles of optics and graphics. (Currently 48% operational...)

License

Notifications You must be signed in to change notification settings

0xmmalik/raytracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 

Repository files navigation

GitHub release (latest by date) CodeFactor License: MIT ERROR: download badge failed to load ERROR: open issues badge failed to load

Ray Tracer

REPORT BUG

Contents

What is a ray tracer?

TL;DR: A ray tracer is a program that takes inputs of objects (like spheres or light sources), renders them using principles of optics and computer graphics, and outputs an image! In fact, this is how CGI (Computer-Generated Imagery) is made, and so is a very useful tool.

Specifics: A ray tracer uses basic principles of optics (e.g., reflection, refraction, etc.). It traces every light ray from a source to a certain object, determines if it intersects that object, and at what angle it does so (in order to determine the color of that specific pixel). Java proves a useful language for this, as Object-Oriented Programming is helpful when dealing with multiple instances of a type of object. Furthermore, rendering and displaying graphics is a lot simpler with Java than with several other languages (e.g., Python).

Further Research: To learn more about ray tracers, click here. To learn more about Object-Oriented Programming, click here. To learn more about Java, click here. Finally, to learn more about CGI, click here.

Search Popularity

Actually, Google Searches for ray tracing were on an all-time high in August of 2019. Now, in the September of that year, they've hit another all-time high. Thus, it seems that the popularity is increasing. Click here for a helpful graphic from Google Trends... Additionally, for the first time in the 15 years of data recorded, ray tracing has had a greater popularity than CGI in August of 2019 (this is still occuring now, in September 2019). During this time period, most states in the US had more searches for ray tracing than they did for CGI. Click here for the graphic.

Release Updates

  • Sept. 2, 2019 -- v0.48
    • Initial code with 48% functional ray-tracer. Many times, the output image is obviously inaccurate.
  • Sept. 3, 2019 -- v0.48-2
    • No change in functionality. Tester class was updated and improved.
  • Sept. 4, 2019 -- v0.48-3
    • New user-friendly file created which takes input for easy scene creation.

About

A program which allows you to create objects in a scene (thus far, only spheres and light sources) and this scene is rendered and displayed using principles of optics and graphics. (Currently 48% operational...)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages