[PD] GEM GOP abstractions

james tittle tigital at mac.com
Tue Jul 18 23:56:29 CEST 2006


hey mark!

On Jul 16, 2006, at 11:21 PM, Danks, Mark wrote:

>   I can explain why GEM is "backwards" :-)  Warning: History lesson  
> for
> those who want to delete the spam now...

...I dig the history lessons, so keep 'em coming...

...snip...

>   One nice thing
> at the time is that it was trivial to modify the vertices with  
> objects.
> The tex_coord object is a legacy of this actually.

...snip...

>   It might be easier now to do it with the shape objects at the start
> with things like vertex buffers...but those didn't exist 10 years ago
> when I created GEM :-)

...this sounds exactly like the vertex_array stuff that cgc did some  
years ago, tucked away in an esoteric cvs branch of gem:  the main  
holdup for awhile was a disagreement between iohannes and cgc &  
me...Iohannes wanted to extend the buffer sizes to 4 for everything,  
so that all buffers could be multiplied by each other (easy matrix  
math)...cgc & I didn't like the wasted space, since you would never  
have four normals, colors, indices, etc...last time we really  
discussed it, iohannes basically threw his hands up, but then no-one  
acted on it, as the idea had become quite cold, and somewhat  
surpassed by doing the math in vertex programs instead of cpu-based  
objects...

...anyway, just a week ago I finally started committing the stuff to  
gem's cvs head...the basic idea is that you can create a buffer one  
of two ways:  either by loading a model ([vertex_model], thanx to  
cgc!) or reading a table ([vertex_tabread], thanx to Io!)...then you  
can use different objects to process the vertices cpu-side, or go  
ahead and upload the buffers to the gpu ([vertex_draw])...at which  
point you could insert [vertex_program]'s or [glsl_vertex]'s to do  
the calculations on the gpu...

...well, that's the theory, but there are plenty of pitfalls in  
practise, I'm sure...currently I'm expanding [vertex_tabread] to  
accept single table messages (instead of "all tables at once" as it  
is now), plus trying to create an auto-normal generation method,  
along the lines of andrew glassner's "Building Vertex Normals from an  
Unstructured Polygon List" method in Graphics Gems IV...

...or something like that :-)

jamie




More information about the Pd-list mailing list