Skip to content

A graphics engine using a radiosity algorithm to simulate diffuse lighting effects

Notifications You must be signed in to change notification settings

animusdeo/Radiosity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Radiosity

This program works in three steps:

  • Model a 3D scene in Blender. The scene is exported as a .obj file (vertices) and .mtl (material information).
  • Process the scene to simulate diffuse lighting.
    • Read the .obj and .mtl and build a kd-tree (import_file_mp.py).
    • Calculate the formfactor for each combination of triangles in the scene (Main_multiprocessing_2.py).
    • Calculate the emission of red, green and blue light for each triangle by approximating the solution of the set of linear equations using the Gauss-Seidel method (Main_multiprocessing_2.py).
  • Visualise the scene using the VTK library (visualise_calculated_scene.py).

For more information on radiosity, visit the wikipedia page (https://en.wikipedia.org/wiki/Radiosity).

Result:

Upper view.

25673514_1817237721634501_1889371567_o

Sideways.

25637183_1817239868300953_1482502332_o

Highlight of the purple light as a result of the blue light colliding with a red wall. 25625401_1817239321634341_355038500_o

About

A graphics engine using a radiosity algorithm to simulate diffuse lighting effects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages