PDA

View Full Version : VBO. Different number of Vertices and TexCoords



AMACIAS
05-12-2008, 04:26 PM
Hi.
I don't know if is it possible to use IBOs (Index VBOs) to render meshes with different number of vertices and texcoords.

How can I tell to OGL to use two different indices buffers, one for vertex and normals and other for texcoords?

Thank you for advanced.

Zengar
05-12-2008, 04:41 PM
No, this is not possible. You can only address a single element from the array set, and you can only use one index.

AMACIAS
05-13-2008, 06:44 AM
Buu !! Well anyway thank you Zengar ... I am going to use vertex list instead of IBO in order to render these kind of meshes from the VRAM.

Regards.

Zengar
05-13-2008, 06:51 AM
What do you mean by "vertex list"?

CatDog
05-13-2008, 07:18 AM
My guess is he wants to use simple vertex arrays instead.

AMACIAS, if you want good performance, it's better to use indexed arrays even though this means to duplicate normals and texcoords.

CatDog

Zengar
05-13-2008, 07:31 AM
I fail to see how vertex arrays would solve his problem... he still has to replicate the data. Maybe he means display lists?

MalcolmB
05-13-2008, 01:05 PM
texture_buffer_objects will allow you to do this. Looka the Nvidia OpenGL SDK for a demo.

AMACIAS
05-13-2008, 01:57 PM
OK. This is the story.
I am experimenting with model rendering using OGL. All the models I have came in ITM (indexed triangle mesh) formats: -OBJ, 3DS, ASE, PLY etc-.

Now I can load all these formats in my own generic data structure based in ITM.

I am looking for a GENERIC way to render them MAXIMAZING the GPU memory use and rendering speed (I will use this component in a future graphics engine).

From my knowledge, there are mainly two ways to manage the models formats: ITM and VL (Vertex List ). For rendering purposes I jump directly to GPU rendering modes: I know the best way to do this is using IVBO (Indexed VBO) -compliant whit ITM format- and I tried to use them but I could not find a way to deal with models where the number of vertices and texcoords are different. For that reason my question.

When I talked about Vertex List I am converting my ITM model in a list of vertices (numfaces*3 and traversing around the vertices, normals, and texcoords arrays to generate one big vertex array info) and join to it the normals and texcoords information. I do not used the name Vertex Arrays in order to donít get confuse the concept with the vertex array ogl rendering mode (client side).

Well, I am going to check memory uses and rendering speed using VL (in a VBO) and trying to fill arrays of vertices, texcoords and normals in order to use only one index in a IVBO (CatDog suggestion -thankyou-) and also to check texture_buffer_objects options (thanks MalcomB).

Thank you everybody.