Issue #12: modified SpriteProgram interface