VOGONS


First post, by Kahenraz

User metadata
Rank l33t
Rank
l33t

The title says it all. Also relevant: is there a good resource to identify when certain new features were added between DirectX versions? I'm also only interested in versions up through 9.

Reply 1 of 4, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t

I think you mean which version of DirectX adopted table fog. It was a thing on Voodoo 1 cards at launch, and many Glide games used it right off the bat.

The earliest Direct3D compatible games where I've seen table fog used are Star Wars: Shadows of the Empire and Flight Unlimited II, both from the later half of 1997. So the functionality was probably adopted somewhere between DX3 and DX5. There could be other Direct3D games which used it before that, I just haven't found any yet.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 2 of 4, by theiceman085

User metadata
Rank Member
Rank
Member

That's a good question. I have also been interested in the topic for quite some time but the only slightly useful info about the history of the different Directx iterations I found was on the valve developer website.

Unfortunately, the website is down at the moment and it was also not very detailed.

https://developer.valvesoftware.com/wiki/Dire … 2-0-gaNycGzNCdA

Reply 3 of 4, by Scali

User metadata
Rank l33t
Rank
l33t

This NVIDIA paper explains how to use it with IDirect3DDevice3, that interface was introduced with DirectX 6:
https://developer.download.nvidia.com/assets/ … v/docs/Fog2.pdf
So my guess is that this is the earliest version that supports it.

Edit: Nope, I've found that D3DPRASTERCAPS_FOGTABLE and D#DRENDERSTATE_FOGTABLEMODE are already mentioned in DirectX 3.
Perhaps earlier, except I only have .HLP files for those, and I can't open them right now, because I'm on Windows 11.
It seems the d3dtypes.h and d3dcaps.h don't have any specific version filtering around table fog constants, which may imply it's been in there since the very first version.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 4 of 4, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

DX5 .hlp says "only the linear method is implemented".
FOGENABLE, FOGCOLOR, FOGTABLEMODE, FOGTABLESTART, FOTABLEEND and FOGTABLEDENSITY D3DRENDERSTATE_ types are present in DX2/3.
IMHO the linear method of fogging was supported from the D3D birth (DX2), exponential methods are supported since DX6...

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).