Ideas for a new toolkit, SDK, and a reference rasterizer

I started out with DirectX, but I merged my way into OpenGL and I really enjoy it. I have a few wishes that I would like to see in the next OpenGL version(s).

Direct3D has an advantage to attract newcomers to graphics with a utility library (D3DX) which does several tasks as easily as possible, such as loading in images of different formats, getting image details from a file before loading it in, sprites, and a lot of other goodies. I would like to see something like this, like a GLX library perhaps. I have seen too many OpenGL people switch to DirectX just for D3DX.

I would also see a family set of APIs in a SDK to show OpenGL is not just all about graphics anymore, and how DirectX is that and everything else. We see Khronos Group with several interesting APIs to work with. With Microsoft’s deprecation of several DirectX components over the last few years (DirectDraw, DirectMusic, DirectPlay, DirectShow (now moved to the win32 platform sdk, not recommended for game dev anymore), etc., OpenGL will have more official APIs for the developer.

In addition to the SDK, my last wish is having a reference rasterizer for testing purposes. This will allow developers to test new OpenGL features that current hardware does not support. Say I have a OpenGL v1.3 driver and I want to test some OpenGL 2.0 features. Since it is software-based, it’s not impossible. Something like Direct3D’s reference rasterizer would be very helpful as a developer.

Thanks for your time.

As luck would have it, the ARB (or Khronos EWG) is putting together an SDK for us. Don’t know about a reference rasterizer though (I very much doubt it in the near term).

Software implementation is Mesa. Even now it has some new extensions (like framebuffer_blit ).

utility library (D3DX)
DirectX does not have functions like glTranslatef, glRotatef so it needs D3DX. As for other stuff OpenGL has GLU and GLAUX.
No matter if it’s DirectX or OpenGL I find that the best way for handling images is using libraries like FreeImage or DevIL (a.k.a. OpenIL).

Ref rasterizer : Mesa is pretty up to date, but is not GL 2.0 because I think it doesn’t support MRT
I used it for testing. Thumbs up! Very useful.

I think GLU is very outdated and GLAUX is trash. I don’t use either. That’s why I made glhlib. At least it has float and double version of many functions.

D3DX has more than just matrix functions. Quat, loading images, compiling shaders to binary, x file loader/optimizer, effects system, text functions.

I like the DirectX debug-mode. Just open the DirectX control panel and set the debug level you want. I want something like that for OGL

Also OGL needs a profiler ( NVPerfHUD only works under Direct3D+NVIDIA… )

And yes, a OGL SDK like the DirectX SDK will be very cool. Put examples, .H headers, documentation etc there.

GLIntercept has “kinda” debug options. (http://glintercept.nutty.org/) - error checking, memory leak checking, thread checking, Break to editor on error etc.

Nvidia provides some profiling support for OpenGL.

A Linux version of GLIntercept would be nice. Anyone working on that?

I was for a while, (the main OpenGL .so actually compiles in linux and works) - but I sidelined it until I could convert all the GUI stuff to wxWidgets.