Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!mintaka!mit-eddie!media-lab!wave From: wave@media-lab.MEDIA.MIT.EDU (Michael B. Johnson) Newsgroups: comp.sys.sgi Subject: gl question - editing large objects Summary: how do you edit large gl objects? Keywords: gl, objects Message-ID: <2985@media-lab.MEDIA.MIT.EDU> Date: 24 Jul 90 23:25:23 GMT Reply-To: wave@media-lab.media.mit.edu (Michael B. Johnson) Organization: MIT Media Lab, Cambridge MA Lines: 79 I have a question for the gl wizards here: I have a reasonable sized 4D (a 4 processor 240GTX) that will be connected to a very fast computer (a CM-2) that will be generating geometric data that I want display and interact with on the 4D. Conceivably, I could have any sort of geometry data (spheres, points, polygons, etc.), but just as an example, let's say I have some triangle mesh: I have vertice info, normal info, and color info. Also for this example let's say this fast computer is writing this information to a file. So, if I want to get this data up on the 4D and interact with it, the most straightforward way seems to build a gl object and then display it. There is enough example code that show how to interact with data sets that cobbling together a rudimentary interface is just an afternoon. Now we get to the hard part (at least to me...). The fast computer that is generating the geometry information is pretty fast - every few seconds or so it can generate and write as a file onto the SGI more geometry data. These are large datasets - since a 4D can render (supposedly) a 100,00 triangle mesh a second, let's say it's a 10,000 triangle mesh. If I had a machine that could display them fast enough, I could easily generate larger interesing data sets, or more of them more quickly. This geometry data is another timestep of the object we're looking at. Consequently, I don't really want to build another object, I just want to edit the one I just made. Let's say that after the initial geometry data is set up, the connectivity of my triangle mesh doesn't change - just some scalar that we associate with color does. Now, my understanding of how I would build that object in gl in the first place would be something like this: gl_obj = genobj(); makeobj(gl_obj); shademodel(GOURAUD); bgntmesh(); c3f(c1); n3f(n1); v3f(v1); c3f(c2); n3f(n2); v3f(v2); c3f(c3); n3f(n3); v3f(v3); /* add as many more triangles as we have here... */ endtmesh(); closeobj(); I also realize that I can put tags in there so that I can edit the object, the manual says (16-10 Graphics Library Programming Guide IRIS-4D Series): "If you have to edit graphical objects frequently, you should build your own custom data structures and traversal routines, rather than use graphical objects. The editing routines that follow are best suited for infrequent and simple editing operations." Given that I want to do frequent regular editing of a graphical object, what are my alternatives? If, for example, I wanted to change the vertice and normal info without changing the color? I don't understand how this can be done efficently in gl. I won't go into more detail for fear of boring people. I would be happy to give all sorts of details over the phone or through e-mail. To conserve network traffic, please respond via e-mail, rather than posting. Thanks. -- --> Michael B. Johnson --> MIT Media Lab -- Computer Graphics & Animation Group --> (617) 253-0663 -- wave@media-lab.media.mit.edu