Sun, 30 Sep 2007
Tippytoes into OpenGL
« Physics Feedback, Visitors, and Graphics Soon | Main | Fixing the Broken Physics » Posted by at 6:09 PM in /
I can assure you that this software is not going to end up looking like your average two hundred person-year game with its artistic teams and software teams. That being said, you never know what it might turn out looking like, because there are two ways that I might be able to adopt a sophisticated graphical front-end: Breve and Digital Space are kind of fellow-projects with this one related to www.biota.org and in the biota podcast series there has been some talk about collaboration.
It would be a real kick to introduce the graceful fluidity of tensegrity to those environments, and that might inspire future engineers to look into building things using tensegrity. At the very least it should be considered as a structural principle very useful in zero-gravity. I imagine the rotating wheel shape from 2001 A Space Odyessey but then not as a solid donut but rather as a vastly larger donut-shaped tensegrity where people live in the bars. Maybe there would even be bars that were bars that you could frequent.
For now, I'm impatient to have something to look at, and I want an animated view that performs at a really high rate of speed so the first thing to build will be a rendering based on lines instead of polygons. It's important not to forget that the most exciting thing that will happen with this software will be the evolution process, and that occurs out of anybody's view because observing the movement slows it down by orders of magnitude. When you view it, it should be possible to really make the movement fluid with a large frame rate.
Something I should mention: I had a text chat with Rui Alao last night, an internet friend and podcast listener from Brazil, who recently presented Darwin at Home at an academic conference, it seems. It was more about the concept than about the techniques, he said. I hope to hear more from him about it and that he puts the presentation online, even if it is in Portuguese.
The GL code is of course built on the basis of the Visitor idea from last episode, and the visitors required will be looking at the bars and cables and painting lines on the screen. This part of the code is really another refinement of what I've used in previous versions of Fluidiom, and not something I'm doing for the first time. The nice thing about that is by now I really kind of know how it all fits together so I can explain it with some more confidence.
Almost forgot! The graphical version is available using Java Web Start from http://www.darwinathome.org/tensegrity-20070930/
- Space3.java - for rotations
- Space4.java - macho four by four to add translation
- GLViewPlatform.java - holds the point of view, sets the scene, does poor man's picking.
- GLRenderer.java - painting classes implement this
- Color.java - in GL colors can be float arrays
- PointOfView.java - now has a rotate method
- TensegrityView.java - brings it all together, contains the visitors, does the demo
Technorati Tags: opengl jogl tensegrity geometry
