3D Labs Proposes OpenGL 2.0 To Kick DirectX 196
furiousgreencloud writes "3Dlabs is trying to drive the graphics interface away from hardware specific extentions, as seen in DirectX. Instead, they are proposing an open (no NDA) dialog on OpenGL 2.0. The guidelines mention good-ol-fashioned platform independence (linux included) and emphasis on programmability, time control and memory managemenmt. They've got a PDF availible for consumption."
Nvidia makes games eventually. (Score:3, Interesting)
Re:Nvidia makes games eventually. (Score:1)
Re:Nvidia makes games eventually. (Score:4, Funny)
Re:Nvidia makes games eventually. (Score:1)
Re:Nvidia makes games eventually. (Score:1)
Re:Nvidia makes games eventually. (Score:4, Insightful)
No, I don't. The culture at NVIDIA comes mainly from an SGI background, so OpenGL is something of a religion there. Further, unlike some companies, NVIDIA seems to understand the positive feedback effect of open APIs (just not Open Source, yet).
So, NVIDIA will have to be content with the current situation: "It runs at 30 FPS on the Radeon, but at 80 FPS on a Geforce 3!". ;-)
--- Example: ... "It's the hottest game of the year and they don't take ATI." (Sung to the toon of a Visa comercial. It's in Nvidias best intrest to make this happen. Tho maybe not in the markets best interest.
The current (OpenGL) situation is one where vendor-specific extensions are used to expose advanced functionality (shaders primarily). This means diffent paths through large portions of OpenGL based rendering engines. This is actually closer to 'NVIDIA specific' games, but NVIDIA knows that ISVs will just migrate to Direct3D where those features are properly abstracted. DirectX 8.0 has incorporated these features into the base API (and NVIDIA is just another player there, although it had a hand in defining the spec - just as it will with OpenGL 2.0).
OpenGL faces losing many ISVs unless there are standard ways to access these features. THAT is the motivation behind OpenGL 2.0. If you want strong, cross-platform 3D capabilities, do whatever you can to support OpenGL. OpenGL 2.0 looks like a great evolutionary improvement, and should continue to spank Direct3D in most respects. It certainly will in the area of Linux support. ;-)
If you're interested in OpenGL programming, there are many great resources on the web, including the The Official OpenGL Site [opengl.org] and The OpenGL GameDev Mailing List [geocities.com].
299,792,458 m/s...not just a good idea, its the law!
Re:Nvidia makes games eventually. (Score:1)
if you've ever written code for it, the nvidia is sweet - and they rock with opengl and directx, so I'm not entirely sure why they would then close all that down all for their own stuff. nothing points in that direction now.
slashdot has plenty of conspiracy theorists on it, that is for sure.
*I* wouldn't support a video monopoly... (Score:1)
The market has made much more money by being open and allowing competition than by using APIs meant for one system
Or are you still using S3 MeTaL?(I'm not)
One other thing to notice is that Nvidia made their fortune my making a video card *without a specific API*. Their card was designed specifically to run on windows d3d, which saved them money. I think the best way for Nvidia to keep making money is to keep making the fastest cards on the planet.
Re:Hope it runs on XBox (Score:1)
Good idea... (Score:4, Interesting)
Sure, including specific instructions for per-pixel operations etc. for all cards as opposed to stuff like GL_EXT_NVIDIA_WHATEVER would be great, but it's not likely that there will be many drivers for any older cards for this, and all the new cards have great GL drivers already...
Basically, this is unneccessary.
Re:Good idea... (Score:2, Offtopic)
Re:Good idea... (Score:1, Offtopic)
How about SDL [libsdl.org]? I know its a bit simplistic, but it is rather cool and runs on an assload of platforms.
Re:Good idea... (Score:2, Interesting)
SDL sound sucks, thats why OpenAL was written. all of Loki's sdl based games use OpenAL.
Re:Good idea... (Score:1)
Hence why OpenAL was written (AFAIK)...
Re:Good idea... (Score:1, Offtopic)
Re:Good idea... (Score:2)
Re:Good idea... (Score:5, Insightful)
A standard for pixel and vertex shaders that is not specific to any one card is a very big deal, and people are reconizing that it is the future. Many people are scared of games being released for only one card, and/or having to write a game for only one card. I don't think anyone wants that to happen. Standards mean more competition, more competition means higher quality and lower price at a faster rate. Defining a standard for procedural, hardware implemented functions will be key in advancing realtime 3D further. Image based textures are eventually going to be phased out for most purposes (as seen with trends relating to high-end 3D and the trickle down effect into realtime) and a standard makes it infinitly easier. There are many other applications, such as acceleration of non-realtime rendering, which is also a very big deal, and vastly accelerated and much more realistic previews in 3D applications. 3D Studio has already started to do this a little bit and it looks great.
Re:Good idea... (Score:1)
While OpenGL does have partial scene graph support I think a lot more could be done, a lot of redundant tasks that programmers have to do in creating a more complete scene graph.
Another area is animation. Supporting 2d graphics is one thing, supporting 2d animation/video is another aspect that I have heard considered, and that can also be extended to 3d animation in conjunction with better scene graph support.
It just seems to me that, to many of the vendors are looking for low level programmers. Most game developers these days are starting to reduce redundancy, rather then reinventing the scenegraph, they are starting to use for example the Unreal or Quake Engine, which is really a larger package of a scene graph and a whole lot more. And I think the reason they look at it this way, is that scene graphs would take a lot of time and investment on the part of the IHVs drivers then on the game and application developers.
Re:Good idea... (Score:2)
Re:Good idea... (Score:1)
I agree about animation for the time being because I dont think we have hit the highest parts of this yet, but any one who is familiar with Softimage|3D or Maya knows that animation can do some really nice things. I think when boned animations become more useful that we will start to see these things in games more often, current games are still using moprhs for animations.
I shouldnt discount programmibility out right, I think some very interesting things could be developed with it (although I'm not sure how extensive current implementations are), it would be nice to start seeing procedural texture, objects, and fog effects. But procedural is a good option when you are low on memory, but memory is cheap these days, I think it would be nice if an API allowed for real time shadows in at least a minimal scene graph.
Another interesting thing that scene graphs allow for is optimizations. Programmers use several techniques these days, like BSPs Quad/OctTrees and Portals, in order to optimize rendering and collision detection. While they could still be used to optimize collision detection, it could be allowed that a video system can optimize a scene to the way it prefers to render it.
Re:Good idea... (Score:2, Interesting)
So, it might be too late for such an initiative already.
Re:Good idea... (Score:4, Insightful)
Sure, that's why Linux runs so poorly on a dozen different platforms, right? :-P
Re:Good idea... (Score:2)
Justin dubs
Re:Good idea... (Score:2)
Re:Good idea... (Score:3, Insightful)
So you might lose 5% performance by targeting multiple platforms now, but you gain 200% performance when new hardware comes out.
At one time, 3DFX was threatening or suing people that wrote Glide-like wrappers around DirectX. These wrappers allowed NVidia cards to run Glide-based games. That was when NVidia was starting to threaten 3DFX's revenues, but 3DFX was still the leader in the 3D gaming market.
NVidia has already badmouthed the Kyro, telling computer salespeople that selling the Kyro is begging for irate customers -- what with all the incompatibilities that it might have, and the fact that it is an "unproven" platform. Through extensions to DirectX, it will be easier for NVidia to generate deliberate "incompatibilities", and NVidia has the money to push game makers into utilizing the features, and the marketing force to change the market into believing these features are important.
That scenario plays out much differently if we reduce or disallow vendor extensions. I think it is worth the 5% performance penalty. As usual, peace and harmony are in our interests, but not in the interest of any business that wants to control the market.
(all percentages above are made-up; any similarity to real percentages is strictly coincidental, not to mention lucky)
-Paul Komarek
your sig file (Score:1)
siri
Re:Good idea... (Score:2)
Re:Good idea... (Score:1)
Sure, but who's playing vanilla quake ? I want to play UT2, TC or Q3F and with those you need a fast machine and a fast video card... I get 100-150fps normal quake, but only 60-90 in UT2.
Re:Good idea... (Score:1)
That's why we have SDL. Input, audio and graphics are provided, and you can still render into openGl contexts.
Now, all we are waiting for is... (Score:1, Redundant)
Re:Now, all we are waiting for is... (Score:1)
Re:Now, all we are waiting for is... (Score:1)
You mean like Brian Paul, one of the persons sitting (well, remotely) at the ARB meeting?
Mirrored (Score:5, Informative)
Lacking (Score:2, Redundant)
Minus DirectSound, DirectInput, and all the other things which make DirectX a "good thing (tm)" for Windows (simple interoperability with hardware using standardized API's, simple driver writeups). For the time being I'll pass.
Besides, I can always teach my upcoming XBox to dual-boot. :) Best of both game-playing worlds.
Re:Lacking (Score:3, Interesting)
I suppose it's not your fault that some clueless moderator thought your post was insightful but I'm embarrassed for him ;-)
OpenGL is the (free, open, clean and crossplatform) counterpart to Direct3D, not DirectX.
Re:Lacking (Score:3, Informative)
"3D Labs Proposes OpenGL 2.0 To Kick DirectX"
DirectX includes all of the extensions shown above. OpenGL just does graphics. The author of the post, and the person who posted the story, clearly wanted to make a comparison between OpenGL and ALL of DirectX, which as as mentioned before, is ludicrous because of all the stuff OpenGL is lacking.
Get your facts straight.
DirectX does only three things (Score:2)
The author of the post, and the person who posted the story, clearly wanted to make a comparison between OpenGL and ALL of DirectX, which as as mentioned before, is ludicrous because of all the stuff OpenGL is lacking.
DirectX does only three things: graphics, sound, and input. OpenGL handles graphics, GLUT handles input, and OpenAL [openal.org] can do sound. Other multimedia programming libraries include Allegro [sourceforge.net], SDL [libsdl.org], and ClanLib [clanlib.org], all of which can coexist peacefully with OpenGL graphics.
Re:DirectX does only three things (Score:1)
Best API != Success (Score:1)
Programmers are lazy, so they will use the API that is either chained to their neck (Windows' basic interface API) or the 'best bang for the buck.' Since most everyone in the commercial software world has at least a few major APIs hanging from that iron chain (Windows), 'best' is not the winner.
And NO Linux is not the end-all-be-all home to the "best" APIs. The history of computing is littered with the smoking wreckage of companies that produced "the best" and found that all their customers already had "crappy enough" chained to their necks. And if you think companies are evil then I hope you enjoy your free Quake clone.
Re:DirectX does only three things (Score:2)
>>>>>
That's like saying that all Linux does is run programs!
OpenGL handles graphics
>>>>>
Well, but Direct3D is a tad ahead at the moment.
GLUT handles input,
>>>>>
But if infinately weaker than DirectInput
and OpenAL [openal.org] can do sound.
>>>>>
But does it do MIDI like DirectMusic?
Then what about protocol-independant multiplayer (DirectPlay), and multimedia (DirectShow)?
Other multimedia programming libraries include Allegro [sourceforge.net], SDL [libsdl.org], and ClanLib [clanlib.org], all of which can coexist peacefully with OpenGL graphics.
>>>>>
They can do the same with DirectX, but because of all of DirectX's features, you don't need extra libs.
OpenXL vs. DirectX (Score:1)
That's like saying that all Linux does is run programs!
Which would be correct. Linux is a kernel; a kernel's job is to run programs.
Well, but Direct3D is a tad ahead at the moment.
Just a tad, and DirectX Graphics's superiority is in areas that require hardware that most consumers (early adopters excluded) do not yet own. Even so, I hope Microsoft is enjoying its fleeting precious moments [gocollect.com] of superiority because they will end very soon.
But if infinately weaker than DirectInput
Or "GLUT is infinitely weaker than DirectInput." Could you elaborate?
But does it do MIDI like DirectMusic?
The sound quality of the General MIDI support on most consumer-grade sound cards sucks, and General MIDI has never been good for many genres of electronic music. Point me to a .mid file doing a good impression of a tb-303 to convince me otherwise. Why else did Unreal Tournament use S3M, XM, and IT tracked music instead of MIDI, and most newer games like q3a use streaming MP3 or ogg anyway?
Then what about protocol-independant multiplayer (DirectPlay)
The sockets API is also protocol independent and can support any protocol for which your sockets implementation (such as BSDsock or Winsock2) has a backend.
and multimedia (DirectShow)?
Why can't you use the game engine (built on d3d+dsound or opengl+openal) to do cut scenes, as Metal Gear Solid and Zelda 64 do? Or do you have some other reason for wanting to play movies?
[Allegro, SDL, and ClanLib] can do the same with DirectX, but because of all of DirectX's features, you don't need extra libs
All three libraries have DirectX backends, but they also have backends for operating systems not controlled by Single Point of Failure Corp. [google.com]
Re:OpenXL vs. DirectX (Score:2)
>>>>>
But those words carry a far larger meaning than the sentence implies. DirectX does only do sound, graphics, and input, but those words understate its power.
Just a tad, and DirectX Graphics's superiority is in areas that require hardware that most consumers (early adopters excluded) do not yet own. Even so, I hope Microsoft is enjoying its fleeting precious moments [gocollect.com] of superiority because they will end very soon.
>>>>>>>>
Why? The link you provide doesn't have anything to do with DirectX or OpenGL, so I surmise that you have no proof that OpenGL will suddenly stage a comeback. Even if OGL 2.0 gets rolling right now (it won't) it will quite awhile before the glacial-paced ARB will produce something useful.
Or "GLUT is infinitely weaker than DirectInput." Could you elaborate?
>>>>
Read the GLUT API, then read the DirectInput API. Juding from the GLUT 3.7 API reference [opengl.org] GLUT supports three button mice, keyboards, and spaceballs. DirectInput can be programmed to handle anything, from mice with dozens of buttons buttons to 6 axis force-feedback joysticks to full-body cybersex suits. Also, GLUT's callback-based mechanism doesn't exactly scream "performance" in a game setting.
The sound quality of the General MIDI support on most consumer-grade sound cards sucks, and General MIDI has never been good for many genres of electronic music.
>>>>>>>
That's why DirectX doesn't use standard MIDI support anymore. On cards that have poor MIDI support, MS uses its (pretty good) software synth.
Point me to a
>>>>>
The music requirements of Q3 or UT aren't exactly terribly stressing. MIDI is uniquely suited to all sorts of things, such as dynamic adaptation to the game environment, that are hard to do with pre-recorded music. With DirectMusic, you can program scores that follow a general patterns, but fluctuate depending on conditions or at random times. The power is there, it is only a matter of time (DirectMusic only became mature fairly recently) until some clever developer decides to use it.
The sockets API is also protocol independent and can support any protocol for which your sockets implementation (such as BSDsock or Winsock2) has a backend.
>>>>>
True, but DirectPlay is a *much* more integrated solution. It does lobbies, transport, all sorts of things.
Why can't you use the game engine (built on d3d+dsound or opengl+openal) to do cut scenes, as Metal Gear Solid and Zelda 64 do? Or do you have some other reason for wanting to play movies?
>>>>>>>>
DirectX isn't necessarily just for games. You can use DirectX to get hardware acceleration for DVD playing and other multimedia uses. Also, many games use video quite well. The Final Fantasy series, for example, uses full motion video to a great effect. Also, game engines still aren't up to the quality of good FMV yet.
All three libraries have DirectX backends, but they also have backends for operating systems not controlled by Single Point of Failure Corp. [google.com]
>>>>>
Yes, but their functionality is a fairly limited subset of DirectX's features. Also, it is not fair to criticize DirectX just because MS sucks. DirectX is a quality technology, Microsoft or not.
Re:Lacking (Score:2, Informative)
This not only includes a portable (Linux, BSD etc, Windows, MacOS etc) scene graph on top of OpenGL and sound and input, but also the other stuff you need for games development like networking and graphical user interface.
Interview (Score:1, Interesting)
This IS necessary (Score:5, Informative)
Vendor specific extensions are making cross-vendor OpenGL development difficult. It is necessary to implement several different codepaths in order to achieve various effects on different hardware (bump mapping, cubic environment mapping, etc.) because each vendor wants to do it their own way to expose all of the new capabilities of their hardware. The SGI multitexture extension is probabily the only real exception to this since it seems to be supported by the bulk of cards on the market.
I don't know of any current AAA, A or B grade game that doesn't support at least one proprietary OpenGL extension.
DirectX8 exposes the hardware in an 'almost' abstract manner but again vendor specific features have started to creep into the mix (the different shader version support is something that comes to mind), meaning that developers still have to develop multiple versions of the same effect for different hardware.
This is definately a great move! I hope they succeed!
Re:This IS necessary (Score:2, Interesting)
In DirectX, you have vendor specific releases of the whole API!
DirectX 8 = DirectGeforce
DirectX 8.1 = DirectRadeon
It'd be a lot more honest and less confusing if they just used the names of the cards rather than numbers...
Re:This IS necessary (Score:1)
Now 8.1 is coming out, and the Geforce is screwed because it has Pixel Shader 1.4 in 8.1 which the R8500 supports but the GF3 doesn't (AFAIK).. among other things (higher-order surfaces/TruForm, etc.).
Re:This IS necessary (Score:5, Insightful)
DX8.1 adds new features only available on the Radeon 8500, but a new NVidia card will be able to run all that just fine as well.
The plan is for this to continue in this fashion, so the next NVidia card will probably support PS1.4 again (the R8500) stuff, and so forth.
This is a very different situation from OpenGL where the way to do pixelshaders is completely different on ATI or NVidia hardware, and anything you do for an NVidia card will never work on an ATI card, and not the other way around either. As far as I know the same applies to vertexshaders, and ATI still doesn't have their own version of NV_VertexArrayRange. (And they certainly need it).
On OpenGL2.0, it seems like an interesting plan at first (I'm always open for API innovation), but atleast for gaming it doesn't seem to be a very interesting API, and not very forward thinking either. For example keeping the framebuffer blend out of the programmable pipe goes directly against what game programmers have been asking for.
In addition it seems the API would have a lot of problems running on current hardware (not to mention how long it would take for drivers to even get close to stability). OpenGL2.0 would expose model for vertex and pixelshader programming that would be completely unsupported by current hardware. This means you will have a lot of rules to follow to achieve hardware acceleration on specific hardware. When using more features you'd drop back to mostly unacceptably slow software emulation. This would either be hidden (and you could only find out by browsing PDFs hidden somewhere on some IHV site), or it would have to be exposed through some sort of caps system. (Exactly what the OpenGL crowd so seems to dislike.)
Anyway, I don't see this working yet, not for the games market, maybe for others. Best of luck to them anyway.
Re:This IS necessary (Score:2)
Re:This IS necessary (Score:1)
DX9 will be hardware independent again.
The text explicitly states that they don't want to repeat Microsoft errors in doing such a thing.
To quote from slide 6:
Re:This IS necessary (Score:1)
What really needs to be done is SOMEONE (unfortunately, it's a a fair bit over my head atm) needs to gather all the projects like SDL, Mesa, OpenGL, OpenAL, SDLnet, SDL Input, (and the numerous other libs out there that I haven't used) and attempt to use those libraries as a basis for a wrapper.
First We must duplicate the existing, ie. DX with our own software. Then take steps to merge them together using the incredible amount of knowledge in the OSS environment into a well-focused library set which is both extensible and cross-platform compatible. Many of the projects out there already do this, but it must be solidified.
Now don't go bashing me for mentioning an OSS version of DX. Not having messed with it more than a week, I'm no expert on it. However, there are OBVISOUSLY things about DX that developers like well enough that makes their jobs easier. That's what We have to do as well. Create libraries that are easy to install, cross platform compatible, feature rich enough to satisfy the majorities needs of functionality, and finally optimized to the max. It's been proven that Linux is faster that WinX in a number of different senarios, but if We can't pull together with this, then it's going to take a VERY long time for OSS to gain it's footing in the gaming market.
Besides, with an OSS solution, people like Carmack can spread their knowledge to extend the library with functionality with a simple submission whereas trying to get that into DX... well.. M$ would just laugh at you.
Re:This IS necessary (Score:1)
Yes, there are times when having a single unified entity is a good thing. That's a big part of how Microsoft got to where they are today. Windows is Windows and Office is Office -- there's only one version, and everybody is comfortable with it. The masses don't care so much about choice -- they'd rather use something they are familar with -- so it becomes a de facto standard.
Now, on Linux, you have lots of choices, but run the risk of coming across looking like a collection of disparate and disorganized parts rather than one unified entity. Choice can be intimidating for people. Do I choose Debian? Do I choose Mandrake? How do I know? On the other hand, you've got Apache, which is pretty much the Microsoft Office of the web server world (on the Unix platform) -- almost everyone uses it -- they don't have to think about the choice, because a generally-accepted "standard" exists.
Choice -- the very thing that attracts many people to the Linux platform -- may be a big part of what keeps everyone else away.
Re:This IS necessary (Score:5, Interesting)
nVidia's extensions alone total more than 500 pages, compared to 230 pages for the entire OpenGL 1.3 spec. ATI has their own comprehensive list of extensions, as does SGI and many others. Since there's little natural overlap, each vendor implements similar features in a different way (e.g vertex shaders), and you have to code for each vendor's set of extensions separately. The OpenGL ARB can "ratify" extensions to promote standardization, but you still have to cope with them not being present at all.
This is exactly the problem developers have with DirectX - MS regularly revs the entire API to try and support features from every vendor, so there's an ever-increasing number of ways the underlying hardware differences are exposed, and the number of hardware caps that have to be checked before doing anything is growing rapidly. There are 4 different versions of pixel shaders that a vendor can support in DX 8.1, and the only reason it's not more of a mess is that there's only two chips which support any of them so far (and one of those isn't even available yet).
Regular simplification & unification of all these diverging directions is required. Vendors should of course be able to add innovative extensions, but a core of Really Useful standard features must be maintained & extended, so that hardware vendors have a baseline to target, developers can rely on the features being present, and the lowest common denominator gets steadily pushed higher for everyone.
In support (Score:2, Interesting)
How is this news exactly? (Score:1)
Re:How is this news exactly? (Score:2)
3Dlabs produced the Permedia cards, which were marketed at gamers, and continue to produce professional workstation OpenGL accelerators based on the Glint chip.
3dfx made the Voodoo series of cards. They're the guys who promoted Glide, which was their proprietary API.
Misc first impressions (Score:5, Informative)
I'd recommend against general for and while loop constructs in the shading languages. These are difficult to statically analyze the behavior of. For instance, you could stall your pipeline with an infinite loop but no compiler can detect infinite loops. Also, loops are rarely used except for Perlin noise where you iterate down to a particular frequency.
Loops of a particular form can still be analyzed, and would be useful. Something like this:
for (int i = 0; i < N; i++) { body }
If i is 'const' within the body, then this will iterate at most N times, giving you a bound on the compute time needed. Note that if N is an arbitrarily large number, it may still be difficult to analyse. Here's another form that is more generally boundable:
for (int i = 0; i < N && i < 20; i++) { body }
This will run at most twenty times, giving an easily computable upper bound on the total run time for the loop. Of course, 20 was just pulled out of a hat, and should probably be a constant specific to the compiler or hardware available.
Memory Management Issues
Pinning is dangerous, your program could be really broken on a graphics card with smaller memory than you intended. At the end of the standardization process it will probably become a mere 'hint' anyway.
An alternative might be to treat the memory management as a generational garbage collector, with user hints on what generation things should fall into. Rather than specify a particular management scheme, the programmer could hint at how dynamic the object would likely to be, say for instance ranking them from 0-7, with 0 being transient and 7 being pinned. Alternatively the systems themselves could become more intelligent, tossing everything into the transient area, and migrating them upstream automatically when the transient area starts to fill up.
Another useful operation would be to hint flushing everything below a certain level. So for instance you could give Everquest character models a level 5, the terrain a level 4, mobs a level 3, and various effects and candy at lower levels. Then on zone you would just specify a flush of levels 4 and under to clear that memory, while leaving the character models intact.
For added flexibility to this model, multiple different memory pools could be managed in this fashion. It remains to be tested whether that would be worthwhile or not.
Well, that's all I could think of off the top of my head. Good luck on OpenGL 2.0!
Michael
Infine loops. (Score:1, Funny)
That's easy - just get a faster CPU, it will execute the loop faster!
Re:Misc first impressions (Score:1)
OpenGL ARB Meeting notes (Score:3, Informative)
There's a lot of discussion on how/when/why they want to move forward to OpenGL 2.0. Gives some interesting insights into how these things are done.
Also, there's some talk about nVidia's new position on opening up their vertex shading IP, GL_vertex_program_NV vs. ATI's GL_EXT_vertex_shader, and which approach would be better for OpenGL 2.0 (low-level vs. high-level).
Good idea, too late. (Score:2)
Seriously, why now? This could have easily happened long ago, before Nvidia crushed the competition. I don't like the world where looking to open source (or even just open discussion) is the last resort of a dying technology.
Re:Good idea, too late. (Score:2)
In similar news... (Score:3, Funny)
Linus Torvalds proposes to kick Bill Gates.
It is uncertain as to whether the world's richest man will propose a retaliation kick. Such a proposal could be viewed as a sign of weakness. It should be noted that while Gates is phyiscally much smaller than Torvalds, microsoft operating systems have a much larger market share than linux.
Re:In similar news... (Score:1)
Multi platform games (Score:1)
It's a great idea but somebody please make it work before I die.
OpenGL ARB meeting minutes (Score:1)
Sure, but the latest OpenGL ARB (Architecture Review Board) minutes [opengl.org] also have this comment from Bimal Poddar (Intel):
Devil's Advocacy question: why do we want OpenGL to survive? If IHVs can't articulate this and drive progress, it won't survive.
A "devil's advocacy" remark at an ARB meeting, but maybe not so far fetched in reality. - Mike (OpenGL dabbler)
One serious problem with this. (Score:1)
It's going to be a HARD sell to get development companies to move away from DX. More than 90% of the games you are going to sell will be for a platform that supports DX.
If you have a team of well paid developers who have several years developing for DX, why does it make sense to switch?
Though, I know this is not possible, I'd love to see an "embrace and extend" approach to this. Make an API that is "compatible" with DX, but has some "features" that DX does not support.
I know this is fanciful, but everyone is entitled to a dream, right?
Re:One serious problem with this. (Score:2)
After all, why lock your game into one platform when another equally good API allows you to port to other platforms (including consoles) with relative ease? Certainly you'd have to port all the sound and controller stuff but that's chicken feed compared to porting a game engine.
Re:One serious problem with this. (Score:2)
DirectX was much simpler when it first came out, so was easier to implement. It had Microsoft's weight behind it, it was being steadily improved, and it supported 90%+ of the target market. So vendors implemented drivers for that as part of their normal Windows support.
A few (luckily influential) die-hards (like Carmack) used & promoted OpenGL, which forced minimal support from vendors (remember 3dfx's mini-driver?), but few vendors bothered to go the whole way & write a full OpenGL ICD.
Direct3D was the lazy way out, so that's what people got.
better language bindings needed? (Score:2, Insightful)
I love C, but there are huge design benefits in going OO with C++. Eventually you'll get to the point where there'll be a large body of accepted base classes that should handle all the standard 3D objects you might need for a game, and then you won't have to (eg) search all over the internet to find obscure libraries in beta form just to get your program to load a model from a 3D cad program.
Re:better language bindings needed? (Score:2)
Then use C++ for your game code. There is no need to make OpenGL be object-oriented.
DRI layoffs (Score:1)
Sure, OpenGL 2.0 would be nice, but a nice spec isn't going to do us alot of good unless we can develope drivers and implement it.
VA Linux shut down their professional services organziation, which was funded by a number of other projects for graphics vendors and for other graphics research organizations.
3D Labs wants to kick things into high gear and start pushing for an open collaberation on OpenGL 2.0, what are they going to do about the lapse we are going to see in card drivers and the rendering infrastructure on these open platforms that no longer have developers?
I think what 3D Labs is doing is a Good Thing(tm), but I heard someone say somewhere that perhaps they arrived a bit late and unless they are going to pick up the buck and run with it, I would have to agree.
It doesnt matter (Score:1)
Weird man, weird (Score:2)
Clarification on vertex shaders (Score:3, Interesting)
True, but us game developers also buggered up the market by NOT actively pushing OpenGL instead of D3D, and developing for D3D *when we HAD a choice*.
There was even a petition [wired.com] to Microsoft to better support OpenGL for gaming, which Microsoft responded by ramming D3D down everyones throats.
I'm just thankfull that Carmack didn't sell out - he's the primary reason OpenGL support for games is still around. The OpenGL-Game-Dev list traffic has unfortunately slowed down, but it's not dead (yet.)
> Game developers aren't scratching their heads in a huddle
> making sure some vertex shader is going to work on a MIPS box as well as a Intel one.
You don't do any PS2 coding do you?
When your game is simulatenously being ported to X-Box, and the PS2 you need to re-implement the vertex shader natively on each hardware. It would save a LOT of time if us developers could use just ONE vertex shader description language for BOTH platforms !
> A bulk of game developers and publishers won't bitch much about standards
> while they can hit an incredible percentage of the gaming market by focusing on one system.
And loose 1/2 your sales?! That's the reason a standard exists - so we DON'T have to code specifically for one card !
Game developers want to maximize their sales with the least amount of work.
Rest of your comment is correct.
~~~
WTF is "Your comment violated the postersubj compression filter. Comment aborted" and why isn't it in the FAQ ?
This fills me with optimism (Score:1)
I left 3D stuff a while ago, utterly bemused with the various complexities of D3D and OGL. There was a lot of legacy stuff in there and little fiddly bits that were in 'just because'. Now I presume there will be a refactor in the light of various progresses in the field. I believe refactoring to be a GOOD THING (tm).
OGL2 will be 100% backwards compatible. Well, that could be either good or bad.. If we end up with so much legacy kak the new version will just be a bigger more combersome beast than before. Remember the DOS/windows incarnations.. eugh.. But it can still be done well. Refactoring need not mean throwing away + starting from scratch.
I've done some Java3D.. that's fairly nice, fairly fast and I hope some of those lessons are fed into OGL2, along with things that other lib-developers have learned. Afterall, OGL ought to be faster and more widely used, given it's foothold (however weak some might percieve it to be).
I really hope that OGL2 will become ther real OPEN standard for 3d programming. Various little-libs have surfaced to hide the old OGL/Dx, but it's time for those to be set aside as the core tech becomes the thing to use.
Quick note on 'extras', should OGL include libs for keyboard/mouse/sound/controller access? Well, I honestly don't know the answer, but my guess is that there should be hooks for plugging such things in, but I also think that OGL should be focussed on the job in hand: rendering fast, amazing 3D graphics.
Hey, hey, hey, wait a sec there, chief! (Score:1)
Same old arguments (Score:1)
Re:Same old arguments (Score:1)
Re:Same old arguments (Score:2)
Re:Same old arguments (Score:2)
Who carez (Score:2)
So if you have to use OpenGL, use OpenGL. If you have to use D3D, use D3D. Being productive, THAT's the key here. Not the emotional connection with any API. Save the emotions for a hobbyproject.
Re:Who carez (Score:1)
Lets examine a few things:
1) DirectX is Windows only. Developers who develop under DirectX/D3D have a harder time porting from platform to platform because of the API.
2) Let's look at a more closed API, which you claim is just fine. 3Dfx for example. For a long time when 3dFx took over the gaming graphics market, it used a proprietary API called 'glide'. The problem arose when new, better video cards came out. They couldn't run the Glide apps, and everyone was developing JUST for glide. So new manufacturers had a hard time, as did customers.
Using an Open API like OpenGL allows cross platform, cross hardware development much easier. It simply requires a manufacturer releasing an OpenGL ICD for their card, and their card runs OpenGL (Assuming it's internal hardware meets the requirements of the application in question).
Companies looking to port their app to multiple platforms have a much easier time; OpenGL is available on most major platforms such as Unix, Windows and Mac.
Notes from the OpenGL ARB where 3DLabs presented (Score:1)
OpenGL ARB meeting notes [opengl.org]
Notice this:
Action: John Stauffer volunteered Apple to lead the short-term unification work. 3Dlabs volunteered to lead the long-term 2.0 work.
ease of installation (Score:1)
The OpenGL Architecture Review Board discussion (Score:2)
Organizational support for OpenGL continues, but it's not like the days when SGI was really pushing it. The Farenheit debacle turned off many people. Apple is still OpenGL oriented, but support is weak. From the minutes of the last meeting: "The next meeting date is set for Tue-Wed, December 11-12, 2001. Apple is tentatively willing to host again, if needed - the food budget was a bit of a problem for them this time."
What this proposal really calls for is a sort of "RenderMan Lite". The concept is very like RenderMan, with programmable shaders written in a C-like language.
This is an instance of the "programmable peripheral" problem. There's always a temptation to put programmability in peripheral devices. The usual problems of embedded systems programming apply - a special toolset is needed for the target system, debugging support is usually weak, and synchronization between host and target is complicated. That's why programmable peripherals are rare. (For example, we don't usually see the ability to put the file system in the disk controller, or the TCP/IP stack in the Ethernet controller, although hardware has been built and sold for both of those functions.)
What usually happens is that agreement emerges on what functionality a device should export, and device controllers implement that functionality, rather than exposing their innards.
You mean SDL? (Score:5, Informative)
Re:You mean SDL? (Score:1)
Re:but we already have directx (Score:3, Insightful)
Or do you actually believe everything you just said?
The Structure of Array link is actually fairly interesting, but if you think about it it has no meaning to this argument. OpenGL has allows allowed you to specify seperate streams, but X/Y/Z are still bound together. That's not SOA, and not what Intel likes. When you get down to it the whole SOA thing was basically just Intel making up excuses and workarounds for poor CPU design.
In fact most modern hardware (Radeon, Geforce) will prefer it if you pack all your vertex components together, as DirectX has always worked. This all to make more efficient use of memory bandwidth.
Ofcouse that link to Paul Hsieh's site is ancient, and reflects a persons opinion of a battle that raged years ago, based on years old facts. Not all that interesting really.
Re:but we already have directx (Score:2)
Just like OpenGL's interleaved vertex arrays.
Circa ... 1996?
Re:but we already have directx (Score:1)
Regarding your statement: "In fact most modern hardware (Radeon, Geforce) will prefer it if you pack all your vertex components together, as DirectX has always worked. This all to make more efficient use of memory bandwidth. "
For GeForce this is NOT true. The cache for DMA transfers of non-interleaved arrays makes it just as good as interleaved arrays (or packed components). The primary exception here would be if padding were necessary for an individual array (eg GL_SHORT normals).
In general, it's much more important to write sequentially to AGP memory since the memory is uncached. This usually means that static vertex attributes should be *not* be interleaved with dynamic ones.
Thanks -
Cass
Re:OpenGL (Score:2, Informative)
So basically, You're just a troll. And I've been trolled. Damnit
Re:OpenGL (Score:1)
They should care. Operation Flashpoint is a great game that has just been bitten by this lack of portablility. As BIS are tied into DirectPlay for online gaming they are unable to produce the Linux dedicated server that would enable the game to be hosted by online game services like Jolt.co.uk. As it stands now the game is hosted by a few people at home, while there are hundreds of Return to Castle Wolfenstein servers - and that is just for a 1 level preview!
Re: (Score:1)
Some Arab words in English: logarithm, algebra, sheriff and many more
The newspapers tell truth and lies together.
Re: (Score:1)
What have you done for me lately? (Score:1)
Re:MDIG (Score:1)
or Charlie Parker, or Dizzy Gillespie.