TITLE OF PAPER: High level 3D Graphics URL OF PRESENTATION: _URL_of_powerpoint_presentation_ PRESENTED BY: Tamer Fahmy REPRESENTING: Vienna University of Technology CONFERENCE: PyCON 2004 DATE: 20040324 LOCATION: _venue_and_room_in_venue_ -------------------------------------------------------------------------- REAL-TIME NOTES / ANNOTATIONS OF THE PAPER: {If you've contributed, add your name, e-mail & URL at the bottom} Pivy - Python binding for Coin Develop Coin applications in Python Interactive modification and inspection of the scene graph at runtime Scripting node for the scene graph Coin is an api-compatible reimplementation of SGIs OpenInventor. Might have other goodness, I don't know for sure. A ref would be nice, but the net is down. Movie of what his group does. Augmented reality - interact with real environment use graphics to display over real objects.. showing a movie with a hallway being displayed and overlayed is a wireframe of the hallway with markers being set by the person to remember where they were - shows arrows and other directional help on the overlay Went through institute, tagged markers on walls (kanji) and by recognizing markers wrt floorplan, it can infer position. GPS style directions for walking. cute. huge latency, but good idea. everytime a glyph of the right image appears a floor plan overlay apapeared with widgets not quite heads up display yet :) wow - it's a huge (as in entire back!) backpack with a flaptop and a power cube and a miner helmet with the camera on it, and hmd mounted below the brim. They are trying to port it to a PDA - iPaq using OpenGL - so the pda has a camera running the software showing the image/map on the pda 'glint' i think is the ipaq ogl impl. Showing menu with wireframe of floor plan - setting initial location and target location by room number This tech would make for some interesting gaming opportunities.. yes - live hunt style games. There's something like this that they do on cellphones somewhere in scandahoovia. Can't remember, but I read about it in wired a while ago. Open Inventor/Coin Uses OpenGL to render Ready to use components for Interaction Own file format Optimizations done transparently (SG caching, etc) Integration of OpenGL wihout problems* * rpk - excepting performance. inventor performance has always sucked. the api was nice and elegant, and the manipulators ruled, but performance was secondary Coin (http://www.coin3d.org/) implements SGI Open Inventor 2.1 Availble for multiple platforms Additional features VRML97, 3d sound, Multithreading, parallel rendering, GUI bindings for different toolkits High Level Libraries Model data specified in advance Predefined data structures Organize data in heirarchical database Application vs Data-Driven Application - Driven: Performer, OpenSG Data - Drive: Open Inventor, Coin Pivy * rpk - i don't buy this taxonomy. come to SIGGRAPH, learn more. :) ACM SIGGRAPH - annual gfx conference. this year in la, 08/08-12 Scene Graph Directed acyclic graph (tree) Traversal of the scene graph from top to bottom, left to right ("Actions") Scene graph as an .iv file: #inventor v2.1 ascii Separator { Group { Material { diffuseColor 1 0 0 } Cube {} } translation { 0.8 } } Aha, live demo, as usual, running under X11 on os x. well, at least it's os x. :) looks like it's got the usual 'Examiner' viewer which has basic controls like a trackball affixed on the screen for rotations, zoom, blah. picking, change draw modes, etc. emacs on the mac - something just plain wrong about that! yeah, he needs subetha, no, scratch that, he needs fuse! yea! :P it's even worse than we thought, he's using emacs to launch an interpreter in a shell! looks like an ibook he's using. typing in a demo. hm. import works. *snicker* all-in-all, i appreciate a good pywrapper. nice that he (or whoever) wrapped coin in py. i'll take it. yes - looks like a good python feel for coin. next year, i'm proposing a talk on pyOSG. i'm a big fan of OpenSceneGraph (not one of the scenegraph's he mentioned) but it too is a wrapper around that c++ scenegraph api, and works, etc. ok, it's not quite done, but i'm working (with the pyosg-ers) on it... no really! as soon as i have some free time... free time - what's that? I don't know.. maybe thats what I call gaming time :P that's what I call mental refresh time :) Oh, I like that ow, he said he needed a linux box. that's not nice. also, did i mention, his demo _failed_. :) ok, he's almost there. i think he forgot a semi-colon. *cackle* evil! :) if he's running os/x - he *has* one. hehe. operator error. he'd be much happier with a linux box. maybe we can raffle his ibook. *snickers* these notes are kinda devolving. doo. yes more line a bad irc interface now . hey, i hear it's nice outside... yeah. this is last lecture 'fore break? cool. feeding frenzy in the lobby. I better get a cookie this time. damn straight. cookie!?! you got a cookie? c is for cookie, that's good enough for me. he just made a red cone, changed it to green, and added a sphere. he's inadvertently showing the stateful nature of inventor's traversals. why, o why do people use _flashes_ on reflective screens? who reads the manual to figure out how to turn it off? one big button on top, that's all you need to know. batteries included. Oh, its our favorite lamp.. demonstrating 'manipulators' that come with inventor. not that anyone asked, but this is the OneBigIdea that inventor did well. guy named Paul Strauss, now at Pixar, did a bunch of this work. Is that why the lamp looks so familiar? hehe. no, he went there _after_ he worked on this. about '99. continuing to show the default demo data inventor ships with. and, as you'd expect, they work (because there's no typing). :) aww, be nice. Q: you didn't python-ify open inventor's api - you could have come up with python classes to wrap them? A: he just wrapped the c++ classes - confusion ensued - taking it offline random pokes about 'you could have wrapped it more pythonically'. Q: A: usually you have model programs and modellers to create the models - you can load them and manipulate them Q: open inventor has simple dynamics - have you extended them - have you made them data driven A: there are different ways to extend them - it has it's own runtime engine - it has an api full class structure, so can be wraped anyway you'd like. more confusion ensued - more offline talk later Q: not using the python reference counting A: he's going to do more of it in python so he won't have to worry about that Q: is there any way to get at the internal nodes of the loaded scene graph A: you can reference scene graphs with shared nodes and use 'paths' to control where the reference to that node is used is that chocolate? ah.. free chocolate, free cookies... such choices. take two for me.. -------------------------------------------------------------------------- REFERENCES: {as documents / sites are referenced add them below} coin: http://www.coin3d.org/ vrml: http://www.vrml.org/ -------------------------------------------------------------------------- QUOTES: -------------------------------------------------------------------------- CONTRIBUTORS: {add your name, e-mail address and URL below} Bob Kuehne, rpk@blue-newt.com, http://www.blue-newt.com Mike Taylor, bear@code-bear.com Linden Wright, lwright@mac.com -------------------------------------------------------------------------- E-MAIL BOUNCEBACK: {add your e-mail address separated by commas } -------------------------------------------------------------------------- NOTES ON / KEY TO THIS TEMPLATE: A headline (like a field in a database) will be CAPITALISED This differentiates from the text that follows A variable that you can change will be surrounded by _underscores_ Spaces in variables are also replaced with under_scores This allows people to select the whole variable with a simple double-click A tool-tip is lower case and surrounded by {curly brackets / parentheses} These supply helpful contextual information. -------------------------------------------------------------------------- Copyright shared between all the participants unless otherwise stated...