Forum: Poser - OFFICIAL


Subject: Huge geometry files :: a complaint about Ray Dream Studio

Anthony Appleyard opened this issue on Aug 09, 2001 ยท 18 posts


wiz posted Fri, 10 August 2001 at 9:54 AM

Attached Link: http://www.wxwindows.org

OK, in reverse order, openGL and wxWindows and GUI... GUI - Graphical User Interface. All the stuff on the screen that makes up the program. Your large split window with grid lines, dual cursors, and a row of menu buttons above is your GUI. It's how the program interracts with the user. Morpher's dual list boxes, drag and drop between them was its GUI. wxWindows is a C++ class library, what's commonly called an "application framework". It has classes which you can use for application objects, message handling, dialogue boxes, windows layout, etc. http://www.wxwindows.org You use Borland C 4.5. Borland's application framework is called OWL, the Object Windows Library. It's a very nice framework, and takes a lot of the drudgery out of getting a program running. I've noticed that MakeObj is an old style Windows program, written entirely in C, anc contains tons of case statements to handle Windows messages. If you wrote it as an OWL program, you'd have a nicer looking GUI, with much, much less work. You could have based your program on a tTwindow class, and just cleanly added a menu and drawing functions, and had to do a lot less UI work on your program. Microsoft's framework is called MFC, the Microsoft Foundation Classes. Personally, I've used both OWL and MFC, and find OWL much more logical, consistant, and easy to use. Both OWL and MFC are only for Microsoft Windows. You can't easily take an OWL or MFC program (or your program, for that matter) and complie it on a Linux machine or a Mac. wxWindows is an incredibly rich class library. It looks wuite a bit like OWL. But it's "cross platform". If I write this line in my program: wxMessageBox("error", "The file couldn't be opened") I'll get a nice Windows message box if I compile it on Windows, a GTK or Motif message box on UNIX, and a proper Mac box on a mac. All from one line of code. There's an OS/2, BeOS, WinCE, etc. version of wX. It's better than Java for "write once, run anywhere". And there's wxPython, but I've never tried tying that into Poser ProPack. Do you remember Morpher, the original morph management utility. I wrote the first version in OWL, and the second version in wX. Version 2 would compile with my Borland C++ 5 on Windows, GCC on Linux, and we even once tried to compile it on a friends Mac. There are other cross platform libraries, some are commercial, like PowerPlant (from MetroWerks) and others are free, like V and Amulet. But I think wX is the best. openGL is the Open Graphics Language. It's a relatively low level API for talking to your graphics hardware. You call openGL functions to place your camera and lights, and then you can render objects. It supports primitives like triangles, quads, strips of triangles or quads, triangle fans, etc. And arbitrary polygons, as long as they're convex. It supports texture mapping and fog too. openGL will do these things with your graphics hardware, if the hardware supports it. I use a geForce 2, and have written openGL programs that pust around about 10 million polygons/second. http://www.opengl.org openGL is platform independent, and comes preinstalled on MacOS 9 and X, Windows 98, NT4, 2000, and ME, Linux, SGI IRIX, BeOS, etc. And it's as fast (or faster) than the propriatary 3D APIs like DirectX or Quickdraw3D. openGL is based on SGI's propriatary GL, so you can understand why it was built to be fast and versatile.