Skip to content
Snippets Groups Projects
user avatar
Shawn X. Li authored
3ea86732
History
	                 3D Fractals Rendering
	                -----------------------
                       X. Li, Z. GU, and X. Niu

		    
This program was built on top of a serial fractals rendering implementation 
by T. Gwosdz (TA) and N. Nedialkov (instructor) in the course CS/SE 
Distributed Computer Systems as the course project material.

Xiao Li parallelized the ray marching algorithm using OpenACC in his course 
project. Also, he, Z. Gu, and X. Niu devised a navigation algorithm to 
explore a Mandelbox by moving the conceptual camera around. This algorithm 
was inspired by the well-know depth-first search. Further, it's automated 
in the sense that when an entry point is selected, the program generates 
each frame of the navigation video without user effort or interuption.

Later X. Li combined the OpenACC ray marching implementation with OpenMP 
so that each frame can be rendered by multiple GPUs in parallel where one
can get further performance improvement.

To learn about more details, see doc/project-2016.pdf and doc/report.pdf.
Also, check out our demo at https://youtu.be/oo3f2hjV_AM (this is generated
by original OpenACC only version available in tag v1.0)

If you have installed the PGI/15.7 compiler or higher version with a
compatible GPU card (check the "GPUFLAG" in the 3dFractals_config.mk, you 
may have to modify it according to the type of your GPU card) and ffmpeg 
for making video. Then simply typing "make video" will reproduce the video
in mp4 format.

The "make video" runs with single GPU in default. If one has more GPUs 
available in one node, just specify that in 3dFractals_config.mk. Or run
it with "./mandelbox paramsBox.dat #GPUs" explicitly.

Copyright (C) 2015-2016 X. Li, Z. GU, X. Niu, T. Gwosdz, and N. Nedialkov

This program is free software: you can redistribute it and/or modify it under 
the terms of the GNU General Public License as published by the Free Software 
Foundation, either version 3 of the License, or (at your option) any later 
version.

This program is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.