3D pool in C++ and OpenGL