RDHR Project
This page contains information about the Radiance Decomposition Hierarchical Radiosity (RDHR) research project.
เนื้อหา
Subversion Repositories
Obtaining the Source
Installing Subversion and Tortoise SVN
Please grab Subversion from this page. You may also wish to download Tortoise SVN, which provides a nice integration between Subversion and Windows Explorer, from here.
Creating a Branch
The directory "trunk" is supposed to contain stable code. New code shall be developed independently in different branches private to each member of the team. These branches will be merged into the trunk after members agree on how to integrate their codes. Hence, it's important that you create a branch for yourself.
Suppose you're going to create a branch named "my_branch." Execute the following command:
svn copy http://theory.cpe.ku.ac.th/pramook_rdhr-c++/trunk http://theory.cpe.ku.ac.th/pramook_rdhr-c++/branches/my_branches -m "create my_branch"
Checking Out Your Branch
To download the code from the branch you just created, execute the following common in your shell:
svn checkout http://theory.cpe.ku.ac.th/pramook_rdhr-c++/branches/my_branch <directory>
This will download all the latest version of the files to the directory <directory>.
Checking Out the Trunk
In some case, you might want to download the code from the trunk. The command to execute is:
svn checkout http://theory.cpe.ku.ac.th/pramook_rdhr-c++/trunk <directory>
If you want to commit anything to the trunk, do so VERY CAREFULLY and MAKE SURE THAT EVERYTHING COMPILES.
Notes on Building the C++ Version
Requirements
You need the following software:
- Microsoft Visual C++ Express 2005. Grab it here.
- It's important that you use VC2005 because CUDA only work with Microsoft C compiler 6.0 or 7.1, which comes with VC2003 or VC2005. I use VC2005 now, and the repository contains VC2005 project files.
- Microsoft Windows Server 2003 R2 Platform SDK. Grab it here. Grab the full ISO here.
- This is the newest Windows SDK I could find.
Please install them and DO NOT alter their installation directories. The reason is that the Windows SDK include directory is hard-coded into rdhr-c++ project files.
Cannot open precompiled header file error
When building the "rdhr" project, you might get an error message like this:
C1083: Cannot open precompiled header file: 'Debug/<Project-Name>.pch': No such file or directory.
To make it go away, compile "stdafx.cpp" alone first, then build the project.
UnitTest++.vsnet2005 and TestUnitTest++.vsnet2005
Sometimes these two projects will be unloaded when you open the solution. If you have not built these two projects on your local machines, please load and build them.
Notes on Building the C# Version
You need:
- Visual C# 2008 Grab it here.
- Tao Framework 2.0 Grab it here.
After checking out the code from http://theory.cpe.ku.ac.th/pramook_lightfairy/branches/rdhr/trunk, the program should build without modifications.
UnitTest++
Information on UnitTest++, the unit testing framework I'm using, can be found here.
There's also a nice tutorial on how to write unit tests here.
Readings
Spherical Harmonics
- Spherical Harmonic Lighting: The Gritty Details
- Real-Time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation
- Supplement for Real-Time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation
- Image-Based Proxy Accumulation for Real-Time Soft Global Illumination
- Real-Valued Spherical Harmonics Basis Functions
- Volker Schönefeld. Spherical Harmonics.
- Peter-Pike Sloan. Stupid Spherical Harmonics Tricks. PPTX and its accompanying paper.
Other Global Illumination Algorithms
- Fast and Detailed Approximate Global Illumination with Irradiance Decomposition Talk
- Implicit Visibility and Antiradiance for Interactive Global Illumination
- Interactive Global Illumination Using Implicit Visibility