The State of OpenGL
CowboyRobot writes "No longer vapor, but a true 3D-embedded engine, OpenGL is on the move. Pixar and others would love to be able to render their movies in realtime, and that desire has prompted the intended release of OpenGL 2.0, due in a few months. Khronos is now in charge of further extending OpenGL to cellphones and handheld gaming devices."
Pixar and others would love to be able to render their movies in realtime,
Ummmm......Pixlet.
Visit Jonesblog and say hello.
Once again, Microsoft rules. They really are the most innovative and resilient software companies in the world.
Yay, I get to play around with 2x2 pixel rendered characters on the cell now.
... it can do its own shadows! Innovation!
When will they figure it out OpenGL is not necessarily desirable in a cellular phone?
I want business class reliability, not a the ability to rent subpar games on my cell phone for $5/month.
When I'm on the phone all day because of my work I want it to be there for important calls, not fizzle out after an hour because it's got a 640x480 pixel screen with 24-bit color.
Although right now OpenGL is all that's out there for low-cost portable embedded 3D software, no one is going to develop with it until hardware support emerges. Who wants a handheld 3D mapping device that takes 10 seconds to redraw a frame using an ARM9 software renderer?
What about the ability to stick to-do notes on the BACK of your cellphone? Wouldn't that make mobile 3D worthwhile?!
Don't call me a cowboy, and don't tell me to slow down!
For so long, DirectX had to struggle and claw to keep up with OpenGL - they did just that, while OpenGL sat mainly idle (well, John Carmack was a big help to it)... Now it seems the shoe is on the other foot, and OpenGL is going to have to move deftly to surpass DX9, and soon enough 10...
I sincerely hope it happens. I wish developers felt more inclinded to make their 3D engined GL based rather than DX based, so the day where I can play any game in linux may actually arrive. Of course, we have to give massive amounts of respect to those who do make OpenGL platforms for their games (ID, Epic), but what about those who feel DX is easier and more practical for what they do(Valve).
Maybe if we're lucky, the Carmack will drop in to this discussion and tell us exactly what he thinks needs to happen to really make GL a reality for most gamaes again.
"Touch one hair on her head and I'll render you limb from limb!"
And how exactly is rewriting your code to use new OpenGL extensions all that different from rewriting your code to use the newer version of DirectX? Its not, aside from the fact the extension docs are usually utterly horrible, and the DirectX docs are very good. I guess in your magical world you don't have to upgraded your video card to get new hardware features in OpenGL too. bah
Hopefully, this will prompt more developers to join efforts to create a feature rich gaming framework for *nix. SDL is a great start, but lags behind DirectX in a number of ways. I look forward to seeing this 2.0 release breathe new life/blood into this area of development.
Thank you for your time,
BBH
OpenGL is used in the Torque engine alongside Direct3D (D3D on Windows, OpenGL on Mac and Linux). It would be great if OpenGL could eclipse Direct3D, and become the premiere 3D platform once again. Perhaps we will see this with the release of OpenGL 2.0, but for a few years Direct3D has been slowly but surely catching up and then surpassing the aging OpenGL standard.
A lot of our customers demand Linux in their solutions (networked gaming terminals) to avoid the cost of licensing Windows XP Embedded for each machine, and the option so far has been to go the Mesa/OpenGL/SDL route (WineX is still too slow for what we do), which, while it has worked, is technically slightly inferior to our Windows equivalents. Hopefully OpenGL 2.0 will change this.
Mod parent down (Further)
There is no relationship between the release of graphics libararies and the requirement to purchase video cards.
~D
This sig has been enciphered with a one-time pad. It could say almost anything.
I'm going to learn opengl in a few months during the holidays before I start my PhD. I work with simulations of the Sun and use IDL to visualise the results. but I think it would be cool to have more "realistic" pictures, plus having the hardware acceleration has benefits when dealing with a lot of data (IDL gets real slow for 2D simulations at resolutions above a few hundred squared)
these simulations are done on beowulf clusters (imagine that!) so I think opengl is the best (the only other API I know of being directx)
As a Gentoo user I am allready running OpenGL2, I compiled it overnight ;-)
Bush and Blair ate my sig!
Say what?
You don't get much higher-level than a scenegraph API like Java3D.
I think the author may have been confused, although he did get the overall point right. OpenGL ES on J2ME will probably be the way this goes.
FUNK!
OpenGL 2.0 is not as exciting as the new major version number might indicate. Probably the most important new feature of OpenGL 2.0 was going to be the GLSL high level shader language. However, in order to speed up its support by hardware companies, this was instead put into OpenGL 1.5 spec when it was announced last year; GLSL already has implementations by 3DLabs, ATi and nVidia. OpenGL 2.0 will still add some useful new features, but it won't be the world-shattering event that 3DLabs promised in their original proposals.
what about games that say they need DirectX9 to play... wouldn't you have to buy that video card that supports directx9?
I'm glad this guy is an EE, since he doesn't seem to know wtf he's talking about in _software_ engineering terms. You can't compare DirectX and OpenGL. He's trying to say D3D is a better solution just because it's bundled with DirectX which is tied to Microsoft's IDE. If you want to only do WIN32 development, then sure DX is fine. However consider there is only one game console that uses D3D, and we all know how big a market share it has. Sure not all Playstation 2 titles use an OpenGL based engine, but many do. Where as all gamecube titles use nGL on ATI GPUs. Also if you want to bother to port your application to Linux or Mac OS you must use OpenGL. ( 64bit platforms are nice for addressing more memory for those models. Would you rather run Maya for example with more or less memory? )
I'm so sick of DX vs GL for PCs over the years too. They don't do the same thing. This is why Sam started SDL, and several vendors are making similar frameworks. I admit OGL doesn't support all the wiz, bang features in core. However if you really want performance, then using the vendor EXT ( extentions ) are the only way to go anyhow.
Jan 16th 2002: SGI transfers 3D graphics patents to MS
Jul 09th 2002: Microsoft Claims IP Rights on Portions of OpenGL
Jul 11th 2002: 3D graphics world shaken by patent claims
Jul 13th 2002: Microsoft patent claims may affect OpenGL
Mar 3rd 2003: Microsoft quits OpenGL board
The current handheld devices are not suitable for 2D/3D graphics, because their memory bandwidth is so poor that texturemapping will make the software crawl. I'd get excited when the mobile devices get real 3D hardware acceleration. Even a 400MHz XScale doesn't cut the mustard if it spends its time waiting for the memory. Have been using OpenGL ES for over six months now...
Actually that's not true. Currently new video cards have to support the features the latest version of DirectX (or more specifically Direct3D) if they want to be called DirectX 9.0 video cards. Because of the way Microsoft specifies the requirements and hardware vendors have to meet them, new releases of DirectX very much dictate the type of video card you need if you want to play the latest games.
New releases of OpenGL also require new video cards. If you want to play a game that requires OpenGL 1.4 or 1.5 then you'd better have an ATi 9500 or better. ARB_fragment_program, ARB_vertex_program and the new GLSL extensions aren't supported on anything older.
My cousin's husband works for Sun and he said that the next version (1.5?) of Java will have Swing ported to OpenGL underpinnings... that way, even 2D apps will be MUCH faster.
He said they're realizing 4X speed increases on plain old 2D apps.
They're also working on making 3D game demos (some with 3rd parties) to demo that Java can actually now compete in the desktop game market...
---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
That's technically true, but useless information. There IS a strong relationship between the release of graphics libraries THAT YOU'D ACTUALLY LIKE TO USE - and the requirement to purchase video cards that are capable of running them.
You aren't going to be able to run GLSL (a crucial part of OpenGL 2.0) at anything like realtime rates without a graphics card that's less than a year old.
It is no longer the case that the graphics cards are chasing the graphics standards. The reality is that one or other of the two remaining 'mainstream' graphics card vendors comes out with a feature - and that feature is immediately added to the two remaining 'mainstream' graphics API's.
www.sjbaker.org
in the story. Next time read it before you post an article. Doh!
Name one PS2 game that uses OpenGL.
Most frames in Pixar movies are rendered using some form of ray-tracing. While it is possible to use vertex and fragment shaders in uncoventional ways to do ray tracing, this is *not* what the OpenGL pipeline is designed for. Great for games, but ray-tracing will still be done using render farms (and not in real time).
OpenGL has been languishing for years. It's about freaking time they gave the spec a nice big update. I'm a mac guy, but I have to admit that DirectX has a much better level of optimization than OpenGL does. Hopefully this new spec will make it's way into Mac OS 10.4 and give Macs a much needed boost in the graphics arena.
No longer vapor, but a true 3D-embedded engine...
Since when has OpenGL been vapor?
Which could be your target as a glowing orb, or a character in of a video game super-imposed on the actual landscape, or the trail your friend took through the same city two years ago, or just some construct representing an interesting thing about your environment, or ...
I think that would be a real killer app.
For one, direct3d is integrated into the direct api which handles a multitude of things, multimedia and game input devices among others, that game developers are almost naturally drawn to by the appeal that so much work has already been done for them
OpenGL can't and really shouldn't have to address all these requirements, but it's just part of why there's been this ongoing struggle. SDL is a reasonable answer to portability while still accomplishing the integration that MS has achieved, but SDL isn't really as mainstream as OpenGL is.
I've seen soap opera plots that were less convoluted than this mess.
File under 'M' for 'Manic ranting'
I admit that the idea of playing crippled games on a cell phone isn't attractive.
On the other hand, the user interface on small embedded devices could be improved. I suspect that decent graphics could be part of the solution.
The current user interface is sort of comparable to where computers were in 1980. For instance, my wife's cell phone has quite powerful features and she uses them skillfully. I, on the other hand, have only managed to answer incoming calls.
I also agree that a skillful operator doesn't need a fancy user interface. I spend most of my working time on the command line unless I'm doing graphics. I do things (find a five year old file in a tarball, for instance) on a regular basis that my wife and daughter might want to do once a month or once a year. If I get stuck, I dredge through man pages. When they get stuck, they get rescued by context sensitive help. My point is that, for most users, an unfriendly interface stops them cold and a friendlier interface lets them muddle through.
I don't know exactly what form the interface will take. I like the idea of a palm top device that totally takes the place of a secretary. Totally voice activated and able to deal with ambiguity.
"Computer"
"Yes sir"
"Dial my mother-in-law"
"She's not speaking to you. I suggest that you let me order her some roses."
etc.
I really love it when shills post things like this. Can we please see some documented facts to back any of this up?
Innovative? They didn't do jack with 3D until OpenGL came along and showed them how. They had to buy it from SGI. This has been documented.
Resilient? Dictionary.com defines this as "Marked by the ability to recover readily, as from misfortune." This is actually true, as they were behind, and had to play catch-up. 10 years later, they have caught up with (and arguably surpassed) a technology that has changed very little. Until now.
If this is what defines one who "rules," I'd rather that MSFT "rules" while other companies and organizations just make better stuff.
Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
The original article post seems to confuse different forms of OpenGL. OpenGL|ES is the embeded stripped down OpenGL for mobile & embeded systems. OpenGL 2.0 is just a proposal from 3DLabs and may never get off the drawing board. Most of the significant changes that OpenGL 2.0 introduced have been implemented and released either as extensions or as part of OpenGL 1.5, so it's just not clear if or when OpenGL 2.0 will actually arrive, there's a lot of resistance because 2.0 intended to throw some stuff out and many developing, selling & using OpenGL implementations think that it's a REALLY bad idea to do that. With OpenGL|ES there is already a version 1.0 and you can actually get this in several forms from implementations that run on phones to wrappers around OpenGL that you can use on the desktop to emulate OpenGL|ES. OpenGL|ES is in the process of developing version 1.1 right now.
I don't think he meant low-level as in programming. I think he meant low-level as in "pathetic".
------- "From bored to fanboy in 3.8 asian girls" ----------
I think you ...failed it.
p.s. never post article as anything but Anonymous Coward...otherwise you'll look like a whore in a cheap suit.. oh wait
The article says that the programmable features will be based the direct-compile model in which the compiler will be included as part of the driver.
:-(
Given the current less than good state of open source drivers for graphics chips this may well mean that most of the useful (i.e. works with your hardware) compilers may only be available in the Linux world as part of tainted binary drivers. It seems pretty likely that vendors who believe that their current drivers contain deep secrets than open source would reveal to their competition will be even more convinced of deep secrets of their compiler technology.
Not good news
In markets where Microsoft is truly inferior, they dominate. What chance has OpenGL in the games market where DirectX is actually superior?
How come the kronos.org site doesn't have any links to the opengl embedded source. The have all this market speak about how it's 'free and cross-platform' and 'here is the api' blah blah, blah; but when it comes down to it THERE ISN'T a single link to any source.
I know you can apt-get opengl libraries, but do these guys have a closed source fork? Doesn't anyone know the relationship between kronos and opengl?
The complaint made about Java3D, and why Java-OpenGL bindings like JOGL or GL4Java even *exist*, is that Java3D is too *high* level. It's a scenegraph API, not a low-level graphics API. Is OpenGL ES a similar thing? I had presumed that if it's aimed for the embedded market, ES would be pretty low level. Thus how in the world can ES be considered "higher level" than Java3D?
2004 will see the first handheld devices using the same 3D technology that powered the Dreamcast gaming console.
Of course nVidia and ATI and others are also going to release 3d for mobile phones.
In the last video game generation people were shocked at the unbeliveable power the consoles had. The n64 featured an advanced 64bit 100MHz MIPS RS4?00 chip with SGI level 3d graphics designed by SGI for $200. Only a few years before that a slower 32bit 33Mhz MIPS 3000 chip with worse graphics would've cost many thousands of dollars. Just wait a couple years and we'll have $20 watches with gigs of memory to replace our iPods and more power than the xbox ;)
Actually, an application (OpenGL is used for much more than games, unlike D3D) may request OpenGL 1.4 or 1.5 just to get a cleaner API, and avoid the use of old extensions. For example, multitexturing is present in many cards, yet it's an extension in older versions of the OpenGL standard. If an application requires multitexturing, no point in coding it as an extension, is there?
Newer versions of OpenGL usually integrate previously existing extensions.
Oh, and newer versions of D3D are rumoured to include the extensions mechanism... what's a decade or two to copy a feature? MS has no originality left...
As TD who works in the computer graphics field, let me state that the technology required to render a Pixar film in 'Real Time' is far off and ridiculous. Just because OpenGL looks better does not mean that it can support the shader functions that Renderman utilizes, not to mention the Fur and cloth APIs. Also, the majority of shots in movies aren't even single comp shots they involve many rendered elements, which you still have to comp together. I'd be all for the guy talking about how OpenGL 2.0 will benefit the artists by allowing them to get more feedback about the quality of the shot they're working on without preview renders, but thinking that OGL could replace final renders any time soon is wrong. Perhaps we are geting to a place where we could render the original Toy Story realtime and a general viewing audience might not know the difference. Perhaps. But I remember some really great PRman shaders from the film that wouldn't be posible in the real time version.
In a just a couple generations Pixar will use render farms of GPUs on the PCI Express bus and the CPU won't matter. In a couple years high end video games will look just as good to the eyes of many people as movies like Shrek.
OpenGL was dying.
I guess he based that on the fact that the transition from Half-Life to Unreal Tournament was a transition from OpenGL to D3D. Whatever. DirectX can bite me. OpenGL has fucking PIXAR working on it.
"nGL"? I'm sure that would be news to a gamecube developer!
The key here is: 'something that can be used real time.', it's not a PRman implimentation, it is merely a front end to give the artist some visual feedback as to the prman shader on the object. It renders and changes a UV baked raster image of the shader.
As for the Final Fantasy thing. I saw that at siggraph running on SMP PS2's. It's 'alright', but it didn't look a whole lot like the film, it looked like an OGL render of the film.
What you aren't understanding are the fundamental differences between scan line renderers, ray trace renderers, and real-time technology. Real-time can only 'fake' ray tracing, and it's not very accurate or good. Like I said, we are a long way off.
And don't jump up and down, some people have real-time SSS, radiosity, and raytrace demos, but they are very crude, and a long way off.
And sure, you can tweak a movie scene down to get it to look good and run on a next gen card when presented on a vid online or TV, but we're talking about film.
wow, is myopic the new buzzword for slashdot posts? I've been spotting it frequently.
Slashdot: news for opticians. stuff that matters.
"Over the next year or two, I think you're going to see a whole range of applications that use your graphics board as a supercomputer," Trevett says enthusiastically.
was the most interesting part of the article?
SETI@home, Finite Element Analysis, video recoding are all areas which could benefit from vector processing , matrix calculation and/or huge register sizes provided by GPUs.
Boy was that post short-sighted and self-focused.
This is actually one of the wonders of the way 3d cards are structured. Different graphics cards have different capabilities... Say you buy a card that's DirectX 8 compatible, and bump-mapping comes out in DirectX 9...
You computer must have DirectX 9 library installed, so it knows what to do with the bump mapping instructions, and send the right signals to your card.
The card, on the other hand, is still DirectX 8. Your computer will never send the bump-mapping commands to the card, because it knows the capabilities of the card.
So long as your computer has the right library, it knows what commands it can, and cannot, send to the 3d card. So, while the game requires DirectX 9, you can run it on a DirectX 8 card... You just won't get all of the latest bells and whistles.
It is possible to write software to quit if certain features are not supported. Generally, though, that's pretty rare, because every time you do that, you reduce your potential market.
~D
This sig has been enciphered with a one-time pad. It could say almost anything.
Sure, if you want to be a DirectX 9.0 video card, then you have to implement the 9.0 specification. However, it is possible to run applications that require the 9.0 library on an 8.0 card so long as DirectX 9.0 is installed on the machine. In almost all cases you just won't get all the new 9.0 features (Such as bump-mapping).
Just because Microsoft comes out with a new version of DirectX, doesn't mean you have to get the latest card. So long as you upgrade your PC to the 9.0 spec, you should be able to run almost all programs well, just without some of the bells and whistles.
~D
This sig has been enciphered with a one-time pad. It could say almost anything.
> I guess he based that on the fact that the transition from Half-Life to Unreal Tournament was a transition from OpenGL to D3D.
Yes, but did that transition occur because D3D was better, in terms of technology and economics?
Or was there, perhaps, an outside influence tipping the economic scale...
Microsoft eyeing Vivendi unit?
Has Microsoft bought Vivendi Games?
Microsoft / Vivendi rumours gather steam
I don't know if the purchase actually took place, but they were talking, and Vivendi was deeply in debt, and Microsoft had lots of monopoly-generated cash. I think it's safe to assume that some sort of payoff occurred.
It is also widely believed that when Microsoft joined the OpenGL committee, it was for the purpose of sabotaging, and slowing down the technology.
That last bit is easy to believe, because it's the normal way that Microsoft operates. For example, consider these tidbits from the DOJ case Findings of Fact:
Microsoft's Jim Allchin, in a note to Gates:
> "I am positive that we must do a direct attack on Sun (and probably Oracle).... Between ourselves and our partners, we can certainly hurt their (certainly Sun's) revenue base.... We need to get Intel to help us."
Microsoft's Eric Engstrom describes Microsoft's goal as:
> "Intel to stop helping Sun create Java Multimedia APIs, especially ones that run well (ie native implementations) on Windows."
And Engstrom's proposed agreement with Intel:
> Microsoft would incorporate into the Windows API set any multimedia interfaces that Intel agreed to NOT help Sun incorporate into the Java class libraries. [emphasis/caps added]
So there you have a clear example of Microsoft using threats to sabotage open multimedia support.
If we want the PC to remain open (let alone the Internet), then we have to support technologies that don't come from Microsoft. In this case, it means supporting OpenGL, which is not hard to do, because it's a great technology.
Why is this redundant? My browser doesn't show the content at the site.
What's in their HTML?
If/when linux makes more significant inroads into the desktop market, then games will follow. These games will require OpenGL ...
Linux gamers do not need native Linux games or OpenGL based games. The majority of Linux gamers play Win32 games via dual booting or emulation. It is far more likely that emulation via WineX will continue to improve and become a very robust and reliable way to run Win32 games. Native Linux games will not be needed from a developers perspective. Keep in mind that getting a Linux gamer to buy a Linux version rather than a Win32 version does nothing for the developer. The only money to be made is from Linux gamers who refuse to dual boot or emulate and that is not enough to financially justify a full native and supported Linux version.
The good thing is that it is Nvidia, who do the best OpenGL implementations around.
that people forgot about 3Dfx Glide? :)
I use to be indecisive, but now I'm not so sure.
d2004xx!~d2004xx!~d2004xx!~d2004xx!~d2004xx!~d2004 xx!~d2004xx!~d2004xx!~d2004xx!~
--
Your GOD in 2004
Errrr... oh, I get it! You'd be searching for stuff? (-:
Got time? Spend some of it coding or testing
...the hey-you-forgot-the-batteries jokes.
Got time? Spend some of it coding or testing
Java isn't the only way to abstract either your graphics interface or endianness. There are much more efficient ways of doing both. If I was using an abstract language for my cellphone, I'd prefer something like Ruby.
Amongst other benefits, including much faster coding/debugging and better reusability, Sun's newfound cameraderie with Microsoft would then pose no risk to the future of my mobile 'phone code. Sun want to both have their cake and eat it, which is not a sustainable model of reality. Microsoft's view is much simpler: they want your piece of the cake, now, or they'll bury you in lobbyists and lawyers. It suits them to leave Scott's delusions intact.
Ruby, I might add, integrates with Java and you can even compile Ruby to Java bytecode if you like. This gives you a choice of JRE or native target. Ooh, let me think, which language would I rather use?
Got time? Spend some of it coding or testing
...it'll just be ordering it for you. And because it uses DRM, there will be no plausible deniability for you.
Got time? Spend some of it coding or testing