OpenGL 1.5
Yogijalla writes "SGI and OpenGL ARB just announced
the OpenGL 1.5 specification, introducing support for a new OGL Shading Language. Also, check out the new Java bindings to OpenGL.
OGL 1.5 is a step towards the OGL 2.0, already suggested 2.0 by 3DLabs." Also worth pointing out that OpenML SDK has been released as well.
those editing skills.
OGL 1.5 is a step towards the OGL 2.0, already suggested 2.0 by 3DLabs.
But I'm happy to see that they're finally putting a high-level alternative to the ARB_vertex_program and ARB_fragment_program extensions. I've been dabbling in these extensions and it's been a huge pain. Also just in time for the class I'm teaching next semester.
:)
I wonder when these will become standard (not just as an ARB extension but as an ARB required feature). Hopefully in 2.0? It will save a lot of calls, at the very least--just check the version number of the GL implementation, no more searching extension strings...
Pet peeve: Profane people propagating perfunctory pedantry.
Now I need to buy another video card.
"Non power-of-two Textures"
That's _thee_ key feature Apple needed to do the fully OpenGL desktop, along with a pile of more eligant error handling of course. Glad to see it's now standard.
It also makes the modeling and artist guys much happier. Do you have any idea how hard it is to make everything out of squares?
2.0 should put the last of what we need for the next 5 years into OpenGL, then maybe people can start writing more portable games again.
- Adam L. Beberg - The Cosm Project - http://www.mithral.com/
The shipping date is coming up in a few months for Doom 3. Any ideas on whether it will be using OpenGL 1.5, or is Carmack still intent on pushing the industry forward by implementing draft standards?
http://www.khronos.org/openml/sdk/linux_requirem ents.html
Id really like to try this OpenML SDK, but it seems you are requered to enter your phone number - now why is that??
- What still remains before we can say OpenGL is back toward its original goal (you write for one standard instead of having to write for every single little card driver, something kind of ruined by the fact that many things these days, every card uses a different opengl "extention" to do the exact same goal.)
- What still remains that DirectX excels at that OpenGL is lagging behind at
- What of the things in the above two lists will be fixed by OpenGL 2.0, when/if it is adopted.
who can I turn to? 867-5309
Apropos to the recent Perl 6 announcement I'll just go ahead and mention the perl interface as well. Wouldn't want anybody to forget.
Anybody checked out the OpenGL Shader Language? Is it like HLSL (same syntax as Cg)? I've been learning Cg, and I have to say that I like it... I'm kinda hoping developers will standardize on Cg.
"OpenGL is the premier environment for developing portable, interactive 2D and 3D graphics applications. Since its introduction in 1992, OpenGL has become the industry's most widely used and supported 2D and 3D graphics application programming interface (API), bringing thousands of applications to a wide variety of computer platforms. OpenGL fosters innovation and speeds application development by incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. Developers can leverage the power of OpenGL across all popular desktop and workstation platforms, ensuring wide application deployment.
" - www.opengl.org
And as an additional note, you need an OpenGL driver specifically for your gfx card to take advantage of the hardware acceleration it can do. An OpenGL implementation in software is provided by e.g. Mesa - http://www.mesa3d.org/
This is good news, but I should point out the OpenGL 1.5 spec is not at this moment available yet, it's only been announced. Hopefully it will be available with some headers and implementations Real Soon Now (tm). I know the past few ATI Catalyst drivers have had experimental glslang extensions in them... Of course, it'd be nice if Microsoft would update their implementation such that OpenGL on Windows could make use of this without going through extensions, but I'm not holding my breath, nor is it really a huge issue.
The OpenML SDK is an alpha release and the final spec for it won't be out until about this time next year.
However, the Khronos Group also released the OpenGL ES spec and there's actually a couple implementations already available. OpenGL ES is for embedded systems and mobile devices, it's essentially just a subset of OpenGL. Seems like it might be pretty nifty...
Granted, OpenGL 1.5, with improved programmable shader support is indeed a step toward OpenGL 2.0, it is really a fairly minor evolutionary step.
When OpenGL 1.0 was initially proposed, it provided a standard implementation for fixed pipeline segments (with the idea that individual implementations could selectively choose which pieces of the pipe would be implemented in software, and which would be implemented in hardware). This was a very significant development, as it meant that everyone could operate with the same set of rules, and could do the same things, but those without hardware support may suffer some performance penalties (of course, with modern CPUs, some of the stages in the pipeline can have very high-perf implementations in software).
Since then, the rules have changed significantly. Hardware developers have started to suggest that the behaviour of the individual components of the pipeline could be programmable. NVidia and ATI have already responded to this, providing a wide variety of programmable shader technologies (e.g. programmable vertex and pixel shaders). I understand that OpenGL 1.5 essentially brings this level of programmability up to current levels (I think that DirectX 9.0 does the same thing, but I would love for someone to correct me on this. I haven't touched DirectX in a while, so I'm a little rusty. In fact, at the pace that hardware is evolving, I'm actually very rusty, and likely collapsing due to decay.) OpenGL 2.0 extends this idea of programmability to every stage of the pipeline. For most current video cards, this means that a lot of that programmability has to be implemented in software (which is essentially what people are doing anyway. If you want to implement programmable textures, you write software that interfaces with your video card's static texture routines.) 3DLabs is hoping to turn the computer graphics world on its ear by providing almost completely programmable graphics cards. Nearly every stage of the pipeline should be programmable in hardware. Of course, we will have to wait to see what they deliver, but I imagine that even if their cards suck ass in terms of performance (or they'll be targetted to the super high-end, so most of us will never see them), they should offer some features that will force some new developments from ATI and NVidia, which will eventually make their way down to regular consumers.
It's good that OpenGL 1.5 is out, to help keep OpenGL on the map of standards (especially since DirectX is a really inconvenient standard for those of us who don't run Windows), but I'm still pretty psyched for the release of OpenGL 2.0, w00t!
IFAICR, nobody has been able to do work on programmable hardware shader support for DRI (because of IP issues on some GL_ARB_Vertex* extensions). Is the new shader language similarily problematic?
No doubt, my knowledge of 3D APIs and hardware is pathetic; however, what exactly do you mean by "fully OpenGL desktop"?
I thought Apple's intentions were to give users a postscript desktop. OpenGL is simply a window to unused 3D hardware that could be used in place of an expensive proprietary postscript coprocessor (ie; like those old NExT cubes).
Isn't quartz extreme no more than an openGL wrapper?
"Things are more moderner than before- bigger, and yet smaller- it's computers-- San Dimas High School football RULES!"
I've heard the comments before that Direct3D/Quickdraw3D are "high-level" standards, and OpenGL is a "low level" standard-- i.e., OpenGL is largely primitive things, meaning developers must implement a bit more engine on their own; Direct3D tries to bring in the programmer at the higher level but limits them if their needs don't exactly fit that of Direct3D. Is that an accurate portrayal?
What I always wondered is why the OpenGL people don't promote a two-level standard; the low-level is OpenGL as it exists now, the second level of the standard would be optional. and consist of the kinds of things that Direct3D/Quickdraw3D would have offered, higher level things. The second-level standard would be implemented on *top* of the first level standard, meaning it would be as portable as the base is and not provide a roadblock to changes in creating new opengl versions. Something like Mesa.
Is this an attractive idea, or do the present existence of third-party libraries that sit on top of opengl make such an idea irrelivant? Even if so, it seems a "standard" higher-level library for opengl could take out one of the big complaints of Direct3D programmers ("OpenGL is too much work!")
Let me know if anything i've said here is wrong; I've followed the Direct3D/OpenGL argument but have personally done nothing more complex than some simple GLUT applications. (And I didn't even get enough into GLUT to see to what extent it functions as a higher-level 'cover' API for OpenGL..)
ID is already doing amazing shit with OpenGL, will this be something that helps a game like D3 do more or do the same thing faster?
- What still remains before we can say OpenGL is back toward its original goal (you write for one standard instead of having to write for every single little card driver, something kind of ruined by the fact that many things these days, every card uses a different opengl "extention" to do the exact same goal.)
- What still remains that DirectX excels at that OpenGL is lagging behind at
I don't think pt.1 has really been lost, unless you are doing really cutting edge stuff you can use OpenGL pretty happily as is. Many scientific applications are actually coded to Performer which works just fine on OpenGL 1.0. I've written lots of stuff, some just a couple years ago, that used plain immediate mode OGL 1.0, with a switch added later on for vertex arrays.
What remains is the vertex and pixel shaders, these will be in 2.0. They are already pretty much supported with the nv FX and I guess the 3D Labs card. I haven't been programming the ATI card, though many have for it's speed advantage, but from what I understand it doesn't quite live up to the requirements of 2.0. Also I think 3D Labs is pressing for infinite length programs, this can be implemented in the driver by simply compiling to multiple passes implicitly, though who knows about the performance. But the nv would handily beat the ATI if you do this because it can natively handle pretty long instruction streams. Unless this is already a driver trick, I dunno.
2.0 will almost certainly wait until ATI is ready on the hardware level at least. If you program to extensions...OpenGL is ahead of Direct X, but this means you are stuck with the vendor if you use their specific stuff, say using fp30 Cg on the FX. I think everyone pretty much does program to extensions and not the standard if they are doing cutting edge stuff, usually with a compile or run-time code switch based on the extensions present.
It's great to see that the Java bindings will become "official". Anyone who messed around with Java3D knows why this is a good thing.
I'd much prefer to see Sun/SGI base their work on GL4Java (www.jausoft.com/gl4java) than starting from scratch all over again. The industry needs this now and needs it fast. Microsoft has already got DX9 bindings for .NET months ago, but Sun/SGI has only announced it -now-? GL4Java, which is open-source, has been around for a long time and is pretty mature. It has survived the competition from commercial offerings like Magician (which is now dead). In fact, last year, SGI (or was it Sun?) used a customized version of GL4Java to show off the new NIO features of Java, rendering a 300MB+ terrain dataset in real-time. The speed at which Sun/JCP develops Java, and the speed at which SGI/ARB develops OpenGL, is a shame, let's hope they change this tradition this time!
www.rexguo.com - Technologist + Designer
Sure, if you already HAVE a fancy-schmancy GeForceFX/Radeon 9500+ level card. For previous-generation hardware, you might get very simple shaders to work, but for more complex shaders that require looping, data-dependant branching, overbright float pixels etc, you're still gonna need new hardware :-) Even earlier hardware, well, tough - you might get vertex shaders if you're lucky.
Now if the cards can accept the high-level language itself...
No chance :-) It's difficult enough to decode the time-encrusted x86 instruction set for efficient hardware execution by a flexible CPU. It'd be a helluva lot harder to decode modern, high level, arbitrary-syntax code for execution on a much less flexible, highly parallely & extremely specialised GPU...
Why would anyone engrave "Elbereth"?
GL4Java is great, but i never understand why those people never did a JCP! By the way Java3D is ready and working for years ;-) Ok, it is not suitable for gaming but it is just a wonder to prevent 3D headaches.
.... that f**ked up the VB users and all the MS legacy skills :o)
Looking at how few people get interrest in the multimillions buck And the MS.net FUD, no one realy fear the MS "wonderland platform" as a replacement of Java or C/C++, anymore.
Just a big costy joke from MS again
Glad to see SGI back in the place on OpenGL anyway !
SLK
All I remember about it is that cool poster of flames on the water or something.
Now we have OpenGL and OpenML. It seems nobody picked up OpenAL when Loki left the building.
Do Linux game developers (or anyone at all) use OpenAL nowadays for environmental sound effects? Is it any good in its present state? It seems the website www.openal.org hasn't been updated since 2002. Well, most of the stuff seems to be from 2001...
STFW
Google is a wonderful thing
my sig could kick your sig's arse...
Related to this topic, I would like to know if I can run OpenGL programs on one of my thin clients over X, i.e. what hardware and software is required?
I know that people have done this with SGI kit, but most commodity X drivers don't seem to support remote OpenGL and there is precious little information around.
Has anyone tried this?
- Brian
Sun announced full Open[GL,AL] support here:
http://games-core.dev.java.net/
Here's a great example of using OpenGL/OpenAL under Win32/Linux written in Java.
(It uses the LWJGL - which is an OpenGL/OpenAL Java wrapper that uses nio).
http://www.puppygames.net/
Schedule your world with ScheduleWorld.com http://www.ScheduleWorld.com/ (Java Web Startable)
Microsoft rushed ahead with Direct3D in the mid 1990s, made lots of well-publicized mistakes early on because of a general lack of 3D knowledge, then nailed it starting with the graphics side of DirectX 8. The next version, DirectX 9 is a dead-on match for what's generally considered the state of the art in PC video cards. Microsoft isn't even planning DirectX 10, because DX9 is still way beyond what most people need or use (well, that, and the overall decline of the the PC video market). And, believe it or not, DX9 is a breeze to use and has a well-designed API (once you get over the usual COM nonsense that comes with DX in general). Meanwhile, OpenGL, which I'll admit was much better designed from day 1, is going to reach the DX9 level in about five years, if things keep going as they are.
In it, it makes no mention of Java3d, which is a scene graph API with bindings to OpenGL or Direct3d. Is this announcement going to be a thin binding, or a new version of Java3d? Or will it replace Java3d?
:)
Inquiring minds want to know!
"Times have not become more violent. They have just become more televised."
-Marilyn Manson
...DirectX is already up to 9!
-Looking for a job as a materials chemist or multivariat
I notice the same thing happens everytime news is released about OpenGL or DirectX. Basically, it becomes a bash fest where one camp supports one API, and the other camp supports the other API. I've used both, and both have there merits ( well... Since Direct3D 7, they have... before that, D3D basically stunk). Now is a good time to bemoan what could have been.
Anyone remember Fahrenheit? The collabrative effort between SGI and Microsoft to redesign both API's, into a new, leaner more capable common api? Fahrenheit was to provide, a low level API, plus a scene graph api, plus a large model set api aswell. No more bitching... no more choose this, or choose that... no more being tied to one platform ( if you chose to use DX that is ).
Too bad... perhaps it would have all finally had a taste of world peace. RIP Fahrenheit, Ill miss what you could have been!
Ok... now back to the Direct3D vs OpenGL bashfest!
TimeZone
As a rule of thumb, when comparing Windows versions to non-proprietary alternatives, 9.0 2.0
The easy way around that limitation is to have the artist draw the texture however he wants in any size and then have the coder stretch it into a best fit square. For instance if you have a 640x480 texture you can simply use Photoshop or whatever to set the image size to 512x512. For older cards you can have a second version shrunk to 256x256.
OpenGL and DirectX use 0.0-1.0 coordinates so it has no effect on the output (as far as the texture being mapped where it's supposed to be) as long as you don't crop the image.
Ben
Work Safe Porn
I'll assume slashdot ate your "less than" operator. Hey slashdot, can we please use angle brackets that aren't HTML tags?
-Looking for a job as a materials chemist or multivariat
Here is some more info on the Java bindings.
OGL 1.5 is a step towards the OGL 2.0, already suggested 2.0 by 3DLabs.
A suggestion 2.0 is a suggestion you can't refuse.
Not to bring "your" down, but they'll release a
playable beta version that we'll have for FREE
for a long damn time like they always do. Are you
old enough to remember when Quake3 Demo was the
most popular game on the net? If wasn't even a full
game. Nobody paid for it. They will do the exact
same thing with Doom3. Rumor has it they are
releasing the first multiplayer Doom3 demo next
month at quakecon. Considering they have already
announced they will be having Doom3 deathmatch
at quakecon, this rumor is probably close to the
truth.
For every annoying gentoo user, are three even more annoying anti-gentoo crybabies. Take Yosh from #Gimp for example.
JK 2 used openal. I downloaded Creative's EAX optimized openal.dll and installed it in the JK2 directory in place of their standard dll. It was sweet.
3Dlabs has an implementation of the OpenGL Shading Language available NOW that will run on all Wildcat VP cards.
On the 3Dlabs website are drivers, specs, an SDK and an open-source frontend for the Shading Language compiler.