I am emmiting billboarded quads from the geometry shader… Since my vertice is always located in the center i have an advantage… Don’t know if it help, but i use this code to calculate the rotationMatrix
[java]
vec2 cameraOffset=normalize((g_WorldMatrix*center).xz-g_CameraPosition.xz);
float spriteRotatation.x=atan(cameraOffset.x,cameraOffset.y);
mat2 rotationMatrix = mat2( cos( spriteRotatation.x ), -sin( spriteRotatation.x ),
sin( spriteRotatation.x ), cos( spriteRotatation.x ));
[/java]