md_originalPixels is now backed by a CUDA array instead of pitched linear device memory.
This was mostly a testing ground for m_currImg, which must be a cudaArray-backed cuda surface
in order to be shared with OpenGL.
md_currentPixels only need to be bound to m_currImg once, not every iteration
Added some syncthreads to non-performance-critical code, for clarity.
Texture shared with OpenGL will be a CUDA surface; pass appropriate flags when registering it.
Removed some useless cleanup code from PsoContext destructor
evogpupso now renders images through CUDA surfaces instead of raw device pointers.
This will allow these images to be shared with OpenGL as textures.
Rendering to CUDA surface memory is slow! Partially revert previous change; m_currentPixels is pitched device memory again.
scaled output pixels are still in surface memory, since it will be shared with OpenGL.
Moved PSO particle generation to the GPU, using cuRAND
Added PsoContext::renderToCudaArray() function (used internally by renderToFile)
Minor cleanup
Updated README