Or is this what you mean?
http://www.opengl.org/reso
Main Topics
Browse All TopicsHey,
where can I get the source code for the OpenGL library? I only have the compiled shared libs on my end (can these be decompiled?).
Thanks.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Or is this what you mean?
http://www.opengl.org/reso
"the GL class"??? What GL class?
OpenGL is generally implemented as closed-source by the video-card driver companies on Windows, by Apple on Mac, and varied implementations under linux (some by vendor, some abstracted using the open-source Mesa GL replacement). Hardware acceleration generally needs some kind of exposed 'hooks' to the video card, thus the card companies are involved.
Thus, aside from getting the source to Mesa, or GLUT, or the above-mentioned OpenGL sample implementation that SGI distributes, you can't actually GET the sources to the OpenGL implementations for the average say Windows graphics card...
-d
What do you want to know about the z-buffer? OpenGL doesn't actually 'handle' it -- the graphics chip does. It's a low-level thing, and interaction with the z-buffer is also dependent on a number of other flags/states in the system.
If you look at Mesa, you'd probably have an idea of how one could manage a z-buffering technique -- that is, each rendered texel may have a z-depth for it, which (again depending on state) can test against the z-buffer to decide whether the new texel color should replace the old one. Note the dependencies are all over, not just whether to even bother testing z, but which way to test it (greater than, less than, etc.), z-offset (to 'fudge' new things in front of old things at the same base z), etc.
-d
I think I may just have to resort to the 'Painters Algorithm' -- which I was hoping to avoid, because of things like this:
http://en.wikipedia.org/wi
causing it to fail.
I don't suppose you know of any decent z-buffering techniques that aren't overly intense?
well:
- use fixedpoint z
- use w-buffer (linear)
- use other optimizations in calcs (do a line at a time, cache-align stuff like 64-bytes)
- test Z before any other work
- do zone rendering (see PowerVR or intel), does small chunks, better cache-hits, better ability to quick-eliminate things from contention
- render front-to-back (z test fails more often, more quickly)
... etc.
What IS it you are trying to do?
Also can look at span-buffering, S-buffering, as another painter-type approach.
-d
I'm trying to create a graphics library - implemented purely in software. (Oh, not to mention pure Java).
Currently, I'm finding it nearly impossible to pull off a decent depth buffer whilst keeping the framerate above 10 Hz.
From the very little I have found online, S-buffering seems interesting ... but I cannot find any tutorials or the likes on it (well, nothing that I understand).
:(
yowch. yeah, java has proven difficult for software 3d... the folks who pull it off have probably used approaches more towards painters or span-buffering (with bsp trees, you can get somewhat decent results... never as accurate as a z-buf, but...), and most certainly take every shortcut they can to throw out large pieces of geometry before per-pixel computations. frankly, that's what I think span-buffering and the zone-based-zbuffering (PowerVR, intel) try to do by looking at smaller pieces of geometry, hoping to make higher-level decisions to spare low-level, expensive, computation. that includes general stuff like backface culling...
thus, the Java3D, Jogl, etc. libraries have really taken off as they give access to hardware or core-optimized routines.
I believe s-buffering (from old, old memory) was the basic Quake engine approach. BSPs were used to optimize and cull at a high level, and s-buffering then worked off the edges of the polys, trying to pre-determine what span-lines of a given poly were 'in front'. Which, in essence, is just a further improved version of painters. ;)
Here's the quickie s-buffer resources I found:
http://www.xs4all.nl/~smit
http://www.flipcode.com/ar
Stuff by Michael Abrash is also always good... for obvious reasons (quake..).
http://www.gamers.org/dEng
That's all I've got at this point. There's always 'smarter not harder' approaches to rendering, but none of it is snap-your-fingers instantaneous. The Quake stuff might be the best reference, but it's also fairly complex code. ;)
-d
This is the best pure java 3d engine I know of..
http://www.idx3d.ch/idx3d/
maybe it can help? (there is source available)
Business Accounts
Answer for Membership
by: ozoPosted on 2006-02-20 at 15:30:00ID: 16004447
http://oss.sgi.com/project s/ogl-samp le/