VOGONS


First post, by ultra

User metadata
Rank Newbie
Rank
Newbie

Hi there. Shader Model 2.0 was introduced at the end of 2002 with the release of DirectX 9, right? How widespread were new shaders in games particularly released in 2003? Can you think of any examples of these games? Halo is my only thought.

Reply 1 of 19, by ciornyi

User metadata
Rank Member
Rank
Member

Gun metal was shader 2.0 game but it uses only vertex or shader model 2.0 , not both.

DOS: 166mmx/16mb/Y719/S3virge
DOS/95: PII333/128mb/AWE64/TNT2M64
Win98: P3_900/256mb/SB live/3dfx V3
Win Me: Athlon 1700+/512mb/Audigy2/Geforce 3Ti200
Win XP: E8600/4096mb/SB X-fi/HD6850

Reply 2 of 19, by rasz_pl

User metadata
Rank l33t
Rank
l33t

for example Need for Speed: Underground, Afair it switches hidden GFX detail level on dx7-8 cards down.
But not all DX9 games were equal. When Half-Life 2 hit the shelves it quickly turned out Nvidia FX line cost optimizations made those cards execute 32bit shaders at half the speed 😀 Later Nvidia drivers detect some games (like HL2) with slow 32bit shaders and silently substitute with Nvidia rewritten versions - this is how most of driver optimizations work since 20 years.
Valve: "DirectX 8-class graphics cards include the Nvidia GeForce4 Ti and most of the GeForce FX 5x00 series (while technically DirectX 9 cards, the latter suffer from major performance problems with the DX9 rendering path)."

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 3 of 19, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

Tomb Raider: The Angel of Darkness and Halo: Combat Evolved both use Shader Model 2.0 and were released in 2003 on PC.

I must be some kind of standard: the anonymous gangbanger of the 21st century.

Reply 4 of 19, by ultra

User metadata
Rank Newbie
Rank
Newbie

Thanks, very helpful. I also noticed in the system requirements for some 2003 games they needed a "DirectX 9 compatible" card. So they'll run fine on a GeForce 3 or 4, but I will get less advanced visual effects? Is the difference big enough to bother running them on a card with hardware DX9 support? I'm curious because I'm thinking of getting a GeForce 4 Ti.

Reply 5 of 19, by eddman

User metadata
Rank Member
Rank
Member
ultra wrote on 2024-04-09, 09:12:

Thanks, very helpful. I also noticed in the system requirements for some 2003 games they needed a "DirectX 9 compatible" card.

Note that the DX listed in requirements is a terrible indicator of which D3D the game uses (DirectX and Direct3D are not the same thing), and even if you do figure out the D3D version, that alone is not enough to determine which shader version is used (if at all), unless it's stated in the settings or another source.

Reply 6 of 19, by ultra

User metadata
Rank Newbie
Rank
Newbie
eddman wrote on 2024-04-09, 12:15:
ultra wrote on 2024-04-09, 09:12:

Thanks, very helpful. I also noticed in the system requirements for some 2003 games they needed a "DirectX 9 compatible" card.

Note that the DX listed in requirements is a terrible indicator of which D3D the game uses (DirectX and Direct3D are not the same thing), and even if you do figure out the D3D version, that alone is not enough to determine which shader version is used (if at all), unless it's stated in the settings or another source.

So that's why I'm confused. If I get this right, the game might use some other DirectX 9 components, but Direct3D 8 for rendering? Correct me if I'm wrong, Shader Model 2.0 first appeared with DirectX 9, so games requiring DirectX 8 use Shader Model 1.2/1.3/1.4

Reply 7 of 19, by Putas

User metadata
Rank Oldbie
Rank
Oldbie
ultra wrote on 2024-04-09, 13:25:
eddman wrote on 2024-04-09, 12:15:
ultra wrote on 2024-04-09, 09:12:

Thanks, very helpful. I also noticed in the system requirements for some 2003 games they needed a "DirectX 9 compatible" card.

Note that the DX listed in requirements is a terrible indicator of which D3D the game uses (DirectX and Direct3D are not the same thing), and even if you do figure out the D3D version, that alone is not enough to determine which shader version is used (if at all), unless it's stated in the settings or another source.

So that's why I'm confused. If I get this right, the game might use some other DirectX 9 components, but Direct3D 8 for rendering? Correct me if I'm wrong, Shader Model 2.0 first appeared with DirectX 9, so games requiring DirectX 8 use Shader Model 1.2/1.3/1.4

That is right. And sometimes the requirements are lying altogether and you can run the game with lower DirectX.

Reply 8 of 19, by eddman

User metadata
Rank Member
Rank
Member
ultra wrote on 2024-04-09, 13:25:

So that's why I'm confused. If I get this right, the game might use some other DirectX 9 components, but Direct3D 8 for rendering? Correct me if I'm wrong, Shader Model 2.0 first appeared with DirectX 9, so games requiring DirectX 8 use Shader Model 1.2/1.3/1.4

Yes, the game might require a newer input, sound, etc. API from the DX9 suite/package, but use D3D8 for graphics. When I say it uses D3D8 it actually loads d3d8.dll and doesn't even touch d3d9.dll. When it's using D3D8 then there won't be any 2.x shaders.
Even when using D3D8, as mentioned before, it could still be a shader-less game. Many early D3D8 games fall into that category.

Regarding shaders, AFAIK the same thing applies to D3D9. You could make a D3D9 game (loads d3d9.dll) that uses D3D8 shader versions (1.x), or no shaders at all.

There are examples of older games where they require DX8 to be installed but actually use D3D7 (d3dim700.dll) for graphics.
There are many OpenGL games that use non-graphics APIs from DirectX, but obviously you won't call them "DirectX games".

Also, as Putas pointed out, some games might list a higher DX as a requirement but not actually need it at all. These are usually re-released games, where the original release came with, say, a DX8 installer but a later release of the same game included a higher version. I'm not sure, but it could be a requirement by MS to not ship games with an old DX redistributable when a newer one is available, even if the newer one is not necessary.

P.S. all of this is also why I never use the term "DirectX" when talking about the graphics API, "Direct3D". Unfortunately basically everyone use them interchangeably even when it doesn't apply.

EDIT:

You can run a D3D9 game on a GeForce 4 (or any other D3D8 hardware) only if the game has an additional D3D8 compatible path.

Last edited by eddman on 2024-04-09, 16:03. Edited 1 time in total.

Reply 9 of 19, by rasz_pl

User metadata
Rank l33t
Rank
l33t
ultra wrote on 2024-04-09, 09:12:

Thanks, very helpful. I also noticed in the system requirements for some 2003 games they needed a "DirectX 9 compatible" card. So they'll run fine on a GeForce 3 or 4, but I will get less advanced visual effects?

gf3 and 4 are not DX9 compatible

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 10 of 19, by ultra

User metadata
Rank Newbie
Rank
Newbie
rasz_pl wrote on 2024-04-09, 15:28:
ultra wrote on 2024-04-09, 09:12:

Thanks, very helpful. I also noticed in the system requirements for some 2003 games they needed a "DirectX 9 compatible" card. So they'll run fine on a GeForce 3 or 4, but I will get less advanced visual effects?

gf3 and 4 are not DX9 compatible

Apparently it's about the drivers. Check out the system requirements for Vice City, you will need a DirectX 9 compatible graphics card and GeForce 3 or Radeon 8500 are specified.
BTE5cs6.jpeg

Reply 12 of 19, by eddman

User metadata
Rank Member
Rank
Member
ultra wrote on 2024-04-09, 16:26:
Apparently it's about the drivers. Check out the system requirements for Vice City, you will need a DirectX 9 compatible graphic […]
Show full quote

Apparently it's about the drivers. Check out the system requirements for Vice City, you will need a DirectX 9 compatible graphics card and GeForce 3 or Radeon 8500 are specified.
BTE5cs6.jpeg

rasz_pl wrote on 2024-04-09, 17:07:

Nah, its a stupid they used to more or less describe generation of GPU.
Vice City requires DirectX 8.1.

This is why the terms DirectX and Direct3D shouldn't be mixed. Vice City uses Direct3D 8, hence why you can run it on D3D8 hardware.

It's unrelated to the driver. If a game doesn't have a D3D8 path at all, no driver could make it work on such cards.

Reply 13 of 19, by ultra

User metadata
Rank Newbie
Rank
Newbie

Minimum "100% DirectX 9 compatible card" and TNT2 in supported list, haha 😵💫
There are a lot of such confused requirements though
wfVUgE0.png

Last edited by ultra on 2024-04-09, 18:39. Edited 1 time in total.

Reply 16 of 19, by eddman

User metadata
Rank Member
Rank
Member
ultra wrote on 2024-04-09, 17:57:

Minimum "100% DirectX 9 compatible card" and TNT2 in supported list, haha 😵💫
There are a lot of such confused requirements though

The game probably needs one or more of DX9b's non-graphics APIs to function. To test you can install it on a system with, say, DX8.1. Just cancel DX9 installation when the game offers.
It's a Direct3D 8 game and loads d3d8.dll. I suppose it has compatibility render paths for old cards like TNT2.

All in all, do not rely on what's written in requirements to determine the actual used Direct3D.

An example to put things into perspective; the original Half-life 2 is a Direct3D 9 game (loads d3d9.dll and requires it) and yet you can run it on a D3D6 card like TNT2.

Reply 18 of 19, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Severance Bod requires DX8 for installation but runs fine even if the machine has only dx7 installed.
Sometimes it seems to me like a marketing thing to require a newer dx-version (but does not make any use of it)

Retro-Gamer 😀 ...on different machines

Reply 19 of 19, by acl

User metadata
Rank Oldbie
Rank
Oldbie
eddman wrote on 2024-04-09, 21:36:
ultra wrote on 2024-04-09, 17:57:

Minimum "100% DirectX 9 compatible card" and TNT2 in supported list, haha 😵💫
There are a lot of such confused requirements though

An example to put things into perspective; the original Half-life 2 is a Direct3D 9 game (loads d3d9.dll and requires it) and yet you can run it on a D3D6 card like TNT2.

But very poorly and some features ard missing (no flashlight for example)
I tested on a Rage Fury Maxx and its not playable unless you have a fast non period correct CPU (Athlon XP 2500+ for instance). HL2 requires a CPU of 1ghz at least if you have a D3D7+ GPU. But with a D3D6 class graphics card you will have the CPU to handle the T&L which requires an even faster CPU to compensate

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)