Skip to content

fix build #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ set(CUDA_NVCC_FLAGS_RELEASE -O3)
cuda_add_executable(mandelgpu image.cpp gl_renderer.cpp cuda_error.cu cuda_gl.cu mandelgpu.cpp kernel.cu)


target_link_libraries (mandelgpu ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${PNG_LIBRARY} ${GLEW_LIBRARIES})
target_link_libraries (mandelgpu ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${PNG_LIBRARY} ${GLEW_LIBRARIES} -lglut)



Expand Down
63 changes: 31 additions & 32 deletions README → README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
Mandelgpu 0.1 - a free, fast, interactive fractal viewer
Copyright (c) 2016 Aksel Alpay <[email protected]>


Mandelgpu is a viewer for Mandelbrot and Julia fractals. It makes use of nvidia
CUDA for GPU acceleration (and hence unfortunately requires a nvidia GPU) and
# MandelGPU 0.11 - A free, fast, interactive fractal viewer
Copyright (c) 2016 Aksel Alpay \<[email protected]\>

Contributions made by TheoCGaming \<[email protected]\>

MandelGPU is a viewer for Mandelbrot and Julia fractals. It makes use of NVIDIA
CUDA for GPU acceleration (and hence unfortunately requires a NVIDIA GPU) and
OpenGL to display the images directly from the GPU without involving the CPU
too much.


1.) Installation

For a successful compilation, you need
* A C++11 capable compiler
* cmake -- the build system used to compile mandelgpu
* NVIDIA CUDA -- for the GPU acceleration
* OpenGL -- for an effcient, realtime endering of the images
* GLEW -- for an effcient, realtime endering of the images
* GLUT -- manages the OpenGL render window and relays mouse and keyboard input
* libpng -- provides functionality to save screenshots as PNG file
* libpng++ -- C++ interface to libpng
# 1.) Installation

If you have everything installed, create a build directory and compile mandelgpu:
For a successful compilation, you need
- A C++11 capable compiler
- cmake -- the build system used to compile MandelGPU
- NVIDIA CUDA -- for the GPU acceleration
- OpenGL -- for an effcient, realtime endering of the images
- GLEW -- for an effcient, realtime endering of the images
- GLUT -- manages the OpenGL render window and relays mouse and keyboard input
- libpng -- provides functionality to save screenshots as PNG file
- libpng++ -- C++ interface to libpng

If you have everything installed, create a build directory and compile MandelGPU:
```
mkdir build
cd build
cmake <Path to Mandelgpu source directory>
cmake <Path to MandelGPU source directory>
make

Depending on your system, it may be necessary to change the path to the C compiler
```
Depending on your system, it may be necessary to change the path to the C compiler
at the start of CMakeLists.txt. This line should force cmake to use a version of gcc which
is compatible with CUDA by making it use the gcc (hopefully) provided by
is compatible with CUDA by making it use the gcc (hopefully) provided by
your CUDA installation. CUDA is very picky about the gcc versions it works with.

2.) Using Mandelgpu
# 2.) Using MandelGPU

The mandelgpu output consists of two parts: The console output providing useful
information (e.g. the current position) and the OpenGL render window which
Expand All @@ -45,37 +45,36 @@ The following keyboard or mouse events have functionality tied to them:

Fractal selection:
1: Select Mandelbrot fractal
```
The mandelbrot fractal is calculated by measuring the divergence rate of the
complex series:
z_(n+1) = z_n^2 + c
where z_0 = 0 and c = x + i*y with the pixel coordinates x and y.
```
2: Select Julia fractal
```
The Julia fractal is calculated by measuring the divergence rate of the complex
series:
z_(n+1) = z_n^2 + c
where z_0 = x + i*y (x and y are again the pixel coordinates) and c is a complex
constant that can be modified by the user (see below).
```
Modifying fractals:
a/d: Decrease/increase the real part of
constant for Julia fractals
s/w: Decrease/increase imaginary part
of constant for Julia fractals
Modifying view:

Modifying view:
h: Reset zoom level
f: Toggle fullscreen
Left mouse button and drag: Move view frame
Right mouse button and drag vertically: Zoom in/out

Other:
q: Quit program
p: Save screenshot as 'mandelgpu.png'
in current working directory


If you encounter problems (or even better, have patches) please let me know.