Skip to content

ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with virtual objects.

Notifications You must be signed in to change notification settings

ehud166/Ray-tracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ray-tracing

Ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with virtual objects. This project was done by Ehud Gershony & Yishai Badichi (@badishay), undergraduate students in software engineering as part of the "Introduction of Software Proramming" course at the Lev Academic Center.
Moderator: Mr. Eliezer Gensburger.

Description

The project creating an image from a 3D graphic scene using Ray Tracing technique that uses linear algebra and SOLID principles, design pattern and more.

Features & Constraints

• All functions returns in new parameters always - includes the functions of connection / subtraction, or cross product (except normalization performed on the organ itself).
• Create settersOnly when he had to (of course every variable we createdgetter).
• We tried to use variable names like Dr. Alishi's presentation structure.
• Explanations in each function what its function is (simple classes we did not explain, except the lower classes).
• Java doc. Explaining each class and each pon formally.
• We added the department Quadrangle (Square) and it will help us in the final project.

Improvements

  • We improved the shade (soft shadow), the shadow that will not always look the same.
  • We improved the polishing surface (Glossy Surface), appearance of the polishing surface .
  • We improved on Diffuse Glass, reflection through non-opaque geometry.

Build scenes

Scene 1 - Balls on a plane

Creating a 5 ball scene and a 2 shot point l ight Inside the white / diamond and yellow ball, and a shot spotlight All over the scene.

Before improvement

htmlSite

After improvement

htmlSite

Scene 2 - Balls on a plane wrapped in a ball

Creating a similar scene, but we realized what it was about a camera placement in geometry, we wrapped some bullets and the camera inside a big ball.
htmlSite

Scene 3 - Mars

Creating a supposed scene in space, with orbs on Mars and the sun looking from the side, has some lights , directionalLight Like the sun andpointLightOn one of the balls exceptspotlightOn the whole scene and a few small stars in the background (very small and don't really look like we ran in a shape and light loop).
htmlSite

Scene 4 - The Academic Center Icon JCT

Creating a scene scene JCTHanging on the screen and throwing lights that the Rim the symbol, composed of triangles (and you can see the improvement of the shadow) , built from the background screenQuadrangle, 2 PointLight To give a transitional color effect, spotlight Towards the center of the symbol.
htmlSite

About

ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with virtual objects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages