RE: [PyOpenGL-Users] Re: Utility module functions, forward directions, call for opinions/volunteers
Brought to you by:
mcfletch
|
From: Tarn W. B. <twb...@ma...> - 2001-10-03 15:00:48
|
| With that said, apparently Tarn is more open to this | function, so he may | just overrule me and create and/or allow a package for such geometry | mechanisms. For now I will assume that is the case, and therefore assume | that the functionality will be encoded somewhere. It just occurred to me that my previous position was a bit dogmatic, so I softened it but it ended sounding like a complete reversal. Anyways, this is my current thinking. glIndexedGeomDSPL and glSphereSetDSPL have a potential for general use, but from my perspective there is no possiblity of including the functions as is in the PyOpenGL core. First off both functions compile to straight to display list. This goes directly against the OpenGL paradigm. Instead, any drawing functions should produce output on the active buffer unless the user surrounds the call with display list compilation. Secondly, I think that both functions could be a bit more general. This would remove the debate as to whether these are application specific functions. For glIndexedGeomDSPL this probably means adding crease angle support. There may be more capabilities that are worth adding that I don't know about. Since Mike probably knows more about indexed geometry use , because he has done some significant VRML work, I'll defer to him. I've thought a bit about how I would implement glSphereSetDSPL given the chance. My conclusion is that what one wants to do in a general sense is have to ability to draw a whole collection of solids as if one was using a function like a glMultiDrawArraysEXT (see http://oss.sgi.com/projects/ogl-sample/registry/EXT/multi_draw_arrays.txt) or glMultiModeDrawArraysIBM (see http://oss.sgi.com/projects/ogl-sample/registry/IBM/multimode_draw_arrays.tx t) but where the types of primitives (mode parameter) would be: SPHERE, TORUS, TETRAHEDRON, etc. In my mind this is the kind of development that needs to happen in order to include these types of functions in the core. Unfortunatly I don't have the time to pursue this because there are issues that are *much* more pressing. This ends up meaning that if others don't step up to plate that it won't get done. I'd also like to point out that in any solution "wrapping" an existing library is preferable to creating our own code just from a maintainance perspective. So if there an existing library out there (haven't looked yet) than this is the way to go. | Which brings up the question of whether the quaternion and | trackball code | should really be part of the library. I'm not sure whether these | pieces of | code should be included, as they don't really follow the OpenGL | paradigms as | I understand them. (I could very well be wrong on that, just my opinion). I would tend to say that they don't fit into the core. Having a separate "graphics math & utility" package would make more sense. As Mike probably remembers, I was kicking and screaming a bit at the time of their inclusion, although I couldn't seem to identify exactly why. thanks all, Tarn p.s. What does froody mean? |