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/>.
Name | Last commit | Last update |
---|---|---|
doc | ||
include | ||
src | ||
.gitignore | ||
3dFractals_config.mk | ||
LICENSE | ||
README | ||
addaudio | ||
convertJPG | ||
genvideo | ||
leakcheck | ||
makefile | ||
paramsBox.dat | ||
paramsBulb.dat |