billboarding problem

Hi!
In my Project I´m doing a “camera” not by glutLookAt() or similar, but just by two calls of glRotatef, one fpr the x, the other for the y axis.
Well, how can I now achieve that all polygons(I want to draw a sun…and later Particles) face my pseudo-camera???
I tried just by Rotating negative values on both axis, but doesn´t work. :frowning:
Please help!
Blob

Blegh, I just got done working on that! I’ll get the exact code to you as soon as I can get on my computer again!

Pretty simple…
Just call glRotatef along x and y with inverse angles so that it is not affected by the rotation and is always facing you

i.e.

glRotatef(30,1,0,0);
glRotatef(50,0,1,0);

DrawScene();

glRotatef(-50,0,1,0);
glRotatef(-30,1,0,0);

DrawBillboard();

now billboard will always be facing you

Fastian

Sorry, but the rotation “cheat” it’s not the cleanest way to do billboarding, expecially if your matrix stack is growing faster. Think about getting back from a matrix of a robot harm or something similar.

I personally use 2 ways :

1)Real billboarding, get the actual matrix and use it to calculate the position of the billboarded poly.

2)set an ortho view and use 2D coords to draw shapes. (I use this way for lens flares)
http://nate.scuzzy.net for more samples on billboarding.

rIO.sK

Yeah, your right… the best way is always the right way. Mine was just a dirty hack for this particular situation

cheers

Fastian

Ah Thank you, works with the code from http://nate.scuzzy.net very well!! Thanx!
But the cheat doesn´t work… :slight_smile: