“DirectX 10 is probably the most important revolution in games development, at least since the introduction of the programmable shader in DirectX 8.0. Because of the way that Microsoft has designed the new driver model, DirectX 10 will only be available for Windows Vista users and there will not be a version released for Windows XP. Along with DirectX 10, Windows Vista will come with DirectX 9.0Ex – this is because pre-DirectX 10 hardware will not work under the new API due to the complete overhaul.”
xp not getting directX 10 kinda just put a rather large nail into a coseing coffin. assuming that pc game creaters embrace directX 10 thouse without Vista are going be in trouble. Personaly i would rather see OpenGL catch up to the featchers of direct x 10.that would make me happy
xp not getting directX 10 kinda just put a rather large nail into a coseing coffin. assuming that pc game creaters embrace directX 10 thouse without Vista are going be in trouble. Personaly i would rather see OpenGL catch up to the featchers of direct x 10.that would make me happy
You know, it’s funny .. on one hand, people keep saying how Vista brings nothing much to the table and there’s no reason to upgrade, but then when people run into a Vista-only feature they’re interested in, they bitch when it’s not backported to XP.
I’m not really hip on the technology, but I’ve read that a lot of the new features in DX10 are a direct result of the underlying changes made in Vista.
Edited 2006-11-30 23:42
Well, if you’ve tried it, you know it’s XP (all OS-related programs are the same, from Control panel to almost every other feature) with news look (poorly done that requires unreasonably lots of resources), new Windows Explorer (they made it worse) + some “security” crap no one wants, yet they are still enabling “hide ext for knowing filetypes” feature that is the main cause for all those worms and loveletters.
Anyways, DX10 is just a feature, that MS is hoping will help selling Vista, since they are making it “vista only”, while I bet anything it can also be done on XP. But DX is for home gamers only and we know not many home users actually buy Vista, unless they get it with new comp (and most people can’t wait to get some crappy Vista edition for additional $200), it’s mostly companies and OEMs that sell Windows OS for Microsoft. Things will not go as they plan this time, it didn’t go with XP and clearly this ship is sinking, it’s just a band still playing (deja vu, anyone?)…but they can still save it if they start acting normal and open.
Edited 2006-12-01 07:10
They are making it Vista only because of the Windows Dislay Driver Model (WDDM) which will not work on XP because it will break things.
WDDM allows a lot of things to happen including virtual memory. It allows you to take your video cards memory and your system memory and put it into a pool of memory that is virtualized.
WDDM also allows you to pre-emptive multi-task on your video card’s GPU (Graphics Processing Unit).
WDDM is a new driver system designed from the ground up and allows you to have a more stable environment so that you won’t get bluescreens by putting most of the driver part into user space.
Of course you don’t want to hear any of that. You just want to bitch and falsely claim that the ship is sinking.
Well that ship isn’t sinking and just owns you as it’s little bitch.
Oh, you’ve read something about WDDM, what a hero. Try understanding what I wrote.
Oh, and it’s hardly owning me, I switched to Linux and for gaming, my PS2 still seves just fine so the only reason I care about it is because I, unlike you, understand how the market works, you don’t. Back to class, kiddo.
>Oh, and it’s hardly owning me, I switched to Linux
>and for gaming, my PS2 still seves just fine so the
>only reason I care about it is because I, unlike
>you, understand how the market works, you don’t.
>Back to class, kiddo.
This is just it. I don’t care that you run linux and have a PS2 for gaming.
I can play PS2 games not only on a PS2, but I can play those games on a PC and I can also play games on the PC that you cannot.
I don’t have some liberal political agenda like you do, which means I can play games that you can’t play due to your own political stupidity.
So let me spell it out for you.
Nobody gives a shit that you run linux.
Nobody gives a shit that you are hurting yourself because you don’t want to run Windows or play on Xbox.
You wonder why Linux kids have a real problem with social skills and communication with the rest of the people on the earth. Well there you go.
Haha, someone is really frustrated today. And probably every other day. Don’t worry though, your suffering will come to an end, one day. Really.
I’m fairly sure that the bit about WDDM allowing user space drivers provides exactly zero benefit for video card drivers, as these still run in kernel space. As far as I’m aware, user space drivers are aimed at peripherals such as printers and mas storage devices, i.e. non performance critical items.
Also can anyone clarify whether having virtualised gfx card memory will actually provide a benefit? surely it will be incredibly slow to page the gfx memory out to system memory and back as needed? not to mention disk.
Finally all this pre-emptive multi tasking stuff, would that not have been possible through the original driver model, and if not, why not?
I just get the feeling that the reasons given for DX10 only being on Vista of “the new driver model” are not as compelling as they should be.
If you want the information or pictures you can google them.
Basically what has happened is that the entire driver was all in kernel mode with XP.
With Vista the driver has been split into two parts. There is now the kernel driver and then most of the code that could be moved has been moved into userspace. So the performance critical part is in the kernel, but most of the issues that have been happening for the programming part is now been moved to the userspace.
The big boost with Vista is that most of the code for video, audio and other have been moved into user space and small critical parts (for performance reasons) have been left in the kernel mode.
With Vista you can have multiple programs using a video card (from the UI of Vista itself to other programs) and this needed to have virtual memory to be able to be pulled off.
In XP, you cannot mutlitask the GPU and can only run one Direct X program at a time taking up the GPU and there is no way to share. Direct X was basically for gaming and gaming only.
In Vista Direct X can be used for more than just gaming and also allows the added benifit of allowing you to use your GPU for more than just graphics.
You can use it to do GPGPU programming (General Purpose Graphics Processing Unit). This means you can do much more than graphics.
Also with the virtual graphics memory, you can have much bigger textures (higher resolution) than you could in the past and can use many textures in this virtual pool to combine them.
It is huge. Check out the link of the article, it will explain a lot of the things.
*Also with the virtual graphics memory, you can have much bigger textures (higher resolution) than you could in the past and can use many textures in this virtual pool to combine them.*
You could do all this before. the difference is that now it is transparent (you don’t have to call for DMA transfer from your program). Other problem it that it is probably much slower than customly optimised algorithm for pushing textures to GPU when needed. So not a big deal for games. This is more important for composited desktop in combination with 3D graphics and GPU sharing.
No, you are wrong. Big part of GPU drivers will be in userspace. You see, Linux already has very similar driver model and is a proof that it works. In fact DRI already has some of new stuff similar to memory management in WDDM (intel guys are doing main development on it).
You know, it’s funny .. on one hand, people keep saying how Vista brings nothing much to the table and there’s no reason to upgrade, but then when people run into a Vista-only feature they’re interested in, they bitch when it’s not backported to XP.
I’m not really hip on the technology, but I’ve read that a lot of the new features in DX10 are a direct result of the underlying changes made in Vista.
People keep bitching because the new features of DirectX 10 could have been implemented on Windows XP as well, albeit in a different manner from Vista.
To put it in another way: it was not the changes in Vista that enabled the new capabilities of DX10; those capabilities could exist for XP as well, if Microsoft did not want to force Vista on us.
Evidence to this is OpenGL: it already can do what D3D10 can do, even in “lowly” XP.
You know, it’s funny .. on one hand, people keep saying how Vista brings nothing much to the table and there’s no reason to upgrade, but then when people run into a Vista-only feature they’re interested in, they bitch when it’s not backported to XP.
Maybe they wouldn’t “bitch” so much if there were any better reasons to go to Vista than simply the forces of market control sucking them into the upgrade cycle.
I see no asymmetry in complaining both that Vista doesn’t accomplish much and that people are going to end up needing it for some new feature. $300 for a Wintendo firmware upgrade (assuming DX10 is what the buyer is after) seems just a bit unreasonable. Upgrades this expensive should offer advantages across the board, not just a new baseline for what makes an up-to-date PC.
Other than a package install/uninstall feature (which you can program yourself) what other feature would you want that Vista does not bring to the table.
It’s not that vista does not have any new features, it’s that we have some anti-microsoft liberal linux biggots that are uncontrollable.
If we had to ban all the liberals who were anti-microsoft on this forum, there would be five posters left.
This is why it is so frustrating to see such garbage.
If you want a list of what Vista offers (which is quite a lot and it is better in many ways than linux) you can go to the wikipedia and do a search.
If we had to ban all the liberals who were anti-microsoft on this forum, there would be five posters left.
This is why it is so frustrating to see such garbage.
If you want a list of what Vista offers (which is quite a lot and it is better in many ways than linux) you can go to the wikipedia and do a search.
If you banned everyone who had something against Microsoft, you’d have Yet Another Windows News Site. This site exists because the alternatives do.
Personally, I want absolutely nothing out of Vista except for it to leave me alone. Microsoft is not the vendor I choose for the computing features I want. But I am interested in maintaining compatibility with the Windows world, especially since so much unique software (not a good thing) that I may have to use at one point or another for school- or work-related reasons depends on it, and this very expensive upgrade cycle makes that a major thorn in my side. Lest a mile be taken, I’m not giving an inch. My above post was trying to say two separate but related things: upgrades at this price point (and certainly at this degree of invasive rights control) should be justified by more than just influence and de facto standards, and people who buy the thing just to keep pace have every right to complain they’re not getting their money’s worth, no matter how many checks you can put in any “features” column.
xp not getting directX 10 kinda just put a rather large nail into a coseing coffin. assuming that pc game creaters embrace directX 10 thouse without Vista are going be in trouble. Personaly i would rather see OpenGL catch up to the featchers of direct x 10.that would make me happy
OpenGL can already do DX10 stuff. As soon as the Nvidia 8800 drivers where released OpenGL could do it trough extensions. In Windows XP and Linux etc.
Just to highlight your point, OpenGL can do everything Direct3D 10 can do, but under Windows XP (and Linux and every other half-modern OS). If game developers want to use geometry shaders and support Windows XP (which will probably still be a major player in OS land for a while), they MUST use OpenGL.
I’m guessing that it won’t happen, and Windows XP gamers will soon have all the selection in modern shooters that Linux gamers have, but it must be a bit of a tough choice from the POV of the game houses…
Not only that, but the major companies tend with the need for CAD (Chrysler/GM/etc) and high end 3d (ILM/Pixar/etc) tend to use a Unix or Unix-like systems.
For them, DirectX is a non-starter.
I wouldn’t use it, but I am biased against enslavement and would never really consider it anyway.
Edited 2006-12-01 02:35
“Not only that, but the major companies tend with the need for CAD (Chrysler/GM/etc) and high end 3d (ILM/Pixar/etc) tend to use a Unix or Unix-like systems. “
As far as I know, SGI systems are very useful for this purpose. They even aren’t x86 architecture.
An advantage of “DirectX” 10 could be it’s ability to run on the newest x86 hardware (Core 2 Duo etc.) with a high clock rate. So it could compete with the hardware representations of OpenGL that do shading, clipping etc. Maybe it’s the choice of industry. We’ll see.
Game developers should tend to interoperability to gain more market share (How I love this term!) if they can release a game for different OSes. But “DirectX” does not seem to cover this, so OpenGL or SDL based games would surely be more popular. As far as I see from the article, “DirectX” offers nothing that you can’t do with OpenGL, Mesa or SDL, except that it is restricted to MICROS~1 products.
But I’m not very interested in gaming, so I don’t care much.
Not all DX 10 features are already OpenGL supported but yes, it is only a matter of time.
It might not completely possible through extensions alone though, since things like a completly unified shader architecture might make changes to OpenGL itself necessary.
OpenGL can’t do everything Direct3D 10 can do unless you re-write the API and you also create it so that openGL has the same driver system as Direct3D 10 does.
It can support geometry shaders sure, but then you are looking at yet another set of extentions that you have to program for each video card vendor.
Let me explain this to you:
The D3D 10 is like a console experience because every D3D 10 video card has to have the exact same features and has to be certified by Microsoft. This means that every DX10 video card cannot have optional features and must contain every feature in the exact way that it is documented and must be only on Vista and above. The drivers also must be certified and written acording to the documentation that Microsoft has set out.
This means that there are no CAPS and this means no variables.
This means that you will have a console like development and that you don’t have to guess if a driver is lying to you or if the video card has that feature or not.
In a couple of years when the people owning DX10 video cards grow, this will be a godsend.
There, so I hope you learned something.
The D3D 10 is like a console experience because every D3D 10 video card has to have the exact same features and has to be certified by Microsoft. This means that every DX10 video card cannot have optional features and must contain every feature in the exact way that it is documented and must be only on Vista and above. The drivers also must be certified and written acording[sic] to the documentation that Microsoft has set out.
This means that there are no CAPS and this means no variables.
So developers will have to program to D3D 9 and D3D 10 to support cards older than Q42006? Is that a good thing? I’d much rather check caps/gl extensions than have to support two different APIs. Besides, I’ve always been able to write code that only supports a small subset of cards on the market and that grows as obsolete cards are discarded. That’s hardly revolutionary…
This means that you will have a console like development and that you don’t have to guess if a driver is lying to you or if the video card has that feature or not.
You have console-like development only if all hardware is identical. Otherwise, you still need different code paths for different hardware implementations of D3D10, just as Doom3 has different HLSL code for Radeons and geForces. Having a unified consistent API is a good first step, but it’s hardly a complete solution.
[edit]:
Sorry to sound like an ass – your comment was informative. I just don’t see it fixing everything you think it will.
Edited 2006-12-01 19:05
Vista is trying to push DirectX 10 as a full replacement for professional applications as well. That directly affects some vendors out there, especially some of those in the GIS industry who use OpenGL to drive their stereo viewing. These players are looking at Vista totally dismayed by the choice forced on them.
To some degree it makes sense from Microsoft’s point of view. PS3, Wii, PSP, Wii all use opengl for their graphics. As does Mac OS/X and pretty much everyone else out there. Windows game writers will likely get on board, but find they are locking themselves further into Microsoft API’s.
Interesting dilemma. We’ll see how soon SDL incorporates some support for DX10, although I’m not sure how much that will help since it relies on writers to use the SDL api instead of the DX one.
That is not correct. There is nothing to dismay those that whish to use OpenGL on Vista since the *very* old news that OpenGL will be slower on Vista or suffer from other drawbacks just isn’t actual anymore. Vista is going to get fully functional OpenGL.
Also, as nVidia has already shown, almost everything that is possible with DX10 is also possible already with OpenGL and missing functionality is only a matter of a newer OpenGL Version (i’m not sure if the bigger changes in functonality could be reproduced using OpenGLs extention mechanism).
Lastly, i don’t see how SDL is involved. SDL is used to open an OpenGL window, offers functonality for multithreaded programming and if you want it also can handle input for you. SDL itself has no 3D functionality, just primitive access to an framebuffer which isn’t even officially existent anymore in direct x since dx8. So unless DirectX 10 handles Keypresses in a very new and spectacular way, i don’t even see any need for an modifyed SDL version execept if DX 10 can’t handle DX9 input methods anymore which surely would be new to me.
There is nothing to dismay those that whish to use OpenGL on Vista since the *very* old news that OpenGL will be slower on Vista or suffer from other drawbacks just isn’t actual anymore. Vista is going to get fully functional OpenGL.
Microsoft tried to do this, rather pathetically, but it just wasn’t a practical. There’s no reason why someone couldn’t trivially implement OpenGL on Vista, perhaps even taking advantage of DirectX 10 itself, and get around any restrictions Microsoft had placed.
Of course. It is all about driver model. Linux is getting fairly big improvements in this area currently, while XP will probably see good OGL support for new DX10-like features because of good driver models developed by Nvidia and – maybe – ATI. Porting DX10 to XP, 2000 requires lots of work by MS on XPDM (backporting), but isn’t impossible. They obviously chose not to go that way for multiple reasons, one of them is just forcing XP out of enthusiast machines ASAP.
Directx 10 is another move to get world domination. If they want to show real good products they should hold themselves to the standards so everyone could enjoy them.
Directx 10 is another move to get world domination.
LMFAO! As if competitors aren’t!
They don’t make the OS and all other software running on their “gaming api”.
Competitors don’t need to “make the OS and all other software running on their “gaming api”” in order to be successful. They simply need to provide an alternative gaming api.
You can’t hold to standards that doesn’t exist. If you want anyone to actually *follow* OpenGL that would require OpenGL to take the lead again first.
Not that i believe Microsoft would follow an standard if it existed, but you know, it is not Microsofts job to push ahead competitors.
But don’t worry. For the next two years DX10 only games will be a sure bet for lousy sales and in time when it matters, OpenGL will have catched up again.
OpenGL was a standard for most of the games. Now you see that Microsoft is using their big cash flow to push everyone on the console and using directx.
I still think it’s unfair business.
The problem with OpenGL is that if you use anything beyond the basics you have to use extensions and you have to program for each of these extensions. Go ahead and ask John Carmack how much fun that was in Doom 3.
Microsoft pushed their own format which did not need extensions. A console or a handheld that has the same hardware OpenGL with extensions is fine. On a PC platform which can have multiple flavors of video card vendors and multiple video video cards with different features OpenGL is just a silly idea to have to support all of those flavors of extensions.
OpenGL is the ONLY option if you have to support multiple platforms beyond Microsoft platforms (i.e. Macs or Linux), but is pretty useless for much more than that.
DirectX is the much more superior option in drivers and features without having to add any extra layer of complexities.
It has nothing to do with Microsoft’s cash flow pushing developers to use DirectX.
This is the reason I can’t stand this forum. Too many people here are misinformed and blame everything on Microsoft because they do a lot of things right.
Here is the deal. It’s not that I love Microsoft so much, its that almost everyone on here has either an agenda or is really very misinformed.
Microsoft can never have a good product no matter what they do on here. People on here are just so grossly misinformed or have an agenda that is extremely liberal and blame everything on Microsoft.
I get tired of people doing this all the time and every day and every night and not even bothering to see the truth. It is like a world if ignorance out there and even if the truth is out there nobody cares.
The problem with OpenGL is that if you use anything beyond the basics you have to use extensions and you have to program for each of these extensions. Go ahead and ask John Carmack how much fun that was in Doom 3.
I’d love to ask him..
Microsoft pushed their own format which did not need extensions. A console or a handheld that has the same hardware OpenGL with extensions is fine. On a PC platform which can have multiple flavors of video card vendors and multiple video video cards with different features OpenGL is just a silly idea to have to support all of those flavors of extensions.
I’m not sure what you mean here. You need a DX-x capable hw for DX-x “extensions” as well as you need an openGL-X-X capable hardware for openGL-X-X extensions.
DX doesn’t enable you to use shaders 2.0 on a non-shader hw so I don’t see your point.
Your point about “not need extensions” is a bit stupid.
In OpenGL you get a base set of features and then if you want to use anymore than that you have to program specifically for that extension on that specific hardware.
Lets say I wanted to use a feature that was in a specific card from ATI, well you would have to write for that extension and it may not work for Nvidia hardware so you have to write for that extension as well.
You have to do a lot more programming to program for each specific case.
In Direct X 10, that spec is updated so that every single card can use all the standards without having to worry about extensions.
In other words you just write code that will work with all the DX10 video cards and don’t have to write code for every single case.
Programming is simpler, easier to write, easy to get working exactly the same across all Direct X 10 video cards. OpenGL extensions are no longer driving features, DX is.
Even if you gain the features of DX10 using OpenGL on the PC, you have to treat ATI video cards differently from Nvidia and still differently from Intel. They have different architectures and thus different hardware and thus different extensions (if they even have DX10 type OpenGL extensions for that DX10 video card).
OpenGL is okay on Fixed platforms such as consoles, but are a nightmare on PC’s.
In OpenGL you get a base set of features and then if you want to use anymore than that you have to program specifically for that extension on that specific hardware
Which is an advantage. What was your point exactly ?
Apparently, you prefer not being able to do anything instead ?
Lets say I wanted to use a feature that was in a specific card from ATI, well you would have to write for that extension and it may not work for Nvidia hardware so you have to write for that extension as well.
You have to do a lot more programming to program for each specific case
You mean, like people do in DirectX ?
In Direct X 10, that spec is updated so that every single card can use all the standards without having to worry about extensions
In OpenGL 2.à it’s the same deal. Now, I don’t understand. Is DirectX 10 some kind of API made by psychics that know there won’t be evolution in graphics anymore ?
Or are you amazed that the newest version of DirectX include all the improvements made before its release ?
In other words you just write code that will work with all the DX10 video cards and don’t have to write code for every single case
That’s the purpose of these wrappers, you know. And then again, if it works well or not depends entirely of the drivers.
Even if you gain the features of DX10 using OpenGL on the PC, you have to treat ATI video cards differently from Nvidia and still differently from Intel
What nonsense ! You’ll program for OpenGL exactly the same for ATI, Nvidia, x86, x86-64, Sparc, … and the OpenGL driver will do the rest.
Like with Direct3D. So you’re wrong. Aren’t you amazed ? It may even be backward compatible with OGL 1.4 (not sure).
It’s truely better, because it works even across hardware architectures, which explains why it’s used in most consoles too.
D3D 10 doesn’t even come close to be that useful. You’re amazed because an API can deal with several cards on x86(-64) ? Man, you’re cheap, really.
penGL is okay on Fixed platforms such as consoles, but are a nightmare on PC’s
Nonsense, it works just as well on consoles, PC, workstations, big irons. How can you be so clueless about it and yet know so much about DirectX ?
Is it the same phenomenom as on OS, where knowledgeable people on Windows don’t even know the basic of an OS or network functions ?
What nonsense ! You’ll program for OpenGL exactly the same for ATI, Nvidia, x86, x86-64, Sparc, … and the OpenGL driver will do the rest.
What ignorance!
Sure, if you just want to spin cubes, you can program straight OpenGL. If you want to use the full capabilities of the hardware, you need to use the extensions. The extensions are DIFFERENT for different vendors. Get that? DIFFERENT. Doom 3 has no fewer than four different rendering paths, all written in OpenGL. Your claim is therefore obviously WRONG.
Now, I won’t make DirectX out to be any better. Half Life 2 has three different renderers for the various DirectX types. Microsoft is trying to fix this with DX 10 by forcing every vendor to support the same APIs. I’m sure it won’t last though.
What you say is completely true, essentially. The difference between DirectX 10 and OpenGL 2 seems to be that DX10 doesn’t offer any official support for extending the specification publically in vendor specific ways.
In OpenGL, as with DirectX, features are constantly being added to the core spec and by the ARB to prevent them from getting completely out of date, but usually before that happens, video card manufacturers add their own proprietary extensions.
I’m not sure of the logic behind this, but I’d imagine that it’s usually to get developers to start developing these extensions and testing them, as well as for marketing and “nVidia: the way it’s meant to be played” stuff.
Obviously, if a dev chooses to use this extension, they need to make it non-critical or remove support for any card which doesn’t have the extension. This is seen all over the place in DX and GL games, where particular graphics settings are only available on particular graphics cards.
Indeed, with OpenGL, they could go the way that Microsoft has gone simply by removing extension support, making ATI/AMD, nVidia, intel etc. fight over GL to include an extension into the ARB or core spec so that they can use it.
Instead, the GL Core and ARB extensions usually end up being based on ones written by graphics card vendors. It wouldn’t surprise me if the new GL extensions made by nVidia to bring GL up to DirectX’s level with geometry shaders etc. are very similar to the ones that will end up incorporated into OpenGL. Quite often, vendors implement extensions with the same name and in the same way until they are officially included into OpenGL, where to make the code use the official extension, only minor code changes are required.
The main problem with OpenGL seems to be the time it takes for an extension to be incorporated into the core spec. This may be something to do with the ARB being slower at making decisions as they are a collection of bodies with different targets and ideas, whereas DX is owned and operated directly by MS. OpenGL 2 was an effort to correct this, though it still has some way to go.
As far as I know, the core spec is the “official” openGL, but much functionality is implemented in ARB extensions. As far as I know, initially extensions are implemented vendor specifically (i.e. NV_ extensions) and then may later be agreed upon by more than one manufacturer, whereupon they become EXT_ extensions. If the ARB decide, they can make it known as a “standard extension” and it’ll get the ARB prefix. Some extensions make it into the core GL API, but many just stay as extensions.
OpenGL version numbers define a particular API version that a driver must support and then a number of conformance tests and extensions it must support. If an extension is turned from an NV extension to an ARB extension, the driver can state that it includes support for GL_NV_whatever and GL_ARB_whatever. Games can be patched from using the proprietary extension to using the standard extension.
If updating the software and drivers on your computer was simple, this would be great. Unfortunately, most people never update their graphics driver or their games, reducing the power of this extension system… and the Windows Update drivers tend to be really really old.
“I’d love to ask him..”
you don’t even have to, that is what he wrote in his .plan file.
“I’m not sure what you mean here. You need a DX-x capable hw for DX-x “extensions” as well as you need an openGL-X-X capable hardware for openGL-X-X extensions.”
well, without beeing disrespectfull, but then you might prefer not comment on topics you don’t have knowledge about.
On OpenGL it is often necessary to use the same feature on cards from different vendors in a different way (NVIDIA extentions and ATI extensions for the most part which implement the same feature in a different way), at least before they become standard extensions (ARB) which usually takes quite some time. So what he talks about is not that DirectX supports features in software that the hardware does not support but he means that the same feature on cards from different vendors can be used the same way.
You have to understand that while Microsoft has done a lot of things right, the things they have done wrong (in peoples minds) overshadow everything. I think what you perceive as agendas and liberalism is simply the fact that people do not trust their motives, so while yes they may do some things right, the perception is that they have ulterior motives. Microsoft has never appeared to welcome and embrace open standards, and that is what largely ticks everyone off. Computing is no longer a luxury (at least in the West), and IMHO conflicting standards is the bane of computing. A lot of people feel this way. I believe that very thing is responsible for one of the worst squandering of manpower that afflicts the computing industry, and Microsoft is perceived as the crown prince of anti-standard vendor lock in behavior. People resent having their freedom tampered with. There have been many times I have wished to PURCHASE a Microsoft product, but from the activation and registration nonsense to the lack of inter-operation with other products, I have chosen another product or just to do without. I really believe if they just devoted all of their immense resources to just making efficient kick ass products they would still be profitable and you would not see the hootin’ and hollerin’ that takes place any time they announce an initiative.
Microsoft has never appeared to welcome and embrace open standards, and that is what largely ticks everyone off.
The flip side of that argument is that the slow pace of open standards inevitably stymies fast-paced innovation. Open standards may be starting points, but they rarely remain standards for any length of time. Over time, people outgrow old standards and, quite often, the political nature of standards organizations promotes more of a least-common denominator consensus, rather than real innovation. Similarly, there is significant value in leveraging tight integration with a particular platform. Standards tend to frown on such efforts, though.
An example of this is OpenGl itself.
Believe it our not MS was actually a founding member of the OpenGL ARB. (Hey they are appearing to embrace open standards!) They left a few years ago and while I’m not outright defending them here because obviously there were other things going on – when they left they could reasonably make the case that the standard wasn’t moving forward fast enough. Whatever their motivations they were not wrong about that.
The standard under the discussion at the time had to be revised because while, when it was first proposed it was ahead of the game, in the time everyone took to chat about it hardware technology blew right on by.
I’m all for open standards but it is easy to see why a company with the weight to do so would forge its own path. MS is a villain for many reasons but one is that they are one of the few with the market weight to do such things. Before you tell me that well other companies wouldn’t be like MS because MS is particularly evil…let’s look at Apple. Fantastic they endorse OpenGL! Not that they necessarily would, but the truth is that Apple doesn’t have the weight here to do anything else. In fact, it is only in the last few years that graphics companies have produced a big variety of graphics cards for the platform at all. No way they would get large numbers of vendors to program directly to their standard.
But consider music hardware. Apple moved into this unfilled space and therefore had the weight (not to mention a great hardware product) to do whatever they wanted. And they forged right ahead and create their own standard. In a stark example of “market weight” that standard went nowhere until iPod 3G was released. (Which happened to coincide with opening it to Windows.)
Why would they do this? They realized that they could do it faster, cleaner and better if they didn’t have to worry about what anybody else thought of their choices. (And yes, I’m pretty sure they realized that could also lock people in. Also, they were capable of making the hardware themselves.) We should also note that this standard isn’t open, in any way, to anyone else – with direct x at least a vendor has the option of programming to or creating hardware for it. Pigs will fly in a snowy death valley before Apple tells other hardware vendors that the can make their iTunes-store-compatible devices.
My point here, honestly, is not to bash Apple. Just to point out that as great as standards are in principal it is very easy to see why they don’t always win the day in practice. There is reason to single MS out for being part of the problem but let’s not pretend that it is exclusive to their (often dubious) practices alone. Further, it proves tomcats point that “there is significant value in leveraging tight integration with a particular platform”. No doubt. Maybe instead of carping about go-their-own-way MS we should be discussing how to get standards bodies to function more efficiently?
OpenGL is too slow-moving. That’s one big reason why DX has managed to steal its thunder. MS works very closely with video card manufacturers to make sure that they support as much cutting edge functionality as possible — and that the manufacturers’ latest innovations are leveraged by MS’s gaming software. OpenGL is much less interested in pushing cutting edge technology into the API so, as a result, MS has managed to take the lead with DX.
“OpenGL was a standard for most of the games. Now you see that Microsoft is using their big cash flow to push everyone on the console and using directx.
I still think it’s unfair business.”
Actually I disagree with this comment. OpenGL is still used by some of the big game companies, making them available on Linux as well..ever hear of Id Software, Blizzard, etc.?
It is the game companies that choose what to write their games in, not Microsoft. OpenGL works fine in Windows Vista. As for pushing to a console, I wouldn’t own a game console myself, but that is my choice, as the games I like, FPS, are available on Windows. Why have a console?
OpenGl is almost never used in the latest. Only a few games are shipped with it (on pc). OpenGL can be implemented by everyone because its open. So now every other OS can take a look at the directx code and push it on their OS ?
“OpenGl is almost never used in the latest. Only a few games are shipped with it (on pc). OpenGL can be implemented by everyone because its open. So now every other OS can take a look at the directx code and push it on their OS ?”
Where did you get that out of what I said? What I said is that it is the game companies choosing to use DirectX which keeps it going. If they were to use OpenGL then Microsoft would not waste time even making Directx. Apparently Game companies feel it is Superior, since they use it. Microsoft has not forced anyone to use it, since OpenGL has been and is supported on Windows as well as other OS.
Up until mid nineties pcs did not have 3d accelerator cards, only expensive workstations and those were not used for gaming (well… at least not much).
Then came Voodoo cards and Glide was the 3D standard and then after that D3D developed into something usable (although painfull).
On PCs OpenGL *never* was used for gaming. OpenGL games on the PC started when John Carmack of idsoft fame began to promote OpenGL as an better choice (man, Direct3D sucked bad at that time), so graphic card vendors listened to the great god of 3d programming and delivered tiny subsets of OpenGL (thats why these drivers where called MiniGL). The reason for that was that Quake did not have direct 3D support and an graphics card vendor at that time could stop sell his cards if they did not support Quake.
So back in those days OpenGL was mainly used for serious applications.
Of course on consoles OpenGL was the saner choice right away, because why would you want to throw money at microsoft.
And of course DirectX was a better choice for Microsofts XBox because why shouldn’t they use their own products.
So what is a standard. Answer there isn’t one.
There is OpenGL, but that API isn’t a standard, that is why there are so many problems with drivers and then you have to have extensions for each feature on every video card. It is a mess.
Direct3D 10 will only work on Windows Vista, but it brings a “console” experience to the PC.
DirectX also works on the Xbox 360 as well as some arcade games.
Directx 10 is another move to get world domination
Well I think the shareholders would be pretty upset if that wasn’t the plan. ..
If they want to show real good products they should hold themselves to the standards so everyone could enjoy them
… hey, there is nothing stopping you building something better than DirectX10 …
Edited 2006-12-01 15:04
This puts Vista limiting OpenGL to 1.4 into perspective. If they had allowed a modern version of OpenGL on Vista companies would be pushed towards OpenGL for DX10 features and maximum compatibility.
> This puts Vista limiting OpenGL to 1.4 into
> perspective. If they had allowed a modern version of
> OpenGL on Vista companies would be pushed towards
> OpenGL for DX10 features and maximum compatibility.
yes, only that they aren’t anymore limiting OpenGL to 1.4 which is widely known for quite some time now.
Stop complaining. Write your own!
.Stop complaining. Write your own!
Stop complaining. Write your own!
*****
To those mod’ing this down: What’s the matter? Your “community” can’t do it?!?
*****
I just want to say, I am not modding you down.
But yes, it’s called SDL.
SDL isn’t an OpenGL port. It’s an abstraction layer above OpenGL or Direct3D/X.
And what, exactly, do you think DirectX is?
An abstraction layer about HARDWARE.
But that’s beside the point: SDL != OpenGL.
I assumed you were taunting the other guy about developing an Open Source equivalent to DirectX, which is what SDL is.
Execpt that it is not. DirectX is an complete Library for lots of Game functionality.
SDL frees you from the hundred lines of Code needed to set up OpenGL and open an Window for you. Both aren’t even remotely comparable.
That of course doesn’t mean a collection of other librarys could not replace DirectX.
Especially since DirecX will prevent Hardware accelerated 3D sound from working in Viste which makes OpenAL the only working possebility to get your EAX work on Vista, which is the best engeneering joke i have heard in years.
Execpt that it is not. DirectX is an complete Library for lots of Game functionality.
SDL frees you from the hundred lines of Code needed to set up OpenGL and open an Window for you. Both aren’t even remotely comparable.
SDL is comparable to DirextX. The main (and only?) difference is that SDL is multiplatform, and doesn’t have own direct access to hardware (it is a kind of a wrapper for native APIs). SDL + SDL_net + SDL_image + SDL_sound (or SDL_mixer?) + OpenGL is perfectly comparable to DirectX (and with SDL_gfx You can even have drawing 2D primitives). Keep in mind all SDL_* are just small additional libraries for SDL (so they are what DirectX parts are, more or less). And there are more SDL_* libraries adding more features which are not available in DirextX.
So SDL is much more than “hundreds of lines of code for setting up OpenGL and opening Window”.
Well lets habve a look at this part for part:
SDL_net has a fraction of DirectPlay functonality, but it might be alright on high budget titles since they tend to write there own netcode anyway. It is far inferior though from a low budget guys perspective who would use DirectX functionality instead.
SDL_image well, an image loading extention… unimpressive.
SDL_sound is such a useless piece of junk that even the SDL documentaion(!) recomands using something different instead. It also is not even remotely comparable to DirectSound. People usually use OpenAL instead, which is not a part of SDL.
OpenGL again is not a part of SDL and while everything that is possible with Direct3D is possible with OpenGL it is not comparable from the amount of build in functionality. OpenGL stops at drawing textured polygons for you and executing shaders.
Direct3D offers additional functionality for loading skeletal animated meshes and much other stuff.
Again, for professional studios that is not much of an argument but for the low budget crowd it is.
At least you admit you were, and are, completely wrong.
SDL is a direct competitor to DirectX.
No, i admit(? strange i can’t remember denying it) that you can do the same stuff with a whole bunch of librarys that you can do with DirectX but SDL is a *tiny* fraction of it. You say you can fly around the world on a piece of gaffer Tape because someone stuck some gaffer tape inside his plane and i don’t think that giving the right part credit.
SDL is an competitor to DirectX in the way a russian 1970 Lada is an Competitor to an Ferrari. It sure drives (sometimes) but it will take you much more work and time to get you where you want.
SDL is an competitor to DirectX in the way a russian 1970 Lada is an Competitor to an Ferrari. It sure drives (sometimes) but it will take you much more work and time to get you where you want.
So it IS a competitor, and it IS comparable (You compared them in Your previous post when You try to dismiss whole SDL world).
Yes of course they are comparable, everything is comparable.
You can compare Apples and Bananas, daylight and strawberrys, night and snow, switzerland and weatherstations, DirectX and SDL.
Yes of course they are comparable, everything is comparable.
Just wanted to remind You Your own words:
Both aren’t even remotely comparable.
You wrote:
You can compare Apples and Bananas, daylight and strawberrys, night and snow, switzerland and weatherstations, DirectX and SDL.
Or You can compare 2 cars, 2 apples, daylight at various weather conditions, night at different locations, DirectX and SDL.
That is because i assume two different definitions of comparable. One that makes sense and one that does not.
I prefer the first one but people who don’t care if they compare Apples and Bananas obviously can compare everything.
That is because i assume two different definitions of comparable. One that makes sense and one that does not.
I prefer the first one but people who don’t care if they compare Apples and Bananas obviously can compare everything.
Or You just don’t want to admit that SDL is for OpenSource “world” what DirectX is for Windows.
Sure SDL may be much less in one part but also can be more in other. Both are used to write games, both can be used to write other types of applications. SDL alone is of course mainly for 2D games, but with OpenGL You can create 3D games.
It doesn’t matter if You like it or not, if You can see any sense in it or not – there ARE many games written using SDL libraries (and also + OpenGL), some of them quite good.
BTW another multiplatform, probably less known, API is Allegro library. There are also “extension” libraries for it, but “core” library offers more “features” than “core” SDL, so it’s even closer to what DirectX is for Windows world.
I bet you think i’m some sort of Windows-troll but the funny thing is, i’m not.
“Or You just don’t want to admit that SDL is for OpenSource “world” what DirectX is for Windows. ”
Yes, maybe i just don’t want to accept that there is no decent API on Linux to write games.
I used SDL and think it sucks bad even at rather simple 2d games. Most SDL extentions suck as well and you will have a fun time finding the very few that don’t.
I realy prefer Allegro but that might also be because i’m biased, since i use Allegro since its early DOS days.
I believe, if there was an feature rich, complete, everything you want package like DirectX on Linux then there would be more professional level games… and that is quite frustrating.
I bet you think i’m some sort of Windows-troll but the funny thing is, i’m not.
No, i don’t think You are Windows-troll. If troll then only SDL one
Yes, maybe i just don’t want to accept that there is no decent API on Linux to write games.
I used SDL and think it sucks bad even at rather simple 2d games. Most SDL extentions suck as well and you will have a fun time finding the very few that don’t.
Well… that’s Your opinion. I’m not trying to make You love SDL or anything like that. Just don’t underestimate it just because You don’t like it.
I realy prefer Allegro but that might also be because i’m biased, since i use Allegro since its early DOS days.
Heh, and i prefer SDL. I really don’t like naming convention of Allegro library. But i’m not dissing it. In fact i think it’s great we have two APIs, both quite different from each other, and we can use whatever we like more.
I believe, if there was an feature rich, complete, everything you want package like DirectX on Linux then there would be more professional level games… and that is quite frustrating.
I don’t think it’s a “fault” of available APIs.
Writing game is quite a long term job. Even if we agree that writing code shouldn’t be that time consuming, there is still a lot (IMHO much more) work to do on gfx, music, sounds, etc… and it’s hard to keep the same team in OpenSource projects for that long.
Have You seen “Battle for Wesnoth” game? It’s SDL based 2D, turn-based strategy. And i think it’s one of the most “finished” OpenSource “big” titles.
And if You mean “commercial” games – ID Software is making their games for Linux too (IIRC using parts of SDL API . There was also Unreal Tournament (SDL again?) and Neverwinter Nights.
IMHO main reasons of lack of “commercial” games on Linux are:
1. lack of large number of people who would buy it (that probably will change for better with more and more “easy and friendly” distros like Ubuntu).
2. lack of clean/readable information about existing APIs (and maybe also lack of stable ABIs?). I didn’t work with DirectX since DX6 or DX7, but i remember it had really good and easy to seek through documentation.
And if many/most game coders around the world are used to DirectX…
3. and for 3D “super extra fancy effects” games: lack of good hardware support (ie. drivers). But that seems to be changing now too, for better.
Old versions of Windows didn’t have nice to use gaming APIs and there were games for it being done anyway. Same for DOS (i never really used DOS because i came to PC land after Windows 95 was already there), and Amiga.
> Yes, maybe i just don’t want to accept that there is no decent API on
> Linux to write games.
> I used SDL and think it sucks bad even at rather simple 2d games. Most > SDL extentions suck as well and you will have a fun time finding the
> very few that don’t.
>
> I realy prefer Allegro but that might also be because i’m biased, since i
> use Allegro since its early DOS days.
Errm… I thought Allegro and SDL are more or less the same… time to rethink, it seems. Anyway, Allegro exists for Linux too.
Can’t speak for SDL, but Allegro is really really nice. I used it myself and until then I never knew how easy game development can be.
“Errm… I thought Allegro and SDL are more or less the same… time to rethink, it seems. Anyway, Allegro exists for Linux too.”
No they are quite different on almost any aspect. The most important of them beeing that it is “all in a package” that you would search together for SDL.
It is also much easyer to use (especially input).
And yes, i already use the Linux and Windows version of Allegro, the last time i used it on DOS was sometime mid ninetees.
But it is not competition for DirectX, as it is also just a tiny fraction of what DirectX does.
No they are quite different on almost any aspect. The most important of them beeing that it is “all in a package” that you would search together for SDL.
That’s not a whole truth. Yes, Allegro has more in “core” package than SDL has. But it does not have “all”. For example, last time i checked it didn’t have built-in JPEG support, or MP3 or OGG formats. There are additional, small libraries for that. Which is not much different from SDL.
While Allegro has more at start, additional libraries for it are IMHO less nice than SDL ones. They are more like “hacks” than “plugins”. But that, of course, is just my personal point of view.
It is also much easyer to use (especially input).
For me SDL one is easier to use. Probably because it’s main “message” pipe is quite similar to what BeOS has (much easier to use in multithreaded applications) – and i like BeOS API .
But it is not competition for DirectX, as it is also just a tiny fraction of what DirectX does.
I don’t argue that DirectX is “worse” or “better” than SDL, or Allegro. That depends on what You need and like.
SDL is an competitor to DirectX in the way a russian 1970 Lada is an Competitor to an Ferrari. It sure drives (sometimes) but it will take you much more work and time to get you where you want.
That’s your comparison.
In my option SDL is a special kind of Lada which has a very good plugin support along with the ability to switch driver side and an ability to ride on all roads. It’s a bit rough on the edges but it’s robust and gets the job done no matter if you drive the best Austrian roads or the shittiest Slovak ones (I’m from there so no offense can be taken).
A Ferrari on the other hand won’t switch driver sides, so you can’t take it to England or vice versa. It also is too near the road so you can’t drive it on crappy roads. It’s so limited in fact that you probably can’t even go abroad with it.
Edited 2006-12-02 10:23
You assumed wrong — and then you had the temerity to insult me. Incredible.
Just FYI, you’re getting modded down because you’re a retard.
Seriously, why do you even try to debate when YOU KNOW NOTHING ABOUT COMPUTERS?
Congratulations on being the first from your “community” to unveil the insults. But I will at least grant that you had the guts to actually post a reply rather than simply mod down posts that you don’t like.
Off-topic and insulting posts get modded down. Deal with it instead of constantly whining about it.
I’m modding this particular post of yours down for being off-topic. Feel free to do the same with mine.
Here’s a template for the cynical among you: “[product] version n+1 is probably the most important revolution in [industry] since [product] version n-1”.
Let’s translate this to another, less hype-laden industry: “The new 2007 Nissan Sentra is probably the most important revolution in automotive history since the 2005 Nissan Sentra!”
See how lame the article blurb really is?
OpenGL is all about choice and is an open implementation that can run on any platform.
DirectX is a proprietary format locked in to a specific operating system that cannot be ported over to any other platform, or if it can will require a lot more work.
>DirectX is a proprietary format locked in to a
>specific operating system that cannot be ported over
>to any other platform, or if it can will require a
>lot more work.
Well it works on Windows, Xbox 360, Xbox 1, PocketPC, and some arcade games.
I would not call that the only platform that DirectX is on.
Repeat after me:
Microsoft is one vendor.
DirectX is a vendor lock-in.
>Repeat after me:
>Microsoft is one vendor.
>DirectX is a vendor lock-in.
Microsoft isn’t just a vendor, they run the most successfull OS in the world.
DirectX is on Windows, Xbox 360, Xbox 1, Pocket PC, and arcade games.
These are the ONLY platforms I care about and these are the platforms that really matter.
Linux sucks for Multimedia and gaming and the Mac users can just run windows with their new Intel Macs.
There done!
oh man is opengl getting old, sometimes im ashamed to say i use, but hey i take a hit for FOSS
>DirectX is on Windows, Xbox 360, Xbox 1, Pocket PC, >and arcade games.
And ReactOS (open source Windows 2K/XP clone).
Put simply, Here’s what I see in the future of Windows: A video game OS and nothing else.
Works for me. After all, we need a decent platform on which to play “Kill Hookers and Cops: The Game” – I mean the GTA series.
If they loose 1% of users yet force 99% Vista adoption by 2009 from the users who stay with the platform, it’s a bargain.
OpenGL is available on Windows as well folks. It is vendor supplied, meaning Nvidia includes OpenGL with thier drivers, as does ATI, etc. It does exist and can be used. The game companies just are not using it for the most part.
Ok I’m going to chop this up into smaller parts:
1.3d Graphics: OpenGL can do atleast 95% of what DX10 can do and it has it’s own areas where DX doesn’t catch up.. so unless the game maker is stupid, there is nothing horrid happening here. Those who worked with Dx will work with Dx, those who worked with GL (Doom3 anyone?) will work with GL.
2. Shaders: GLSL – has polygon shading already, nuff said.
3. Game libs: (2d + input + sound etc.) DX isn’t the big thing here. Unless they simplify stuff alot it’s basicly comparable to SDL + openGL + openAL combo in a nice package.
4. XNA: I tried it and it’s not good enough. For example GLScene for delphi offers much better visualization and integration with IDE AND has much easier handling AND has more stuff (integration with ODE, visual shader components, everything is seen on the form in design time etc.). Simply put, XNA is only good if you aim for XBOX, but otherwise it’s “just another game engine” and right now, there are better ones out there, including cross-platform ones.
I’m not saying DX is BAD technicly. It’s bad because it’s a vendor lock-in but it always WAS a vendor lock-in. I’m saying that there’s nothing new happening, and certainly nothing revolutionary. I’d be glad if you could tone down the hype-o-phone a bit because this title is a mega-hype-lie.
>1.3d Graphics:
First of all DirectX 10 uses a lot of what is in the WDDM and OpenGL does not use or is designed for the WDDM which will limit OpenGL’s use somewhat. Second of all OpenGL is not a new API, there are still lots of Fixed Function stuff in OpenGL. DX10 is a brand new API with no Fixed function code in it’s pipeline. You could add in some of the stuff such as the new shaders but you would have to make an extension. This means you have to make things a 1000 times more complex on a PC because they would have to expose this through a new extension for the different video card.
>2. Shaders: GLSL – has polygon shading already, nuff >said.
It does not have Shader Model 4.0 and it does not have Geometry Shaders either and there is no streamout support like what is in DX10 either. So you are SOL.
>3. Game libs: (2d + input + sound etc.) DX isn’t the >big thing here.
It is all nicely build into the OS using DX, you don’t need anything else. Just code and go. You don’t have to worry about bugs in each library messing you up. It works and it supports a ton of the controllers that can be used by an other OS (ie the Xbox 360 controllers wired and wireless for example). Xbox 360 driving controllers can be used as well on the PC or the Xbox 360.
>4. XNA: I tried it and it’s not good enough. For e
XNA is not an engine, it is a .NET(managed) wrapper for Direct X that allows you to program for both Windows and the Xbox 360 platforms (in managed code and using the same code for both platforms) using the IDE and programming tools of Visual Studio. The one out now is made for indie programmers and a full version will be out for retail programming a little bit latter. If you have tried it, then why are you so misinformed?
It is all nicely build into the OS using DX, you don’t need anything else. Just code and go. You don’t have to worry about bugs in each library messing you up. It works and it supports a ton of the controllers that can be used by an other OS (ie the Xbox 360 controllers wired and wireless for example). Xbox 360 driving controllers can be used as well on the PC or the Xbox 360.
Your point about bugs is a nice showing of how you think anything from microsoft is bugfree. I think I could just add another “nuff-said” here but won’t.
XNA is not an engine, it is a .NET(managed) wrapper for Direct X that allows you to program for both Windows and the Xbox 360 platforms (in managed code and using the same code for both platforms) using the IDE and programming tools of Visual Studio. The one out now is made for indie programmers and a full version will be out for retail programming a little bit latter. If you have tried it, then why are you so misinformed?
XNA is what is called a GAME engine. It adds shortcuts for model loading in 3d, special effects, resource handling, audio support, without you needing to do the low level stuff (which in this case would be DX).
I don’t know what you call a GAME engine.. but this is exactly it. It’s perfectly comparable to EG: panda3d.
It does not have Shader Model 4.0 and it does not have Geometry Shaders either and there is no streamout support like what is in DX10 either. So you are SOL.
Sure that may be true but you STILL need a gfx card which supports those things. When such a card hits the deck GL will be there as well to support it. DX is just slightly ahead of time here. The streamout is new to me, I admit.
First of all DirectX 10 uses a lot of what is in the WDDM and OpenGL does not use or is designed for the WDDM which will limit OpenGL’s use somewhat. Second of all OpenGL is not a new API, there are still lots of Fixed Function stuff in OpenGL. DX10 is a brand new API with no Fixed function code in it’s pipeline. You could add in some of the stuff such as the new shaders but you would have to make an extension. This means you have to make things a 1000 times more complex on a PC because they would have to expose this through a new extension for the different video card.
WDDM is just a driver model, that’s not a particular advantage although I see your point.
The extension system of openGL isn’t a bad thing. I’m not sure what you ment with fixed functions tho. How is DX less problematic with this? You still have to query capabilities of hardware anyhow.
Edited 2006-12-01 10:08
>Your point about bugs is a nice showing of how you
>think anything from microsoft is bugfree. I think I
>could just add another “nuff-said” here but won’t.
I never said it was bug free. See the thing is that when hundreds of thousands of video game titles have been written using DirectX most of those bugs will be exposed and fixed. Major developers such as EA use Microsoft Direct X and thus the SDK has been widely used and thus pretty tested. Use your head dude. They have a more unified architecture as well.
>XNA is what is called a GAME engine. It adds
>shortcuts for model loading in 3d, special effects,
>resource handling, audio support, without you
>needing to do the low level stuff (which in this
>case would be DX).
If you call XNA an engine then Direct3D must be an engine too since it has an .x model loader as well.
An engine is something like the Unreal 3 engine or Doom 3 Engine which most of the programming is done for you to make a game. All you need to do is have the artists make models and the rest of the world, plugin the scripting (A.I) and maybe another engine for physics or it maybe already built in.
That is an engine and this has nothing to do with ZNA. XNA is a wrapper for DirectX that allows programmers to program in a language like C#. Yes it is easier, but none of the work is done for you.
That is only part of XNA. There are other parts that help you with management of resources and models and such. I don’t think you really tried it and put thought into it.
>Sure that may be true but you STILL need a gfx card
>which supports those things. When such a card hits
>the deck GL will be there as well to support it. DX
>is just slightly ahead of time here. The streamout
>is new to me, I admit.
I never said you didn’t have to buy a new video card for Direct3D 10. You can run older games though as you can use DX 9 emulation using DX10 functions.
>WDDM is just a driver model, that’s not a particular
>advantage although I see your point.
It offers a huge advantage as DX 10 uses this model to be more reliable than that of OpenGL and uses it to do things that OpenGL cannot do (virtual memory).
>The extension system of openGL isn’t a bad thing.
>I’m not sure what you ment with fixed functions tho. >How is DX less problematic with this? You still have
>to query capabilities of hardware anyhow.
For PC’s that have different hardware it is a bad thing if you want to do any of the new fun stuff that DX10 cards can do. Programming for different extensions means that you have to waste more time programming for that specific extension rather than having it just built right in using directX.
Basically it goes like this:
more time programming = Bad
more programing having bugs with different extensions = bad
Fixed function means when I call a fog function (just an example here and nothing else) that function just makes fog. It is not programmable like shaders are and slows down the pipeline.
Basically Fixed Function is like this:
Old OpenGL is Fixed Function (non programmable functions)
New OpenGL is programmable using shaders.
Shaders are much better, but fixed function can slow down a programable pipeline.
Also because everyone is calling the same fog fixed function that everyone’s fog is going to look the same.
With a programmable shader, you can make your own fog instead of calling a basic fog from the API. This like I said above can slow down your output due to the issues in the programmable pipeline.
Fixed function is legacy code and that is why DX10 is a lot better than OpenGL, it has NO LEGACY and INCLUDES A NEW PIPELINE THAT IS NOT AVAILABLE IN OPENGL.
Imagine if you could design a graphics API from the ground up with NO LEGACY, well this is Direct3D 10.
Direct 3D 10 is not backwards compatible with older versions of Direct 3D. You can however emulate older versions using the new hardware and drivers of the DX10 cards.
I never said it was bug free. See the thing is that when hundreds of thousands of video game titles have been written using DirectX most of those bugs will be exposed and fixed. Major developers such as EA use Microsoft Direct X and thus the SDK has been widely used and thus pretty tested. Use your head dude. They have a more unified architecture as well.
Opensource tools are available for all and thus less bug prone. See how funky that sounds? It’s exactly your logic with DX and code maturity and stability…
You only THINK it’s less buggy, can’t prove it, and neither can I.
If you call XNA an engine then Direct3D must be an engine too since it has an .x model loader as well.
An engine is something like the Unreal 3 engine or Doom 3 Engine which most of the programming is done for you to make a game. All you need to do is have the artists make models and the rest of the world, plugin the scripting (A.I) and maybe another engine for physics or it maybe already built in.
That is an engine and this has nothing to do with ZNA. XNA is a wrapper for DirectX that allows programmers to program in a language like C#. Yes it is easier, but none of the work is done for you.
That is only part of XNA. There are other parts that help you with management of resources and models and such. I don’t think you really tried it and put thought into it.
XNA is a game engine. I can just load some models, add some vectors and ask it for collissions. Try doing that with pure DX. It is so high level that it even specifies (altho you can ignore it) the main loop.
… snipped the rest
OpenGL has support for high level standardized shaders since 1.5 via extension and since 2.0 as built in. So that basically negates the hardware issues you mention.
Considering currently Dx10 is less supported than GL2 I might say that GL is in front here, but I know that HLSL is older and supported for longer.
The no lagacy isn’t particularly a good thing. It’s actually a bad thing. I don’t see a reason why old code should get scrapped unless it was badly designed.
I don’t see much bad design in openGL, so why should it get done from the bottom up again? I admit to certain issues with extensions in the past but that is mostly fixed by now, since GL 2.0 has 90% of them in the core (and thus stable and always present).
Basically what you say is that since DX has no extensions it’s better, BECAUSE I don’t have to bother with specific extension detection and based on that implementation (which in some cases mean HW specific stuff).
I would agree with that if it wasn’t true that GL also becomes “Standardized” across hw, when the various extensions get incorporated inside the core.
If I make my game for openGL 2.0 and use all the 2.0 core (which include GLSL spec. 1.10) it’s going to run on all hw which supports this.
It is basicly same as going with let’s say DX9. There’s no difference. It’s not like my stuff won’t work on some ATI card.
Ofcourse IF I USE a specific NVIDIA extension which is available only on nvidia cards then yes, I’m in trouble.
This happened in the past, and is still happening but is mostly based on missing shader support in older GL. And with DX, I’m forced to use only the provided functionality, so for me extensions give me an advantage, not a problem.
I do agree that there are situations in which you HAVE to go about an extension hell tho.
I just think you overstated the fact that DX is a single specification.
The no lagacy isn’t particularly a good thing. It’s actually a bad thing. I don’t see a reason why old code should get scrapped unless it was badly designed.
OpenGL is a Hardware Abstraction Layer, if hardware changes, so should OpenGL. Graphics hardware has changed significantly the last couple of years from a fixed function, to a fully programmable pipeline. The graphics API should match the way the hardware works, since fixed function is not supported in the hardware, it is ’emulated’ in the OpenGL drivers. The use of these old functions should be discouraged, since they disrupt efficient scheduling in the pipeline. As a result of this ‘legacy’, OpenGL drivers are huge and complex beasts, which contain many ‘bugs’ and are extremely expensive to maintain.
DirectX 9 suffered from the same problems and Microsoft worked together with the hardware guys to design an API which suited the hardware better, and which would be easier to maintain. WGF ( now D3D 10 ) was born.
Many graphics programmers would also like to see OpenGL ‘leagacy free’ with the missing fixed function features provided as some form of middleware which is community maintainable (open source). OpenGL ES is already moving in this direction, OpenGL should follow.
I can honestly say OpenGL, while still a terrific API, has been to slow moving with many of the major backers disappearing (SGI, 3Dlabs). On the other end of the spectrum is the embedded and console space where OpenGL ES is flourishing. Direct3D 10 is a better API than OpenGL 2.0. Extensions provide most of the missing functionality, but this is no excuse for a slow moving API. Let’s hope this will be fixed in the future.
Concerning game development, when choosing an API there are many things to consider, not just which API the developers like best or if it is open or not. DirectX may be a form of vendor lockin, but most games are only targeted at the Windows platform anyway, so that’s not a factor in a business decision. There are much better debuggers and tools for DirectX, also DirectX drivers are of much better quality than their OpenGL couterparts ( hello ATI! ). Microsoft offers support for DirectX, SDL has only the dev community, which is unreliable. These are factors which are most important for commercial companies when choosing a game API, don’t judge these companies on choosing Microsoft when choosing open source tools comes at such a high cost. And no, I am not a MS fanboy.
I never said it was bug free. See the thing is that when hundreds of thousands of video game titles have been written using DirectX most of those bugs will be exposed and fixed
What the …? Hundreds of thousands of video games !? On DirectX ? What are you smoking ?
Consoles sell far more games than PCs, and still don’t get these number of games. And what’s worse, as they all use OGL (except for XBox brand, but it’s far from being the most sold brand), OGL should be far more debugged.
Major developers such as EA use Microsoft Direct X and thus the SDK has been widely used and thus pretty tested. Use your head dude. They have a more unified architecture as well
What the …? Man, EA sells far more OGL games on consoles. Again, what are you smoking ?
That is an engine and this has nothing to do with ZNA. XNA is a wrapper for DirectX that allows programmers to program in a language like C#. Yes it is easier, but none of the work is done for you
What you say is in complete contradiction to what MS says ! Wow !
>WDDM is just a driver model, that’s not a particular
>advantage although I see your point.
It offers a huge advantage as DX 10 uses this model to be more reliable than that of OpenGL and uses it to do things that OpenGL cannot do (virtual memory)
It’s even more amazing now. Do you even know what you’re talking about ? The driver model for OGL is not fixed at all by OGL specs.
You could do a WDDM like driver for OGL (like it’s done in Linux for example) as well as anything you like.
What is this nonsense about virtual memory ? It’s not tied to OGL at all !
For PC’s that have different hardware it is a bad thing if you want to do any of the new fun stuff that DX10 cards can do. Programming for different extensions means that you have to waste more time programming for that specific extension rather than having it just built right in using directX
Yet more nonsense. You sound like every people developping in OGL have to implement specific extensions every time they want to use one, in every one of their programs. Meanwhile, strangely enough, people using DX 10 use the one from MS and call it a day. What a red herring !
Fixed function means when I call a fog function (just an example here and nothing else) that function just makes fog. It is not programmable like shaders are and slows down the pipeline
Nonsense again. Of course, if you call a fog function, it should return a fog. Do you even realize shaders are not on the same level ?
Cards rather have, say, a particle function, that allows you to make fogs, or clouds, or even trees. They’re not on the same level as the final fog function, of course.
Old OpenGL is Fixed Function (non programmable functions)
New OpenGL is programmable using shaders
That’s plain wrong and nonsense.
Shaders are much better, but fixed function can slow down a programable pipeline
No ! Shaders just use another processor, and another, more appropriate context. Which is better in some cases.
Also because everyone is calling the same fog fixed function that everyone’s fog is going to look the same
Now that’s complete BS !
Fixed function is legacy code and that is why DX10 is a lot better than OpenGL, it has NO LEGACY and INCLUDES A NEW PIPELINE THAT IS NOT AVAILABLE IN OPENGL
It just sounds like bad marketing. Anyway, DX10 will be a lot better than OGL when it’s at least cross platform. Until then …
Imagine if you could design a graphics API from the ground up with NO LEGACY, well this is Direct3D 10
Which has no benefits at all. Wow ! I’m even more amazed someone so fond of MS could say such a thing.
Because Windows isn’t exactly touted for being a NO LEGACY OS, you know.
>Put simply, Here’s what I see in the future of
>Windows: A video game OS and nothing else.
yeah, because nobody does anything else off of Windows in the past, now, or in the future.
>Haha, someone is really frustrated today. And
>probably every other day. Don’t worry though, your
>suffering will come to an end, one day. Really.
well the thing is that a lot of people on here talk shit but they don’t know what they are talking about.
It’s not that I love Microsoft so much, it is that I can’t stand the moronic anti-microsoft and liberal crap some of the people on here believe and troll about.
Okay, we get it. You don’t like Microsoft. So move the f–k on with your lives.
Stop posting shit that you do not understand, have no knowlege of, and stop making stupid political statements that have nothing to do with anyone else.
Do I care that you use Linux? No
Should you care that I use Windows? No
Move on with your pathetic excuse for a life.
If you don’t like Microsoft fine. Keep it to yourself and stop being a little bitch.
There are tons of anti-micosoft crap on this forum and it is time to end it. If it was up to me I would start banning.
You don’t have to like Microsoft, but you should respect other people and right now I don’t see any respect for other people.
Wish I could mod you up on this post but I don’t have the points. It is getting pretty tedious seeing all the little kids jump into ANY article that has even a remote MS connection and start flaming them. Maybe we should have a minimum age for posting to the forums. But the reality is that the immature anti-ms ranting will never go away. Instead, I think I will. It’s only an OS after all.
Likewise, applying your own “logic” to your own statements, I can tell you to “keep it to yourself” if you don’t like someone’s anti-Microsoft remarks. For one thing, nobody is forcing you to come here and read other people posts; I’m sure there are more Microsoft-friendly web-sites out there that you could join. Besides it, if you’re so sensitive that you cannot handle people flaming your favourite platform without throwing little hissy fits like the one I’m replying to, maybe Internet is too much for you.
Wish I could mod you up more than once.
hear hear!!!
OpenGL is on Vista. It may not be the latest version, but that does not matter as the driver you will use is newer from ATI or Nvidia. The only problem may come when you are using a graphics chip from Intel.
OpenGL is however not as robust as DX10 and it does not use the same driver system as DX10. DX10 is native and it takes advantage of a lot of things that OpenGL on Vista cannot.
You can finally get some good speed, but it still is not going to be as fast as DX10 and you are able to use the Aero interface with OpenGL apps, but it is a workaround and not as fast or stable as DX10.
I have mixed feelings about DX10: while I really believe it would probably be the only reason (for me) to upgrade to Vista, and while I think it’s a welcomed improvement over current DX libraries, I also believe it could really pose a threat to the PC gaming environment. Namely fragmentation. Of all my friends, none is willing to upgrade to Vista, and I really consider the numbers shelved by Microsoft about the foreseen Vista adoption rate to be fairly optimistic. What will happen when the shrinking PC games market is going to be fractured in twos? When the latest and best dx iteration only impacts 5% of it? Sure enthusiasts will buy VIsta and a DX compatible card. It’s also true that the same enthusiasts usually play games. But they don’t make the majority of the market. Sure, all new PCs will be DX10 compatible, but, as an example, of all the PC hardcore gamers I know, just a few are willing to spend the money in a new system or an upgrade, with the majority sadly beginning to look for the Xbox360 as a replacement. I really hope to be wrong, but I’m not seeing a bright future for DX10 and for the PC gaming market as well.
stop your yapping guys. Its not as if you guys are writing Vista or you guys are writing Linux or Opengl or DX 10 etc etc etc. You all talk so big about these apps and I bet 99% of you dont even get affected in the long run. So what if MS is close sourced? So what if DX 10 is not going to get ported? If you really want it you will go get it. Simple as that. THere is no need to argue about that. It makes absolutely no sense. Vista has a lot of improvements and people will move over. There are already articles out about how AMD’s 4 x4 platform works much better with Vista since Vista is able to maximize efficiency of the NUMA architecture. Look there will be pros and cons. But I can bet you Vista is a definite upgrade over XP…hell anything is!!! Point is MS has created a better XP replacement…we are not discussing whether OS X is better or not…it is really not making sense to think Vista is a downgrade compared to XP. Have you guys tried the final release? Wait till DX 10 based games come out and watch people in throngs grabbing copies of Vista from the shelves. MS isnt stupid and neither are Nvidia and ATI and neither are the game houses working on DX9/10 titles. Take a step back breathe, relax and look at it in a different manner and you will see the point I am trying to make. Opengl will run fine and so will DX 10. Why Opengl is not popular despite having DX 10 features is not the point of my post either. No one asked Tim Sweeney to code UE 3.0 to work on DX. Similarly no one placed a gun to Carmack’s head to write an Opengl based game engine. Point is both those APIs will work on Vista, and it wont with XP. Its called an upgrade! Its as if saying that Ford came out with a new version of their popular model, and it is better…yet when you go to a Ford dealer to buy their car you say no give me the old one because the new one has some advantages and some disadvantages as well!
I hope that some talented programmers out there will write a wrapper to allow DirectX 10 applications to call OpenGL extensions on systems running XP. That way I won’t be left out in the cold with my Nvidia 7800 GTX. I doubt that Nvidia intends to write a DX10 driver for any of the 7xxx series card. They’d just as soon sell new hardware than support the old hardware. Of course this depends on Nvidia’s OpenGL support as well…
We sort of come full circle. I remember a wrapper some years ago that allowed cards with little or no OpenGL support to use DirectX.
any excuse to buy an 8800 will do.
The WINE team is going to port DX10 to XP.
check the winehq web site for more informations.
Edited 2006-12-01 16:16
>Put simply, Here’s what I see in the future of
>Windows: A video game OS and nothing else.
>yeah, because nobody does anything else off of Windows in the past, >now, or in the future.
Actually, Windows is used for many things besides games.
I see it as game OS, because besides for gaming it sucks. Sure it has a huge app list that run on it, but what about viruses, spyware, monopolistic business practises associated, FUD and everything else?
For me, only two desktop OSs are worth my time right now: Mac OS, Linux (maybe Haiku in the future)
One is proprietary, the other is free. Yet both are really paving the way for future inovation, friendliness and an ethical ecosystem. I only trust these OSs for mission critical use.
What do you see in Windows other then gaming or support for exclusive applications?
Edited 2006-12-01 17:27
At the end of the day, it supports the apps I want to run; other operating systems don’t.
For 90% of the population, that’s all it comes down to. Anything else is just fanclub stuff.
One thing that really surprises me about all of these comments is that I don’t see much about the hardware side of things. Yes, I realize that how DX10 affects Vista and/or XP is of interest here, but one of the major considerations that I have seen over the years with each new version of DX is the hardware.
The GPU companies seem to constantly be designing their chips with an eye on the next DX. For that reason MS has had a large impact on the direction of graphics chip design even without making their own chips. The majority of new features in each new DX is fairly trivial without hardware to support it, but the chip designers have seemed happy (most of the time) to aim current and future design at DX with some minor consideration for OpenGL (more so by Nvidia than others).
It surprises me in this case to read the article and see so many references to CPU-bound operations. Is this really that much of a problem? Just about every set of benchmarks I have seen deals with how GPU-bound modern games are. I guess that if you’re looking at the lower end, the CPU does become a factor, but from my perspective most of the people playing games at the low end are as much or more satisfied with consoles. In the end I can’t help but wonder how much the Xbox360 has influenced the development of DX10.
ATI believes it should be easy to convert your DirectX code to OpenGL.
HLSL2GLSL
http://ati.amd.com/developer/tools.html
http://sourceforge.net/projects/hlsl2glsl
No, they are just too lame to provide us DX10 for winxp, i would pay a full price of vista premium to have DX10 on my XP.
i would pay a full price of vista premium to have DX10 on my XP.
… er, then why don’t you just get Vista Premium?
PC gaming is worth 1.6 billion $US a year and falling
compare this to console gaming which is worth 7.3billion $US and rising
pc GAME MAnufacturers are tired of copyright problems and piracy, for them console games are far more lucrative, its only a matter of time before PC gaming becomes a forgotten dream and linux bashers wont be able to ask “does linux run games, uhhh then its crap”
Would you point me to where someone said Linux is crap because it does not run games?
And 1.6 billion is still quite a sum, isn’t it?
And there are places where PC market is rising and console market is falling, like germany (and most likely other places but i have only seen numbers for germany).
I doubt the PC games market is going to die and if it indeed does that is going to be the day i stop playing, because there are hardly ten console games in existenz worth playing, plus who would want to spend >=600$ on a piece of hardware one can’t even run selfwritten software on?
“I doubt the PC games market is going to die”
I doubt that too. I’ve been hearing this stuff for years already.
“plus who would want to spend >=600$ on a piece of hardware one can’t even run selfwritten software on?”
Yes, it’s much better to spend >= 600$ every 4 months just for a new video card, to be able to play the most recent games.
>For one thing, nobody is forcing you to come here
>and read other people posts; I’m sure there are more
>Microsoft-friendly web-sites out there that you
>could join. Besides it, if you’re so sensitive that
>you cannot handle people flaming your favourite
>platform without throwing little hissy fits like the
>one I’m replying to, maybe Internet is too much for
>you.
I come here to learn what is going on in the computing world and to read discussions. I am here to see what I can learn and progress and improve myself and my knowledge.
There is more to life than Microsoft and I want to see what else is out there and learn.
However, it is really stupid to see ignorant people post like they are the rednecks of the Internet.
The thing is that you should not have to flame a platform. That is something a mental midget would do.
So you advocate flaming posts and people with the lowest I.Q. and the mental age of 8 years old to flood crap on the Internet? It looks like to me that you can’t handle the Internet.
The Internet was better in 1993, at least we didn’t have these kinds of people on the Internet back then.
well i support FOSS
AND I hope that directx10 is really good, becuase opengl has stagnated and we need directx10 to re-energise the foss army, we have to move forward,otherwise the tide will get us, having extensions that fill in the gaps of opengl is a suboptimal solution, opengl serves as hardware abstraction so it should be kept up to date with hardware.
wake up opengl and wake up sgi and release opengl under a foss license