Jump to content
  • Advertisement
Sign in to follow this  
Vorel512

Get texture coordinates from VBO

This topic is 2413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi experts!

I would like to know how can I extract texture coordinates from VBO.
I know that I can rewrite using setbuffersubdata, but I do not know how to get the existing values from the VBO.

Any help appreciated!!!

Share this post


Link to post
Share on other sites
Advertisement
Hi

maybe there is a way to get VBOs content but thats not the way you should do it. For example the iPhone buffers opengl es commands und renders later. If you call get commands rendering must be forced. This means a performance drop.
For dynamic data i leave a copy in main memory.

Share this post


Link to post
Share on other sites
I do the same, but if there is a way to hold only one "copy" of the objects, I would like to know.
BTW, thanx for the reply!

Share this post


Link to post
Share on other sites
If you stream your VBO i think it is held only in main memory (don't think OpenGL spec say that, so probably it is to drivers implementors). For devices wich have only 1 memory that should not be a problem causing heavy performance drop. anyway 2 copies are very usefull if you want to change data in the second copy with a thread, while with only 1 that's not possible. You can still hold 2 copies and stream a different copy every frame (depending on your needs) Edited by DemonRad

Share this post


Link to post
Share on other sites
I don't know how Android handles it but on iOS openGLES runs in second thread! As DemonRad said this is the problem. iOS gathers opengl commands and renders if the commandbuffer is full or if flush is called. For best performance you keep the rendering decisions up to the openGLES thread and never call flush. But there are several other commands like get... that internally need to flush. Also streaming which actually uses one "memory" needs to flush. And this leads to not optimal rendering in the openGLES thread thus to a performance drop.
To understand that better google tile based deferred rendering (TBDR)
http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/OpenGLESPlatforms/OpenGLESPlatforms.html
Does anyone how Android is doing that ?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!