- CPU static image:
- Go to cpu directory:
cd static_cpu
- Generate data:
g++ generate_set.cpp -o Generate
, and./Generate
- Display data:
python3 display.py
- Go to cpu directory:
- GPU dynamic video:
- Edit center, MAX_R, MIN_R, and length in ppm.cu
- Compile and generate the video:
make
, and./zoom
- Combine output frames:
ffmpeg -framerate 24 -i outfiles/tmp%03d.ppm -c:v libx264 -r 30 -pix_fmt yuv420p output_video.mp4
GPU accelerated video creation tool developed using code adapted from cuda-video-project. Each thread calculates its complex coordinates given two boundary points + width and height of final image, then calculates the color of the pixel using an optimized mandelbrot set-checking method from wikipedia. Boundary points passed to the kernel are given by a function with input t (frame #), which in turn determines the level of zoom achieved with each frame.