onlyuser / dexvt-gpgpu-ping-pong-technique

dexvt-gpgpu-ping-pong-technique is a GPGPU Ping-pong technique demonstration

Home Page:http://onlyuser.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

dexvt-gpgpu-ping-pong-technique

Copyright (C) 2011-2017 mailto:onlyuser@gmail.com

About

dexvt-gpgpu-ping-pong-technique is a GPGPU Ping-pong technique demonstration.

See sister project demonstrating shader features: dexvt-test

Conway's Game of Life

Screenshot

  1. Any live cell with fewer than two live neighbours dies
  2. Any live cell with two or three live neighbours lives on
  3. Any live cell with more than three live neighbours dies
  4. Any dead cell with exactly three live neighbours becomes a live cell

Maze Solver

Screenshot

  1. Prune maze walls from endpoints
  2. Grow maze walls without changing topology
  3. Build distance field from every cell on grid to cursor location
  4. Guide individual sprites along distance field gradient

(NOTE: steps 1 & 2 are not necessary for maze solving)

Requirements

Unix tools and 3rd party components (accessible from $PATH):

gcc mesa-common-dev freeglut3-dev libglew-dev libglm-dev libpng-dev

Make Targets

target action
all make binaries
test all + run tests
clean remove all intermediate files
lint perform cppcheck
docs make doxygen documentation
clean_lint remove cppcheck results
clean_docs remove doxygen documentation

Conway's Game of Life Controls

Keyboard:

key purpose
r reset canvas
f toggle frame rate
h toggle HUD
space toggle animation
esc exit

Maze Solver Controls

Keyboard:

key purpose
r respawn sprites
f1 regenerate maze
f2 regenerate maze + prune
f3 regenerate maze + prune + grow
f toggle frame rate
h toggle HUD
space toggle animation
esc exit

References

"Conway's Game of Life"
https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
"Anand's blog - GPGPU In Android: Load a texture with floats and read it back"
http://www.anandmuralidhar.com/blog/tag/gpgpu/
"A GPU Approach to Conway's Game of Life"
http://nullprogram.com/blog/2014/06/10/
"A GPU Approach to Path Finding"
http://nullprogram.com/blog/2014/06/22/#comment-1450664791
"Understanding Goal-Based Vector Field Pathfinding"
https://gamedevelopment.tutsplus.com/tutorials/understanding-goal-based-vector-field-pathfinding--gamedev-9007
"realtimecollisiondetection.net – Aiding pathfinding with cellular automata"
http://realtimecollisiondetection.net/blog/?p=57

Keywords

GPGPU, ping-pong technique, OpenGL, glsl shader, glm, Conway's Game of Life, cellular automata

About

dexvt-gpgpu-ping-pong-technique is a GPGPU Ping-pong technique demonstration

http://onlyuser.github.io/


Languages

Language:C++ 95.5%Language:GLSL 2.7%Language:Makefile 1.1%Language:Shell 0.4%Language:C 0.3%