OpenGL 2.0 White Papers
Timothy J. Wood writes "3DLabs has posted a series of white papers on OpenGL 2.0 covering topics such as improving parallelism, timing control, minimizing data movement programmable pixel pack and unpack and (most notably) a proposal for a hardware independent shading language."
At least this way my friends can stop bugging me about how much better DirectX 8.0 is compared to OpenGL.
I think it will be a fun upcoming year for graphics programming B-)
I have 3656.9 Bogomips. How many Bogomips do you have?
more crappy video drivers. Run in console mode!!!!!!!
Goat Labia, Gonad Larvae, Gay Libertarians, ...?
Also of interest is the meeting minutes where the opengl panel discuss the implications of this leap, and raise some interesting questions:
> Bimal: Devil's Advocacy question: why do we want OpenGL to survive? If IHVs can't articulate this and drive progress, it won't survive.
I'd be really sad to see OpenGL go. Its the only way I've been able to fart around with all that graphic lovelness since University, doing my bit with deformable objects.
I hope they get their finger out and pull it off. Apple should be helping to sponsor this sort of thing really IMHO...
I really wish an open source group would release some sort of sound-graphics-animation libary for windows that directly competes with direct X. why would it rock? Simple porting of windows games to linux One less area Microsoft has a stranglehold on Games development would be easier for open source programmers A good games libary for linux Wed already have 3d and Direct 3d covered with open gl, we just gotta get the rest of the stuff covered. But IMO i think this might happen sooner than you think, it is my firm belif that once the Xbox gains motion ms will drop support of Direct X on the pc in order to convince PC games developers to come develop for its Xbox. It would make alot of business sense to do that. YMMV
Microsoft IIS is to webserving as KFC is to healthy eating
I'll get 2x the frame rate?
:)
Wanna screw someone's poll?
It's about time they get a programmable shading language in OpenGL--that is the most lacking feature in my opinion. Probably 90% of the textures used in things like games could be eliminated and replaced with much higher quality shaders that not only get rid of the repeatability of textures, but also *gain* detail as the distance decreases.
Can't wait! Hopefully they'll base it on something already well established, ie. Renderman SL.
Where are we going and why am I in this handbasket?
Microsoft, allthough they're a member of the ARB, has > 90% of the desktop market, and is moving forward with a rapid speed towards the heavy workstation market. With this situation comes the fact that DirectX is THE platform to target when it comes to 3D accelerated code.
What's another issue is that Microsoft, up till now, has refused to distribute an updated opengl32.dll with their Operating Systems. The current version is the old OpenGL v1.1 compatible version. SGI has said it has distributed a v1.2 version to Microsoft, but for whatever reason, it's not distributed further to the clients. This widens the gap between a non-uniform OpenGL platform still on v1.1, forcing you to use non-standard stuff like vendor-specific extensions and vendor specific opengl loading on one side and the DirectX API on the other. Without Microsoft's help, OpenGL will never be in the front seat again on Windows systems and because they're gaining a lot of marketshare in the workstation market, also not in that typical OpenGL area.
Never underestimate the relief of true separation of Religion and State.
I'll just rename all my opengl.dll to opengl2.quake and everything will seem to run faster.
I really hate Dan Patrick.
Right now, a lot of developers are chosing DirectX to develop their games to be able to use DirectX shaders. Portability is just a "nice to have" feature while shaders allow to greatly improve a game's graphics. It's urgent that OpenGL supports them or there might be no games left that use OpenGL.
Honestly, the only really annoying thing about working with OpenGL lately is the headaches that come from pixel/vertex shaders. We certainly need a vendor-independent way to support those, because damned if I'm going to rewrite mine for ATI cards - they'll simply be treated as "not supporting vertex programs".
:)
The synchronisation stuff is pretty handy: certainly, NV_fence has been very useful over the past year or so, and again: vendor-specific paths BAD.
Some of the changes seem to be as much to persuade some-ignorant developers to use OpenGL over D3D - the "black box" aspects of OpenGL are one the more DESIRABLE things about it. Changing those because some D3D guy is saying "I do xyz in D3D and I want the exact same concept to work well in GL because I'm too thick to actually use the right approach for that renderer" seems simply wrong to me.
Uh-oh: UPS just kicked in. Yay mountain storms...
"Pure" OpenGL2 is a terrible mistake. Give vendors the option NOT to support something, and they won't. Then all your old apps+games are up shit creek.
Will finish later when I have stable power again...
Here's a very nice article about the future of OpenGL. It might be easier to read than the full OpenGL 2.0 white papers.
True warriors use the Klingon Google
i knew i heard of it someplace before, i heard of it when i used to code in python and was drooling over pygame libaries
Microsoft IIS is to webserving as KFC is to healthy eating
How Rasterman address 2.0 in evas.matt
...understand things, both ATI and Nvidia have different hard-coded pixel-shading languages for there T&L engines. Now, if both do essentially the same things with different commands, why not create a hardware abstraction layer spec for OpenGL 2.0, sort of a java for pixel shading? This would leave it to the respectives companies to code an OpenGL compliant middle-layer that was fast and took advantage of their pixel-shader while resolving the need on the part of game programmers to optimize their games for a specific card.
Just a thought...
Some of the propisitions are good, but I fail to see how it will help.
.3 in directX? on the same hardware.
:\
Let me explain, and ignore the hardware issues to some extent:
Looking back at a summary of 3d api's:
Glide: Wickedly fast , easy to write for, obsessivly propritary (IIRC) a la 3dfx.
OpenGL: Fast (glide speed on compliant/correct hardware), moderatly hard to write for initially but easier as time goes by. Open/closed? I honestly forget. Was it documented API's and closed source?
DirectX: Humm. Used to be "Dog ass slow". Moderatly fast, maybe medium speed, very compatible, used to be (maybe still is) hard as hell to write for (this may have changed).
Eventually, If memory recalls correctly, absorbed the "better aspects" of other 3d api's, but also added another degree of difficulty/confusion to implementation.
Now, realize I base this off of my: gaming, memory (oops) and discussion of merits I've read/heard/been privy to.
I'll focus on gaming because that is where the rubber meets the road (or where the 'trons hit the tube).
OpenGL: Quake/GLquake (...or was it GLquack? heh)
Even the "software" mode went from Impressive and Eye opening, but GLquake put the "am" in {higher octave in voice} 'Daaaaaaaammmmmnn'.
Fast and pretty (for its day).
Glide: Quake2, software vs Glide mode. No debate until you can pick your jaw off the floor and keep your mouth closed for more than 5 seconds.
(and stop drooling on my keyboard, dammit).
Glide was the...damn, what is the word?...pinnacle, saviour, "schwing" that low, med end hardware needed to be 'high endish'.
(example: friend of min playing tomb raider on a G3 333...Showed him TR on a p200 w/V2...'fuck you, man' was the response {seg})
DirectX...Thief: Glide vs DX{murmph-snort-bwahahahaha}...Hummmm: 30 fps in glide,
Nowadays, the software has improved incrementally, but the hardware by leaps and bounds...making the s/w look good. Humm.
Sort of the reverse of Glide--software made the h/w shine--here it is the other way around.
I think OpenGL is trying to bring back the "make the hardware shine" days back.
Good luck, because if I understand the way DX is now...it has "absorbed" the api's of GL and Glide and whatever company made the software in the first place (damned if I can find the link...british company I believe).
Well, I've blathered on long enough. Not bashing, just offering my opinion and what I saw and heard in a nutshell.
The eyes don't lie...that is the lips job.
Cheers.
If it is not on fire, it is a software problem.
I know others have allready said this but as a former game developer, with more than 6 years of professional experience, I just want to add some weight to the argument that SDL indeed is what you are asking for.
I've never used SDL professionally (I've used Direct-X, Glide, PlayStation specific API's and some old inhouse stuff for DOS), but I've toyed around with it in my sparetime and I would have no trouble trusting it as the foundation for a high-quality cross-platform game (both 2D and 3D). In fact, I would rather use it than Direct-X since I find the API simpler and more straight forward as long as I don't need some obscure Direct-X feature for performance reasons (most games don't).
The URL is www.libsdl.org if you want to check it out.
At least at the rate things are currently moving. You still can't rely on OpenGL 1.2 on any system, as drivers are few and far between.
The problem is that DirectX is getting very complex, and OpenGL is getting very complex. It has been hard enough for video card makers to get stable drivers of any kind in the past. This is only going to make it much worse. I can see cutting OpenGL support to be a common decision.
Hey John, have you seen this spec yet?
What do you think?
DG
Want to learn about race cars? Read my Book
Unfortunately for SGI, there wasn't much to learn from Microsoft and MS is better at deception. As others have mentioned, DX has borrowed/stolen api and ideas from other competing API. It's great for gamers, but bad for the competition.
Is anyone really surprised Microsoft hasn't released new openGL drivers for windows? Unless game development on other platforms gain momentum, DX will eventually win and OpenGL will fade away. It's really shame, since OpenGL and Glide are better, but what does average joe care about. If it runs fast on their windows box, no one really cares. At the current rate of performance improvement in GPU's, no one is really going to care about squeezing out the last ounce of power. Only exception I can think is scientific application that absolutely need every ounce of power. Doing realtime simulations/modeling require insane power. But those are nitch products.
Hardware support of dual perspective transmitted through odd/even frame with shutter glasses is highly recommended! Unreal in 3D - watch out for those rockets!
Somewhere along the line, the hardware surpassed the API. That's when shit hit the fan with the crap-assed extension system.
So OpenGL needs to forward thinking. Make the hardware push the limits to catch up to the API again. And that is exactly the reason behing the Shading Language.
Good luck guys. Can't wait to see the unveiling next year at Siggraph!!
Don't get me wrong though. I Love OpenGL. Not only do I consider it the _only_ 3d api, I consider it one of the most professional and designed APIs. It's how an API should be designed.
Perpixel shading is a very welcome addition and should save some texture memory. Imaging all the Q3 shaders implemented in hardware... yum.. And I'm sure you could implement some nice trees with it too..
Although all these nice additions to an API won't stop inventive programming. There will still be a need for billboard trees and highlights..
Even so, the additions to the api will create even more ingenious implementations. Lionheads use of mipmapping for bluring distant objects was ingenious. Look at how far ModeX pushed the pc, or how Mode7 pushed the Nes. With a more powerful API the possibilities appear endless
Unfortunately I don't see drivers appearing for a long time..
-J
I'd like to inform everyone in these groups:
a) OpenGL is dead!
b) OpenGL is out of date
c) Let's ditch OpenGL and do DirectX
DirectX isn't the same thing as OpenGL, however you can compare D3D and OpenGL. DirectX is for sound, input, and rendering not just rendering, kids.
OpenGL will outlive D3D, since it's what big iron and the 'professionals' use for high end graphics. Also hardware vendors produce GL extentions way before D3D work has even started. GL can use extentions made *after it's release to support more features quickly and easily. ( If you're in one of these camps you never done 3d development, or think all computers are consumer PCs. )
Also if you use DirectX, you're limiting yourself needlessly. If you want the "latest and greatest" , then you're not going to use an API that has no modular extention system to support hw/ideas made after the API release. OpenGL can support hw/algorthims that happened *after it's release. OpenGL also runs on manchines a lot more powerful than your pentium 4 you bought at comp usa.
That's very true. But I very much doubt there are any exceptions at all that optimising the drivers and shaving off cycles is going to help much.
The only mental requirements for processing power I can tell is nuclear modelling and simulated medical trials. This is all precomputed and wouldn't really benefit from a perpixel shading language.. Also considering Churches law this point is made mute. Would a faster graphics API, get me more completed units with Seti? No.
I do agree with your comment about MS deception with Farenheit. But didn't we all see this coming?
-J
...
Realtime simulations was one thing OpenGL was designed for. The idea being that you had some really big supercomputer doing the number crunching, while you have a smaller workstation level computer do the graphics rendering. That's why OpenGL works over the network. At least the IRIX versions do, I don't know about the WInNT versions.
I'm sorry, but I can't take any post seriously that purports to give a summary comparison of technologies, but has statements like:
/. posters.
used to be (maybe still is) hard as hell to write for (this may have changed).
So what you're saying is: "I don't know what the hell I'm talking about, I just know what was true 3 years ago."
Well, at least you're honest about it which is more than can be said for some
The GameCube is also by all accounts very easy to develop for. The PS2 is supposedly a nightmare to develop for.
Nintendo claims they sold out of their inital shipment of 700,000 gamecubes. The GameCube uses OpenGL as its rendering library. I'm convinced Sony will use OpenGL in the PS3 (expected in 2-3 years) because there is no way they can use a proprietary API while their two competitors are using PC-compatible APIs. OpenGL has a really bright future.
(pushes glasses up nose)
As Stiletto already noted, Direct3D and OpenGL don't really differ in performance anymore (if they ever did in the first place).
Also, Quake 2 wasn't really Glide *per se*. It was OpenGL that interfaced a custom 3DFX 'MiniGL" driver. Nevertheless, it was coded to use the OpenGL API. (You can still run Quake 2 on an Nvidia card in hardware mode, which obviously wouldn't be possible if the game were truly Glide-based.)
Bill Gates is on the phone, he says he needs you pronto for his afternoon ass kiss.
I dunno - I quite like OpenGL, but for realistic rendering, raytracing is pretty cool... Imagine having HW capable of raytrace-rendering 100s of renderman frames per second, and using that to animate in real time.
Now that would really be cool.
Choice of masters is not freedom.
ok walk into a design shop what do they have some SGI's some NT boxen and a smattering of Mac's for photoshop
what do the SGI's and the NT boxen do ?
they run the CAD tools
where do you think 3DLabs gets it's money from ?
yes that CAD market, now CAD tool vendors actually HAVE to provide versions for evil versions of Unix (HP-UX) so they say
"we need to write a complex graphics product that works on **ix, ***UX and win**** where's that OpenGL docs"
but now they say fsck that they all run with OpenGL extension bob so we shall use bobs features
3DLabs problem is they and many others dont have bob and NVidia until now has kept them propriatry (once ATI offered their extensions free and open to the ARB NVidia changed their minds)
intresting but I wonder how long till silicon ?
regards
john jones
Comment removed based on user account deletion
With a shading language the API is still not leading the hardware ... hardware is pretty much sycnhronized with DX, so to lead it has to surpass DX.
If they had suggested something like a scenegraph API with true surface shaders (no seperation between pixel and vertex shaders) then I would have some confidence in them leading, but they just seem hobbling along a bit. If they are that unambitious they might as well just make a nearly exact but portable copy of the latest DX.
IANAL, but it looks to me very much like the idea here is to take obvious technology that 3dlabs has patented, an make it part of the GL2 spec. This would only allow the use of the technology if you pay your money and implement GL2, and prevent any other graphics implementation from using the technology without licenses.
Here's a concrete example:
3dlabs was recently awarded patent #6,313,845, which looks like it patents any graphics implementation that puts a graphics object buffer on the graphics adapter and only moves the graphics data across the system bus once.
Now go look at the white paper "Minimizing data movement and memory management in OpenGL". In section 4, they describe an API to use exactly this technique. This means that you can't write a driver to take advantage of this hardware feature of theirs unless you either participate in OpenGL or license the ability from them.
Now - Say I manufacture a card that competes with 3dlabs, and say I am part of the OpenGL ARB. It looks like I can build the memory buffer into my card, and use it in the manner described as long as it's for OpenGL. But - I can't use the same one-copy technique for driver support of any other graphics API.
Anyway, that's the way I read it.
And if C goes away, then SDL is completely useless!
As far as OpenGL goes.. Sony did release a crappy kit that has does OpenGL, but it it is only a software driver, that's why no one is using it. If Sony wants to do it right they would have OpenGL implemented in hardware.. imagine tapping into the power of the Emotion engine with simple OpenGL calls
The closest thing OpenGL has is the KTX_BUFFER_REGION extension, but unfortunately that extension's specification is broken; it fails to allow this feature properly because it says that any copy operation can erase data from previous copy operations -- totally freakin stupid.