Jump to content

View more

Image of the Day

Inventory ! Va falloir trouver une autre couleur pour le cadre D: #AzTroScreenshot #screenshotsaturday https://t.co/PvxhGL7cOH
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

Billboarded triangle strip/ribbon math/code

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 Prodigga   Members   


Posted 30 August 2014 - 12:10 AM

Hey guys, I am programming my own billboarded strips/ribbon. I am trying to generate the mesh for the strip. I have a list of points, and each will be expanded out to 2 verticies and they will all be joined together to create a billboarded triangle strip.


I have it working relatively well. I implemented it the way it was outlined in this topic here: http://www.gamedev.net/topic/644649-bill-boarding-oriented-rectangle/


That topic was really helpful! smile.png


I have a problem however. My code does not seem to take into consideration the rotation of the camera. I think it is because I am converting the camera position to local quad position incorrectly, but I can't figure out what I need to do to fix it.


So, here is 2 triangle strips on either side of the camera, and the camera is in the middle of them. They orient themselves correctly





Now if I move the camera down, (translate downwards, no rotation), the strips again face the camera correctly, as seen here:




I expect this same effect when I rotate the camera downwards, however my code seems to just ignore the camera rotation. So if I return the camera to where it was in image one and instead rotate downwards, I just get this:




Its, uhh, hard to see, but basically the strip is exactly as it was in image 1, but the camera is rotated. It didn't bother to align itself with the camera properly. I expected something similar to image 2.


Again, I think my problem lies in converting the camera position to the points 'local space'. I don't take into consideration any rotations. I just do this:


Vector3 camLocal = camera.position - point.Position;


Which gives us the cameras position as if it was relative to the point at 0,0,0, but it doesn't take care of any rotation.


Hope I am making some sense guys, I've been trying to figure this out for most of the day and I'm not sure what to do.

Edited by Prodigga, 30 August 2014 - 12:12 AM.

#2 Buckeye   GDNet+   


Posted 31 August 2014 - 09:11 AM

Hope I am making some sense


Not really. Can you describe what you want to accomplish? In general, "billboarding" means orienting the entire object to face the camera. From the first two pictures, which you say is the desired result, the objects aren't facing the camera, but.. some line perhaps from the eyepoint to.. a "look at" point? Though you say the third picture is the same as the first, that's not how it appears. The quads seem oriented in a similar fashion with respect to the up-down angle as in the second image.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.