ผลต่างระหว่างรุ่นของ "RDHR Project"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 65: แถว 65:
 
* Volker Schönefeld. [http://theory.cpe.ku.ac.th/~pramook/files/prosem_paper.pdf Spherical Harmonics.]
 
* Volker Schönefeld. [http://theory.cpe.ku.ac.th/~pramook/files/prosem_paper.pdf Spherical Harmonics.]
 
* Peter-Pike Sloan. '''Stupid Spherical Harmonics Tricks.''' [http://theory.cpe.ku.ac.th/~pramook/files/GDC08SH_web.pptx PPTX] and [http://theory.cpe.ku.ac.th/~pramook/files/StupidSH35.pdf its accompanying paper].
 
* Peter-Pike Sloan. '''Stupid Spherical Harmonics Tricks.''' [http://theory.cpe.ku.ac.th/~pramook/files/GDC08SH_web.pptx PPTX] and [http://theory.cpe.ku.ac.th/~pramook/files/StupidSH35.pdf its accompanying paper].
 +
 +
=== Other Global Illumination Algorithms ===
 +
* [https://www.cs.utexas.edu/users/okan/papers/radiance/radiance.html Fast and Detailed Approximate Global Illumination with Irradiance Decomposition]
 +
* [http://www-sop.inria.fr/reves/Basilic/2007/DSDD07/ Implicit Visibility and Antiradiance for Interactive Global Illumination]
 +
* [http://www.cs.ucl.ac.uk/staff/j.kautz/publications/PG07_ImplicitVis.pdf Interactive Global Illumination Using Implicit Visibility]

รุ่นแก้ไขเมื่อ 15:25, 9 เมษายน 2551

This page contains information about the Radiance Decomposition Hierarchical Radiosity (RDHR) research project.

Subversion Repositories

  • C# (as a fork of LightFairy library)
  • C++

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:

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.
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:

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.

Grammars for Scene Description Language

Readings

Spherical Harmonics

Other Global Illumination Algorithms