🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

What would you like to see in an OpenGL helper lib?

Started by
20 comments, last by Kazade 17 years, 1 month ago
My comments:
+ IFS is very useful, especially in stress-testing certain classes of graphics algorithms (the Brown Mesh Set includes more models than you'll ever need).

+ Don't support implicit casting from the math objects (vec*, quat, etc) to the appropriate pointer representation. Make the casting explicit. Between the variations in GL's functions and the various legal ways implicit conversions can occur, you run the risk of causing very serious bugs very easily. This is bad thing.

+ The D3DX mesh object sees two primary uses: usage as an actual vehicle for rendering geometry, and usage as an intermediate container for access geometry (e.g., loading the .X file then pulling the vertex/index buffers from it and discarding the mesh itself, to use the buffers manually). Keep that in mind; if you're concerned about making a mesh object because people might want to use their own custom ways of rendering geometry, a mesh object can at least be useful as a means of transforming on-disk geometry into in-memory vertex and index buffer representations.

+ Also note that .X is not a D3D-specific format at all (it is, in fact, extremely flexible and extensible). Although writing a proper loader is not exactly pleasant without the help of the D3DXFILE interfaces, so I'm not exactly suggesting you bother (COLLADA is probably better for that anyway). Just something to be aware of.
Advertisement
Sorry I should have kept this updated. I am working on something based on the ideas on this thread. But I am doing it alongside my engine (e.g. my engine uses the library, I develop the library as I need features for my engine). Once at least the math part is tested and optimized I am going to start a project somewhere for other people to contribute. To give you a few details:

* The math library is pretty much a separate entity to the rest of the library. It is written in C (however with a C++ #ifdef for operators, pretty much how D3DX works). This makes it easy and natural to use alongside OpenGL and allows the math part to reach a wider audience. There are currently structures and functions for 2d, 3d and 4d vectors and 4x4 matrices however they are not all complete.

* The rest of the library is C++. I have written an MS3D model loader complete with skeletal animation using the math library. I am working on abstracting as much as possible into a common model base class.

* There is a simple TGA loader. I don't want to do much more than this as there are better alternatives (e.g. DevIL)

* The working name for the library is SheepLib. There is a story behind that but it's very dull so I wont bore you with it [smile]

Member of the NeHe team.

This topic is closed to new replies.

Advertisement