项目作者: onlyuser
项目描述 :
dexvt-gpgpu-ping-pong-technique is a GPGPU Ping-pong technique demonstration
高级语言: C++
项目地址: git://github.com/onlyuser/dexvt-gpgpu-ping-pong-technique.git

dexvt-gpgpu-ping-pong-technique
Copyright (C) 2011-2017 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

- Any live cell with fewer than two live neighbours dies
- Any live cell with two or three live neighbours lives on
- Any live cell with more than three live neighbours dies
- Any dead cell with exactly three live neighbours becomes a live cell
Maze Solver

- Prune maze walls from endpoints
- Grow maze walls without changing topology
- Build distance field from every cell on grid to cursor location
- 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