If Doom 3 had been written in D3D....

but if you kept your "don't care about certain features" (EMBM) attitude, you could also use OpenGL and not care about a lot of extensions.

Not really, it's especially the extensions that OpenGL doesn't have, that I care about. Namely ps1.x shaders.
I am probably not going to support FF for much longer anyway... And move to a blend of ps1.x and ps2.x shaders (even on ps2.x+ hardware, ps1.x shaders can often be useful, because they are faster).

What do you do when you run into a card with no crossbar support in D3D, although it supports it in hardware (and OpenGL)?

The same as I do with stuff like EMBM now: ignore it. It's not that useful.
Render-to-texture is a completely different story. That is basically a drawing primitive. If you don't have support for that, your whole rendering approach falls to pieces. That's the difference: D3D supports all the useful features, which OpenGL cannot guarantee, since not everything is in the core. OpenGL extensions may expose some cutesy features, but apparently it doesn't hurt to ignore them, judging from the multitude of succesful Direct3D games.
And it doesn't hurt me either to ignore EMBM. You think Doom3 uses EMBM? It only supports one non-shader path, and that is aimed at a GPU with no EMBM support.
 
Scali said:
Carmack is basically the only moron still coding OpenGL.

Yeah, this is the same "moron" who happened to code a Doom3 game that reportedly gives a great gaming experience even for people with a GeForce4MX with a 1.5Ghz Pentium.

Of course, you don't seem biased at all, do you...

:rolleyes:
 
Scali said:
This is when you get a lecture on this and its grandpa. I trust you know how to use Delphi3D's online db to check what level of support the ARB version has, and since when? And while your at it, check ARB_texture_env_crossbar as well.

I know about the register combiner thing, but there is quite little that it can do that DX7+ FF can't do (which actually works on more than one card at a time anyway), if you ask me (okay crossbar, but how useful is that anyway?).
So you didn't bother with the link I gave you. Please try again.
 
Yeah, this is the same "moron" who happened to code a Doom3 game that reportedly gives a great gaming experience even for people with a GeForce4MX with a 1.5Ghz Pentium.

I think it's pretty silly for him to offload all sound and skinning to the CPU... It makes the game very CPU-dependent... My PC can not get a decent framerate (640x480 low detail or 1024x768 high detail makes virtually no difference in the framerate), even though it has lots of vertex processing power and decent 3d sound support. It's just not being used by Doom3.
To me it looks like it was mainly written for GeForce4MX, and the rest just got some more efficient rendering paths.
A rather outdated approach to writing games if you ask me.
 
The Doom3 project was started back when NV15 was king. I believe he targetted NV10 as the baseline for the engine. That's Geforce 256.

Carmack is a technologist, but he still wants to make money. Targetting NV30/R300 would be stupid since most people have less than that (hell, most have far less than that). Most people have systems with massive processors hooked up to shit graphics like a GF2MX, Intel Extreme, or GF4MX. Go look at a current Dell bargain system.

Carmack wants his engine to scale across a ton of systems so the most people can play it. If you think that's a poor plan, well, your call. I'd say it's very smart design.

Considering the game can challenge top of the line cards to the limit, and yet run on a GF4MX, I'd say it's a rather stunning achievement. I haven't played it myself yet, but I'm looking forward to seeing it. Maybe my mind will change when I try it out.

Maybe comparing Doom3 to Farcry is unfair since Farcry can hardly run on as wide a selection of hardware?
 
swaaye said:
Maybe comparing Doom3 to Farcry is unfair since Farcry can hardly run on as wide a selection of hardware?

That's quite an understatement. Far Cry brings my PRO to its knees. :(
 
Scali said:
So you didn't bother with the link I gave you. Please try again.

Apparently you can't tell me what's so useful about it either.
Should I feel obliged to tell you? Because you're too lazy to click on a link and read a 14 line overview?
Not only did you just demonstrate that you know jack shit about OpenGL, you have never written an OpenGL renderer and you have never even evaluated an OpenGL renderer design (otherwise you'd know what that link is). You also just demonstrated that you're not even interested in getting a freakin' clue. And you have the nerve to judge OpenGL coding effort, and call John Carmack and everyone else using OpenGL morons? Why should I make the effort to explain anything to you?

Please just don't participate in OpenGL related discussions anymore. You'll only be making a fool of yourself.
 
Scali said:
It makes the game very CPU-dependent

This is what [H]OCP had to say about Doom3 CPU-dependence in general:

Thankfully though, DOOM 3 is terribly forgiving to those of you that do not use the latest CPUs. DOOM 3 runs just fine on an Intel 1.5GHz Pentium 4 or an AMD Athlon XP 1800+.
 
Scali said:
I think it's pretty silly for him to offload all sound ... It makes the game very CPU-dependent...
...
even though it has lots of vertex processing power and decent 3d sound support. It's just not being used by Doom3.

Prolly that 3d sound support issue is due to no hardware sound engine supported what he wanted so he had to write it. If the hardware isn't good at doing something why would you want to use it to do that? (now on the otherhand sound hardware seems to be good at reverb and not bad at 3d positioning sounds that are unoccluded and doesn't take into account diffraction at all(though doubt Doom 3 is doing that but who knows)).
 
Should I feel obliged to tell you? Because you're too lazy to click on a link and read a 14 line overview?

I did read it, I just wanted you to tell me what the big deal was. I don't think it's a big deal at all.

Not only did you just demonstrate that you know jack shit about OpenGL, you have never written an OpenGL renderer and you have never even evaluated an OpenGL renderer design (otherwise you'd know what that link is).

That's rich, coming from someone who STILL hasn't explained what's so great about the crossbar extension.

You also just demonstrated that you're not even interested in getting a freakin' clue.

It's more like you're not interested to explain why OpenGL is so great. Now, I could take a guess at your motives, like you've taken a lot of guesses at my expense... I say you either don't know why, or you actually know it's not, but cover up with personal insults instead.

Please just don't participate in OpenGL related discussions anymore. You'll only be making a fool of yourself.

Seems like you're the one making a fool of yourself at the moment.
Funny how people get so worked up about a silly thing like an API.
 
This is what [H]OCP had to say about Doom3 CPU-dependence in general:

I happen to have an XP1800+, and an R3x0 card. The thing is, the framerate is always relatively low, regardless of whether I use 640x480 with low detail or 1024x768 with high detail.
The game seems to be aimed completely at PCs with high-end CPUs and low-end sound and graphics hardware. Ironically, that's not unlike the original Doom.
I would have preferred better support for more advanced GPUs and sound processors, rather than offloading most stuff to the CPU (which is probably part of the reason why it is so damn lowpoly... a coke-can consists of about 8 sides).
 
Prolly that 3d sound support issue is due to no hardware sound engine supported what he wanted so he had to write it.

Well, to be honest, I think the sound is very weak. The sound quality seems bad... distorted and clicking at times... and the positioning is not all that great... It also just lacks raw grunt... I think the sound in a game like Halo is better.
So I don't know what he tried to do, but it didn't come out properly, as far as I'm concerned.
 
About sound and CPU, I would like to point to fmod (www.fmod.org), they claim (and I think they are right) to have the fastest software 'mixer', even faster that some hardware AFAIR.

So bringing the sound to the CPU might not be such an issue.

I rather see Skinning and Silhouette determination to be the cause of CPU dependency, but I can be wrong.
 
jimmyjames123 said:
Yeah, this is the same "moron" who happened to code a Doom3 game that reportedly gives a great gaming experience even for people with a GeForce4MX with a 1.5Ghz Pentium.

Of course, you don't seem biased at all, do you...

:rolleyes:

It goes into the 10-20 fps range at quite a few places, and stalls for as long as half a second when I'm hit. That's on a XP2000+ and Radeon 9800Pro playing in 800x600. (I have to admit the game suggested playing in 640x480 on that config - so it seems I put too much stress onto the hardware.)

I don't think the GF4MX runs it's much better - altough there are options eg. to turn off bump-mapping...

What elements do you define key parts of the gaming experience? I'm curious as everyone refers to Doom3 as if Carmack did it alone... I wonder how would you rate your gaming experience when you'd subtract everything that is not done by him.

So saying that "OpenGL is superior to DirectX because Doom3 is an enjoyable game" is somewhat stupid.

Of course, you don't seem biased at all, do you...

:rolleyes:
 
Scali, you can't objectively discuss d3d vs. opengl because you lack experience with opengl. Calling John Carmack a moron shows me that you don't understand him. I'm certain that he has good technical reasons to back up his decision to put sound on cpu. It's most likely that folks write separate paths for the 8500 to take advantage of its 1.4 shaders and flexibility it provides along with its 6 texture stages which is 2 more than that on nv hw.
 
Cryect said:
Prolly that 3d sound support issue is due to no hardware sound engine supported what he wanted so he had to write it. If the hardware isn't good at doing something why would you want to use it to do that?

It's not that no sound cards support the stuff Doom3 needs - it's that not all of them do.
In fact I'd guess a suprisingly large number of gamers use the motherboard's sound. Or they have SBLive's where the driver takes more CPU than a software mixer would...

Having a software mixer makes it possible to bring the same sound experience to everyone regardless of the capabilities of one's sound card.

Whether it's a good decision depends on the amount of CPU that mixer does - but given numbers I've seen on other mixers I think that was a good decision for Doom3.
 
Scali, you can't objectively discuss d3d vs. opengl because you lack experience with opengl.

Exactly from where do you draw this conclusion?
I actually developed some OpenGL stuff for a CAD software company.
Just because I don't think OpenGL or crossbar is the best thing since sliced bread doesn't mean I have no experience with it.

Calling John Carmack a moron shows me that you don't understand him. I'm certain that he has good technical reasons to back up his decision to put sound on cpu.

That was exactly the point. I do not understand why he would do everything on CPU... that also goes for the geometry processing he does btw.
Ofcourse some of you people look up to Carmack like he's a god, but let's look past that and see what we really have here...
Which brings me back to the only explanation I can find: he targets fast CPUs with cheap hardware. This does not make sense, since it is not the average gamer's setup.
 
Scali, as I explained on page 2, the gl crossbar allows your app to run faster because of less rendering passes as you can fit more math into multitexturing scheme. You don't end up burning the second stage unit by loading it with texture which is the same one as in the 1st unit. Opengl almost always exposes more functionality either thru core or extensions or both. You have more choices under gl than you do under d3d and you can't use d3d in tools very effectively because it's a gaming engine api while gl can handle engines and tools as well.
 
Back
Top