Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Zoost

Is nVidia betting on the wrong horse?

Recommended Posts

Now that all these new HL2 benchmarks show that ATI DX9 hardware is superior to the Nvidia DX9 hardware can we conclude that the decision of Nvidia to create their DX9 harware around DOOM3 was a big mistake.

Here is a quote of John Carmack.

They (Nvidia) knew that the shadow rendering techniques we're using were going to be very important in a wide variety of games and they made some particular optimizations in their hardware strategy to take advantage of this and that served them well


I guess they assumed that doom3 was the first big DX9 game on the market, and that others would follow the render techniques that JC has implemented. Now that Half Life 2 follows the clean ARB2 path, and did not build their render logic around specific hardware, it is killing Nvidia.

First, I don't like that JC coded for a specific type of hardware (or forced hardware to follow his render technique, in stead of focus on (open) standards and did not focus on OGL2, period. And second, after seeing the new HL2 DX9 movie, I must conclude that HL2 looks better and better in comparison with DOOM3. Up to the point where I must conclude that HL2 looks better (to me). And seems to push DX9 capabilities more then DOOM3.

Did JC make a strategic blunder?

Share this post


Link to post

Not really. Carmack always supported opengl2, problem is it was taking too much time to get standard so he had to go for DX as primary target. Don't forget Carmack had to make a specific version of the rendering code for NVidia architecture. It seems the ATI hardware got much easier to deal with shortly after he had announced the new engine requirements... mainly thanks to some drivers re-thoughts. IMO, NVidia make some critical technologic mistakes. I doubt you can blame Carmack for their lack of insights.

Share this post


Link to post

Well JC let Nvidia build their DX9 architecture around JC's render techniques. And obvious did not say "dont worry about me, stick to the standards".

But this is speculation...

Share this post


Link to post

DOOM 3 is specifically coded using the ARB2 path. Carmack created a new NV30 path for the latest nVidia cards, because the OGL support of the GFFX is rather pathetic. I don't see the "blunder" you claimed JC has made.

Furthermore, from the screenshots and videos I've watched, DOOM 3 does look FAR better than HL 2, technically speaking. HL 2 is building on the best of the current generation of technology, but D3 seems very much like a giant leap forward in terms of graphics programming, and will probably set the trend for years to come.

Share this post


Link to post

Uhm? Doom using more advanced technology than the Source engine? Its not the NV30's poor OGL support, rather it's poor FP-shader support (Due to having a combination of FP & INT units in its pipeline).

How many shaders is Doom upto now? 1? Thought so. And FPP ('DX9'-level shading) masssivly affects this one shader, right? (No, im being sarcastic)

Im sorry, The source engine is much more advanced compared to doom in just about every way mentionable, excluding the lighting. (Though it does support soft shadows, but to what degree I am uncertain).

Doom 3 hardly is a step forward, the only thing it really brings to the table is efficient use of stencil-shadows.

Yes, I realize my confidence in the doom engine has taken a '180' since more details on the source engine have been released.

Share this post


Link to post

Me being paranoid:

Three years ago nvidia teamed up on Doom3. Ati was forced to speak to others: Valve. nvidia tried to work ati off the market, and became very shameless, with marketing like "the way it meant to play". Ati became pissed and leaked doom3 to show what nvidia did with Microsoft and Id. The opinion now is Ati hardware rocks!

Great move!

Share this post


Link to post

Radea,

You are sadly mistaken. DOOM 3 can support a high number of programmable fragment shaders, in conjunction with floating point framebuffers for incredible volumetric effects. HL 2 has none of that.

Carmack invested a lot of effort in floating point operations and FP math during the creation of DOOM 3. This pays off eventually. Look at the specular highlights in the latest HL 2 tech demo: it's very unnatural and unrealistic. The light and view vectors in DOOM 3 is normalised with high-precision floating point math on a per-pixel basis. This makes for smooth and natural-looking highlights, especially on round/curved surfaces.

Trust me, DOOM 3 is a big step forward in rendering technology. No other game or tech demo I've seen make use of a unified lighting model generalised to such an extent. Numerous other games and demos have had stencil shadows implemented (its even in the original Quake 3), but none that I know boast a truly dynamic yet consistent light-surface interaction.

For illustration purposes, let me quote an example of weapon firing. Imagine yourself firing a pistol shot in DOOM 3. The following is a summary of the rendering processes involved in just that 1 simple action:

- weapon fire that dynamically illuminates the environment.
- weapon fire that cast dynamic shadows of entities within a certain vicinity of the environment.
- weapon fire that dynamically alters specular highlights and the diffuse layers of environmental entities.
- weapon fire that dynamically illuminates the weapon itself.
- weapon fire that cast dynamic shadows of the every bump on the weapon.
- weapon fire that dynamically alters specular highlights and the diffuse layers of the weapon model.
- per-pixel level cubemaps on everything (which help lookup every tint of light hitting each pixel), coupled with bump mapped ambient lighting algorithm made possible by generalized dependent texture read support on the R3xx and NV3x cards.
- 128-bit per-pixel floating point operations for immense colour variances and real-time brightness alterations.
- floating point math for almost all lighting implementations and calculations, for increased flexibility and better looking light-environment interaction.

Under certain conditions, there'll be a need for floating point framebuffers, in tandem with complex fragment shaders. This produces realistic volumetric effects, like "volumetric illumination of fogged areas with shadows, real-time light scattering (shader-simulated radiosity) and dynamic eddy currents."

That's about all I want to say about DOOM 3's lighting and rendering engine as a whole. Many of the above progresses were highlighted by Carmack at the beginning of the year in his .plan update. I'm sure many more great graphical features will be included in the engine as novelties for future use (when the hardware is good enough).

All in all, I stand my by previous statement. What I saw in HL 2 doesn't impress me much after realising the consistency (and kickass specularity) of the DOOM 3 engine. A unified lighting model is the future, as witnessed in RIS-level algorithms like global illumination. DOOM 3 breaks through the mould and takes the first step towards that direction, instead of sticking to DX9 standard of graphics which are already available in several, better-looking tech demos.

And DOOM 3's sound engine, GUI and editor is more advanced than HL 2's, but that's for another time. ;)

Share this post


Link to post

Nice post, Zoorado. I couldn't have worded it better.

The critical error in Zoost' first post is the assumption that only HL2 uses clean ARB2 code. Of course Doom3 uses a clean, general ARB2 path as well, along with several other paths for different branches of videocards. It's all designed to get the most out of everyone's videocard.

Also, it's hard to compare Doom3 and HL2 visually. HL2 aims for large open areas in combination with medium detailed character models. The character models in Doom3 are extremely detailed and have self-shadowing and such, but they keep resident in more confined spaces. I think it's great that these two games use these two different approaches in game design. It makes them both more unique.

Share this post


Link to post
Zoorado said:

All in all, I stand my by previous statement. What I saw in HL 2 doesn't impress me much after realising the consistency (and kickass specularity) of the DOOM 3 engine.


I would like to respond to your post.

I cannot argue with you on which engine is more advanced, because I do not have enough knowledge to do so, and beacause I don't really care how it is done, as long as it looks good. And I think that HL2 looks good, as does D3. From my standpoint it as all a matter of taste.

My point was (and is) more from an industry point of view (not that I know anything about that).

We have seen that JC has always stated in interviews that he build his engine around Gforce3 harware. Not around a certain API. But around certain hardware. This gave Nvidia a very nice boost in their brand-recognition and sales. This gave Nvidia the self-contiousnus to build their DX9 hardware not somuch around the different API's much much more around DOOM3 rendering techniques.

May I quote again:

They (Nvidia) knew that the shadow rendering techniques we're using were going to be very important in a wide variety of games and they made some particular optimizations in their hardware strategy to take advantage of this and that served them well


To illustrate that JC was not really focused on the different API's.

“I am now committed to supporting an OpenGL 2.0 renderer for Doom through all the spec evolutions. If anything, I have been somewhat remiss in not pushing the issues as hard as I could with all the vendors. Now really is the critical time to start nailing things down, and the decisions may stay with us for ten years.”



You see? Now this is what happened (I think). Nvidia was becoming a bit arrogant and believed they could team up with Id to create their DirectX9 hardware especially around the doom3 engine. Carmack and Nvidia believe that other gamecompanies, and i quote: "If companies don't licence this technology from us, they will try to copy this tech.". Or in other words, our technonolgy will be standard, so you hardwaremanufactures must focus on our algoritmes.

Now I think that in the last year, Id is becoming more focussed on the standard API. And is pushing Nvidia to do so aswell. With the ultimate response of ID. They showed Doom3 on ATI hardware during E3 2002.

In the meantime ATI and Valve teamed-up and focussed on the real (clean) DirectX9 code. I actually believe that ATI lekaed the doom3 alpha to the public to show the public what Doom3 was looking. Around the same time ATI came with their first Directx9 cards. Now Valve and ATI could focus on all nice features that DirectX9 was offering. Whith as a result a nice card that support PS2 very well. But obviously D3 does not really makes use of that.

I do not know how I should fit the following stories in but I think you can.

1. Id delays D3 to 2004. While they were confident releasing it in 2003.

2. Carmack who was (last year) considering to stop with tha game-engine business. Sounded very focused in the Gamespy quakecon2003 interview.

GameSpy: Are you going to retire after DOOM 3?

DOOM is going to be in use for a long time, but just this year, hardware has surpassed a really significant point with the floating point pixel formats and generalized dependent texture reads. These are things that demand that a new engine is written.



The point I was trying to make is that (from a hardware sales perspective) Nvidia and Id are loosing grounds to ATI. Not only because Valve is trashing Nvidia cards because their PS2.0 support is not good enough. But also because all other software that uses PS2.0 shows that Nvidia did not implement did well enough. Why they didn't do this. Well again because Nvidia thought thay could push Ati out of the market by focussing on specific D3 requirements.

I am surprised JC let them use him.

Share this post


Link to post

I don't see your point. JC has always been anti-Direct3D, in terms of his graphics programming work. DOOM 3 is specifically engineered around the upcoming OpenGL 2.0 (since Carmack added the ARB2 rendering path to the engine last year), which promises much better functionality than MS's D3D API.

From the previous DOOM 3 benchmarks, it's shown that the GeForce FX thrashes ATi's 9800 Pro in terms of performance. Shows that the NV3x series may be more OGL-inclined. NVidia should ahve focused more on supporting DX 9 rendering path as well, but alas...

Carmack hasn't made any wrong decision IMO. All these years he has been diligently programming in OpenGL, refusing to give in to the limited functionality of D3D. Personally, I think OpenGL 2.0 is gonna kick MS's ass. Carmack has tha balls to follow his own perdeption, and I fin that very admirable. Once every game starts using OGL as their primary graphics API, who knows, nVidia might regain their lead...

Share this post


Link to post

How exactly did NVIDIA use John Carmack? He's stated for the last while that ATI cards are going to be the best for Doom3 when it comes out. He's mentioned that he had to write a specific codepath for the GFFX that uses smaller precision datatypes to get the same speed that ATI gets in their default ARB2 path.

Also, the DX9 spec is very similar to the OpenGL 2.0 spec, so DX9 compliant cards will also be OpenGL 2.0 compliant. Saying that he chose poorly by going with OpenGL instead of DirectX is just wrong since both API's are moving in the same direction.

And, just as an aside, when it comes down to it, I've been fairly underwhelmed with the look of Half Life 2. There are some parts that are pretty cool, but Doom3 looks much more tangible to me. I'll probably still buy it, though :)

Share this post


Link to post
Zoorado said:

DOOM 3 is specifically engineered around the upcoming OpenGL 2.0


As JC said, and if you read what my post; He designed it around Gforce3 hardware! That is the whole point. Even up to the point that Nvidia adjusted their hardware to specific D3 requirements.

From the previous DOOM 3 benchmarks, it's shown that the GeForce FX thrashes ATi's 9800 Pro in terms of performance. Shows that the NV3x series may be more OGL-inclined. NVidia should ahve focused more on supporting DX 9 rendering path as well, but alas...


It is mainly PS2.0 functionality that makes the big difference not ARB. D3 does not really use PS, but focusses on VS.

Carmack hasn't made any wrong decision IMO. All these years he has been diligently programming in OpenGL


No, again that is the whole point!

Share this post


Link to post

It is true that DOOM 3 is designed around GeForce 3 hardware, but it will use a lot of OpenGL 2 specific features, as well as next-gen stuff like full per-pixel floating point operations (including framebuffers) and "generalised dependent texture reads".

And no, there is no such thing as Pixel Shader 2.0 in OpenGL. Didn't I make myself clear that DOOM 3 is programmed fully using the OGL API? OGL 2.0 is completely programmable, so you can even have "PS 10" that supports photorealistic shading techniques FAR more advanced than anything possible on DX 9, if you are capable of creating your own shading language.

PS 2.0 is all that matter? LMAO.

Share this post


Link to post
Zoorado said:

PS 2.0 is all that matter? LMAO.


Ask Nvidia Sales Director ;)

Share this post


Link to post
Zoost said:

Ask Nvidia Sales Director ;)


I wouldn't. ;) NVidia screwed up so badly in the decision making porcess, it's not even funny.

That has nothing to do with JC, though.

Share this post


Link to post

So your telling me Doom3 isnt based on simple "DirectX 7"-generation effects (Yes I know its OpenGL) like fixed function dot-3 shading, perpixel lighting done without HDR lightsources, and simple dot-3 at that?

Honestly, Doom requires "DirectX 7" generation cards to run nearly everything, it just requires them to be really fast. Its using brute force methods for the majority of the engine, and no matter how you look at it the source engine is using a more modern way of rendering, using HDR and heavy use of shaders. Again, I fail to see where doom rendering is dependant on shaders? It really only uses one for the lighting, which is hardly affected by FP anyway.

It may look good, but I think we have opposite philosophies on this. Im more interested in the technical aspect of how its acceived than how it looks :)

Share this post


Link to post
Radea` said:

It may look good, but I think we have opposite philosophies on this. Im more interested in the technical aspect of how its acceived than how it looks :)

The difference is that Doom is brute-forcing a new generation for expectations of how a game should look, while Source is "finessing" (hah! as if Valve can actually write finess) an older generation of expectations.

Share this post


Link to post
Radea` said:

So your telling me Doom3 isnt based on simple "DirectX 7"-generation effects (Yes I know its OpenGL) like fixed function dot-3 shading, perpixel lighting done without HDR lightsources, and simple dot-3 at that?


Yes. Shaders are prevalent in the QuakeCon demo. But I can see you haven't played it.

Share this post


Link to post

Funny. Thats the exact opposite of everything I have seen on Doom (Even Beyond3D's most prevalent members are saying the exact same thing I am). Now What I beleive is the only prevalent use of shaders in doom is to reduce the number of rendering passes, while the code base itself is "DX7-hardware"-level. Do you have any sources to proove me wrong? :)

Share this post


Link to post

The game itself is based on DX 8-level hardware (GeForce 3 and above), but there are added graphical features that requires a DX 9-level card. Read Carmack's .plans if you don't believe me. The one he wrote at the beginning of this year clearly states the number of new features he's adding to the DOOM 3 engine, be it ingame or just a novelty for modders.

Regarding the presence of shaders in the game, please read the latest PlanetQuake interview with Tim Willits. The link can be found in DW's DOOM 3 forum.

Share this post


Link to post
Radea` said:

Do you have any sources to proove me wrong? :)

That's easy. In Carmack's latest .plan he talks about how he added features to Doom3 that only DX9 cards can render.

EDIT: Damn, Zoorado beat me to it!

Share this post


Link to post

Sure, Carmack mentions how floating point can (Granted, very smally) impact the look of the shader, which is originally an INT-based shader for DX8 cards, used to reduce the ammount of rendering passes from that of the DX7 cards (Which still look *nearly* identical).

Doom's codebase is still based arround DX7, with added performance benefit (The visual benefit is barely realized) of DX8 and DX9 shaders. (DX9 being nearly pointless unless you run a R3x0-based card, since the perf. hit is non-existent).

Now Source engine's codebase is built around DX8-level technology, with added DX9 benefits for image quality rather than performance reasons.

It doesnt mean Doom looks bad, it just means Source, technically using a more advanced engine, heavily dependant on DX8-level and DX9-level technology.

Now replace the DX8 and DX9 terms with fixed function/integer shaders and programmable/floating point shaders.

And to comment on shaders in the Quakecon interview, he isnt exactly talking about the same type of shader...

Share this post


Link to post

Are we not beating a dead horse?

Both games look good. Regardless of which game uses the most technically advanced API (I dont care), its simple.

Doom 3 takes a whole new spin on the renderer, and functions as the starting block for the next gen. Out with the old, in with the new.

Halflife 2 takes lots of used ideas and amalgamates them into one nice package. Its probably not going to be as clean as Doom 3 underneath the surface.

Duke Nukem 3d wasnt Quake, but that doesnt mean it wasnt a good engine with lots of neat features. Quake wasnt Duke Nukem, but that doesnt mean that it wasnt a breakthrough for the whole industry.

Share this post


Link to post

Halflife 2 takes lots of used ideas and amalgamates them into one nice package. Its probably not going to be as clean as Doom 3 underneath the surface.

Im curious as to what used ideas its taking :)

Share this post


Link to post

DOOM 3's codebase is built on DX 8-level hardware, that is GeForce 3 era of GPUs. I don't get why you keep referring to DOOM 3 as a DX 7 game. Just because HL 2 can run on a TNT2, doesn't make it a DX 6 app...

AFAIK, a truly unified lighting engine has never been done before. That itself is a breakthrough. The graphical features in HL 2 can be seen in numerous DX 9 tech demos, most of which did it far better. I think that is what chilvence meant by used ideas.

BTW, the use of DX 9-level features in DOOM 3 is not only for increased performance, but also for better image quality. At least, DOOM 3's specular highlights are looking much more realistic than HL 2's. And you dare say FP framebuffers have no impact on IQ? Those, in addition to fragment shaders, procedural textures, animated displacement maps and bump mapped ambient lighting can make a HUGE difference in graphics quality and fidelity.

Share this post


Link to post
Zoorado said:

DOOM 3's codebase is built on DX 8-level hardware, that is GeForce 3 era of GPUs. I don't get why you keep referring to DOOM 3 as a DX 7 game.


A Geforce1 is all thats needed for everything D3 does. D3 is DX7 pushed to it's limits, while HL2 is baseline DX9.

Share this post


Link to post

Zoost,

No. HL 2 can run at max settings on a GeForce 1. You don't even require a graphics accelerator to render DX 9-level graphical effects. All you need is a CPU that runs at 1 teraflops. Plus a professionally coded software renderer of course. :D

Share this post


Link to post
Zoorado said:

Plus a professionally coded software renderer of course. :D


Well, what are you waiting for? Get the job done!

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×