Showing posts with label radiosity. Show all posts
Showing posts with label radiosity. Show all posts
Friday, January 30, 2009
Radiosity - video of progress
This video shows where I am currently with the radiosity project. It still is only a single bounce of light, but the calculations used for that bounce are now much more accurate. The initial calculation of the lighting takes about 9 seconds, then the scene runs at 200 fps.
Monday, January 19, 2009
Radiosity midway checkpoint
The progress report for the radiosity project is available here.
Executive Summary: Project is on schedule, no changes need to be made to the deliverables.
Raw, unlit scene
Scene with simplified 1-bounce lighting
(hemicube is not calibrated yet)
With lighting interpolated across patches
Executive Summary: Project is on schedule, no changes need to be made to the deliverables.
Raw, unlit scene
Scene with simplified 1-bounce lighting
(hemicube is not calibrated yet)
With lighting interpolated across patches
Friday, December 19, 2008
Project Proposal: Radiosity
( click here to download the PDF of this proposal)
Title: Pre-computing Radiosity with OpenGL for Realtime Applications
Student: Robert Gustafson
Class: Computer Graphics II; 4003-571
Professor: Bailey
Project Web Site: http://gustafsonprojects.blogspot.com/search/label/radiosity
Summary:
Implement a system for lighting static scenes with radiosity calculations, with a goal of reproducing the classic radiosity image, the Cornell Box. (see suggested project guidelines at http://www.cs.rit.edu/~rjb/RITcourses/20082/Computer Graphics 2/public/CG2ProjectRadiosity.htm )
Radiosity will be implemented as a preprocessing step, and the results will be passed intro a normal OpenGL rendering pipeline. The preprocessing can be done as a series of passes using OpenGL to quickly solve visibility queries.
Project Objectives:
Implement a radiosity application for producing scenes with realistic reflected light and soft shadows.
Demonstrate the use of OpenGL to accelerate visibility calculations for radiosity
Demonstrate the use the above to pre-compute lighting for a static OpenGL 3d environment.
System and Software:
Platform: OSX
Hardware: MacBook with Intel Core 2 duo processor with 4 gigabytes of ram.
Libraries: OpenGL & GLUT for real-time displays and visibility determination.
Language: C++
IDE: Eclipse
Compiler: g++
Project components:
File Parser: Read the supplied input files into program. This provides camera position, window size, and scene patches.
Environment Visualization: Using OpenGL, the environment will be rendered with patches given the shades determined by the radiosity solver.
User Interface:
-Because the radiosity data is not view-dependent, after computing the lighting, the user will be able to change the camera's position in real-time in the scene to inspect the results.
-User input will determine which testing scene to work with, via keyboard
-User input will determine how many iterations to complete, via keyboard.
-User story:
- launches application by double-clicking on executable
- answers prompt for which scene to test (ex: CornellBox_Fine.txt)
- answers prompt for number of interactions to compute (ex: 4)
- waits for radiosity to compute
- user is shown a default view of the completed scene
- user can then manipulate camera to view scene from other angles
- user presses Escape to quit
Visibility Solver: Using OpenGL, create localized hemicube views to determine a patch's form factors, or visibility of other patches.
Iterative Radiosity Solver: Given information about a patch's form factors, distribute reflected diffuse lighting
Tone reproduction: Remap computed lighting to produce varied effects.
Project Responsibilities: All tasks will be completed by Robert Gustafson
Project Timeline:
Mon, week 4:
Complete parser & main opengl rendering component, so provided worlds can be visualized freely or from the perspective of a particular patch.
Mon, week 5:
Have hemicube views from perspective of a patch
Mon, week 6:
Be able to read back what patches at patch can see in its hemicube
Have mid-project review completed
Mon, week 7:
Be able to solve for 1 iteration of light propagation
Have created own other scenes to test
Mon, week 8:
Be able to solve for arbitrary numbers of iterations, have implement tone mapping
Mon, week 9:
Presentation & Report prepared and functional polishing completed
Mon, week 10:
Code cleanup completed
Mon, week 11:
Code submitted & Report updated if needed and submitted
Final Presentation -
1) Overview of Goals (slides)
2) Show Cornell Box scene without lighting information
3) A live demonstration of computing a number of iterations should be possible. If producing the lighting data takes too long for a live demo, one will be staged in which the data has already been produced
4) Slides about how I used OpenGL as the visibility solver
Subscribe to:
Posts (Atom)