3d api
From AlephWiki
3D Application Programming Interface
Return to History Documents
Loren Petrich
I wonder why nobody has stepped up and offered to support either RAVE or Glide (or both!) for Aleph One. I had expected Bo Lindbergh, author of GlideHack, to take a stab at Glide support, but he has shown no interest. I personally have had no interest in either, for reasons I will explain in more detail.
Glide, for those not familiar with it, is 3dfx's proprietary 3D-acceleration API, which used to be commonly used, but which is now fading away. It offers some nice features that standard OpenGL does not have, such as indexed-color textures in direct-color rendering; such a feature would be very helpful for doing multiple sprite flavors. However, Glide faithfully reproduces 3dfx cards' longtime texture-size limitation of 256*256, which can make it difficult to do landscapes.
RAVE (Render Accelerator Virtual Engine) is Apple's gift to the world of 3D-acceleration API's, and is elegant and simple. However, it was introduced in 1996, when Apple had gone into a tailspin, and despite Apple's cross-platform ambitions for it, it has been MacOS-only.
Glide and RAVE have some problems for me, problems that might be taken as proof of my laziness :-) Both of them are lower-level than OpenGL; they take screen coordinates, instead of OpenGL's coordinate transformations, and they do not do clipping. I wonder if their texture management is equally low-level, though I'm not quite sure about that.
OpenGL's clipping made some things very easy, such as porting the overhead-map rendering code to OpenGL. The original code used Quickdraw drawing, and assumed that everything drawn would be clipped to the overhead-map viewport. This made the code, or at least the lines and polygons code, a snap to port to OpenGL, because OpenGL also does clipping. With RAVE or Glide, I would have had to write some extra clipping code, or else look for it somewhere online.
Another reason I have is that Apple is leaving RAVE behind in favor of OpenGL, most likely on the advice of John Carmack, who ought to need no introduction here. However, Apple's strategists may also have wanted to get some of the high-end professional-graphics market, which uses OpenGL rather heavily.
But John Carmack did something that I think was really good – by deciding on using OpenGL, he helped create a mass-market presence for it, and he succeeded in demonstrating that OpenGL can be a good game-graphics API.
