[Edu-sig] re: 3d in Python
Mike C. Fletcher
mcfletch@rogers.com
Tue, 29 Apr 2003 00:10:28 -0400
Dethe Elza wrote:
> Arthur wrote:
>
...
>> Most of the other tools you refer to, I am familiar with.
>> It was actually through PyOpenGL that I became aware of and involved
>> with using Python.
>> My interest was in learning to work with the OpenGL API without
>> wading through all kinds
>> of windowing APIs to get there. The insanity one needs to go through
>> to get a Windows
>> window prepared for an OpenGL dot, is almost funny. Anti-intuitive
>> is an understatment.
>
>
> Yes. Somewhat easier if you use GLUT (a cross-platform windowing
> toolkit for OpenGL), but still pretty hairy. I mentioned
> OpenGLContext because it is supposed to be a friendlier environment.
> It features windowing using wxWindows, GLUT, Tkinter, etc., for one
> thing, and I believe it is object-oriented, for another. But I
> haven't really explored it much.
It is (some might say pathologically) object-oriented (it includes, for
instance, a property-based modeling of VRML97 scenegraphs, which were in
turn model on Open Inventor). It does try to be a somewhat friendlier
environment *for OpenGL*, though it needs considerably more
documentation to actually fulfill that goal. It is, IMO, certainly
easier than raw OpenGL for many common tasks that a student wants to
learn to do with OpenGL. It's not, however, trying to create "3-D
graphics for everyone".
It's raison d'etre (sorry to the Francophones, don't feel like finding
accents at the moment) is to provide OpenGL sample code, and to make it
possible to write fairly readily understood "lesson modules" for
teaching OpenGL. The system takes care of the "normal" OpenGL
bookkeeping, letting you (hopefully) focus on teaching the actual
technique in which you are interested.
For simple techniques (the kind of things you are likely to see in an
introduction to computer graphics programming course, I would imagine,
textures, transparency, NURBs, those kinds of things), it works quite
nicely IMO. When you get into more complex techniques (for example
infinite perspective matrices + shadow volumes or the like), it likely
becomes a wash for educational purposes. You can point at the package
or module that implements the difference from the "normal" rendering
procedure, but that presupposes that the user understands that rendering
procedure (there is documentation, but it is written informally, and is
likely to lose a student in its current form).
Enjoy,
Mike
_______________________________________
Mike C. Fletcher
Designer, VR Plumber, Coder
http://members.rogers.com/mcfletch/