If you use OpenGL then you can use GL_Point_Sprite_ARB extension which does all work for you. Take a look at this sample.