Previous | Next --- Slide 5 of 46
Back to Lecture Thumbnails
BryceSummers

Does anyone want to try to corroborate or refute the connectivity storage counts above?

This website about Euler characteristics may or may not be useful.

Nina

Can anyone help me to understand why polygon soup need (~3x#vertices)?

In my opinion, for polygon soup, each vertex should store:

  1. one unique vertex index number

  2. three vertex coordinate value(x, y, z)

So that would be (4 x #vertices) total for polygon soap. Please correct me if I'm wrong. Thanks a lot.

Also do we need to consider following storage cost?

  • three integers that represent the face (i, j, k), each integer is the index of a vertex
skygao

@Nina You probably don't need to store the vertex index number within the vertex data itself because you get the indices for free in a vertex array. Therefore it's 3x instead of 4x. Describing triangles with indices is usually a good idea, especially in terms of storage as a vertex may often appear in multiple faces. In fact, it is how it's done in a lot of mesh formats, including the COLLADA files you are working with in p2. In modern GL you would also use indexed access for drawing things:

glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, index_buffer);

BryceSummers

@Nina, I agree with Sky.

Also, these calculations only involve the storage requirements of encoding connectivity information. We can ignore data storage needed to represent the positions and existence of the vertices for the calculations on this slide.

Edited

Nina

@BryceSummers, if we only consider connectivity in this case, I don't think vertex coordinates storage should be considered, which also encodes vertex data. We probably should care about the 3 indices numbers for each triangle, that actually encodes connectivity. Please let me know if I'm wrong, thanks.

PandaX

When the triangle mesh grows to infinity: the ratio between V, E, F is equal to 1:3:2, and each face requires 3 indices to represent. So the total storage cost of triangle soup is 3(2V) = 6 V. Is this right?

I do not understand why the storage cost is 3*V.

kmcrane

Kayvon also has some good comments about the tradeoffs between different mesh data structures on this slide.