VOGONS


Table Fog & 8-bit Paletted Textures

Topic actions

Reply 600 of 612, by Kahenraz

User metadata
Rank l33t
Rank
l33t

Is it used to any effect in Quake 2, such as animated palettes?

Reply 601 of 612, by leileilol

User metadata
Rank l33t++
Rank
l33t++

No, it's used for performance reasons as all Quake2 textures are indexed color, except for skyboxes where there's 24-bit versions. There's no special color remapping like Quake either.

apsosig.png
long live PCem

Reply 602 of 612, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++

Silent Hunter II specifically supports table fog. There's even a warning in its configuration utility that this may not work correctly on some video cards:

The attachment SH2_Config.png is no longer available

You can also turn table fog on/off from the in-game options menu:

The attachment SH2_Options.jpg is no longer available

So far, it has been very rare that a game outright states that it's using table fog, making Silent Hunter II pretty unique in that regard. Even more amusingly, this game was released in November of 2001.

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: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 603 of 612, by marxveix

User metadata
Rank Member
Rank
Member
Joseph_Joestar wrote on 2024-03-18, 09:59:
Start Quake 2, enable 8-bit textures in the Options > Video menu and then open the console by pressing tilde (~). If paletted te […]
Show full quote

Start Quake 2, enable 8-bit textures in the Options > Video menu and then open the console by pressing tilde (~). If paletted textures are supported, the console should state that GL_EXT_shared_texture_palette is detected and used. Relevant screenshot from a Voodoo 3:

file.php?id=152013

Rage 3 / Rage 4 Direct3D palleted textures are working well with right drivers, tested some time ago Rage Pro and Rage128 Pro OpenGL palleted textures also and they are not found with Quake2 , even if it is not so hard to add this function i think. Now i did try Rage128 Pro and GLDirect and version 1.0 up to version 3.0 OpenGL palleted textures are working well if i disable mip mapping option from GLDirect. I used more GLDirect 1.0, easier and less things to change, from GLDirect 2.0 / 3.0 Performance option does not work with palleted textures and CAD version is working from 2.0 / 3.0, choose this, and disable mip mapping, i disabled all other extra options. From GLDirect 1.0 multitexture seems somehow to work, but explosions are slower and i disabled it. I check Rage Pro GLDirect OpenGL also out, in theory it should work,but for Rage128 Pro it does already.

To get GLDirect OpenGL palleted textures, use the right driver version and settings from GLDirect, i used driver 4.11.6745 and 4.13.8006, probably you need to enable palleted textures from Direct3D option if not enabled by default from changed Rage128 Pro driver inf. Palleted GLDirect speed is slower than OpenGL version, Quake2 timedemo 48fps. GLDirect 4 or 5 seems not to work with palleted textures at all. Performance option is faster than normal/regular, working GLDirect 1/2/3 version shows Mesa 3.1 with Quake2. Tested, used ALTOGL, but it did not work with palleted textures, is there any other old and good DX6/7/8->OpenGL tool out there that may work ok with palleted textures? Perfomance penalty is huge, probably half the original speed, i used 640x480x16 resolution, this way both APIs are working for Rage, not only Direct3D.

30+ MiniGL/OpenGL Win9x files for all Rage3 cards: Re: ATi RagePro OpenGL files

Reply 604 of 612, by Kahenraz

User metadata
Rank l33t
Rank
l33t

Why was Table Fog such an inconsistently supported feature? On non-3dfx cards I'll typically see it referred to as Table Fog Emulation or Vertex Fog. Did 3dfx patent this feature or something?

Reply 605 of 612, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
Kahenraz wrote on 2025-01-05, 20:44:

Why was Table Fog such an inconsistently supported feature? On non-3dfx cards I'll typically see it referred to as Table Fog Emulation or Vertex Fog. Did 3dfx patent this feature or something?

Vertex fog is a different thing. You can read up on the differences in this document.

As to why games from that time implemented fog in various ways, your guess is as good as mine. All I can say is that the mid-late 90s were a turbulent time for hardware development. The PDF document I linked to above states that Nvidia cards emulated table fog until the original GeForce, which could finally do it in hardware.

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: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 606 of 612, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Joseph_Joestar wrote on 2025-01-05, 20:55:
Kahenraz wrote on 2025-01-05, 20:44:

Why was Table Fog such an inconsistently supported feature? On non-3dfx cards I'll typically see it referred to as Table Fog Emulation or Vertex Fog. Did 3dfx patent this feature or something?

Vertex fog is a different thing. You can read up on the differences in this document.

As to why games from that time implemented fog in various ways, your guess is as good as mine. All I can say is that the mid-late 90s were a turbulent time for hardware development. The PDF document I linked to above states that Nvidia cards emulated table fog until the original GeForce, which could finally do it in hardware.

Didn't table fog come up in DX5 (circa 1997?). Isn't 1997-2001 (DX8))period a small enough period to consider it a permanent feature, also considering earlier cheap cards would most likely cut out on such features?

previously known as Discrete_BOB_058

Reply 607 of 612, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
BEEN_Nath_58 wrote on 2025-01-05, 22:26:

Didn't table fog come up in DX5 (circa 1997?). Isn't 1997-2001 (DX8))period a small enough period to consider it a permanent feature, also considering earlier cheap cards would most likely cut out on such features?

From what I can tell, in the gaming space, table fog was first introduced in 1996 by the original Voodoo Graphics (Voodoo 1). That card and all later 3DFX products supported it in hardware, while cards from other manufacturers had to emulate it in some way, until the GeForce 1.

The document I linked to was written by an Nvidia engineer, before they acquired 3DFX, so he's only talking about Nvidia cards there.

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: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 608 of 612, by marxveix

User metadata
Rank Member
Rank
Member

ATi Rage3 and Rage4 paletted textures with OpenGL possible with GLDirect, RageXL example added.

30+ MiniGL/OpenGL Win9x files for all Rage3 cards: Re: ATi RagePro OpenGL files

Reply 610 of 612, by marxveix

User metadata
Rank Member
Rank
Member
Kahenraz wrote on 2025-01-08, 00:14:

Very cool. I love the RageXL.

You shouldn't need to do this though. Driver version W98_RXL_4_12_2647.exe from November of 2000 already first paletted textures.

Yes, you do. ATi Rage3/Rage4 drivers seems have only Direct3D paletted textures and OpenGL does not support this function.

If someone have other results i am more than happy to use it without, but even now i have playable framerates with GLDirect.

I use 2582 driver and Direct3D paletted textures are working out of the box, but no OpenGL, tested with many OpenGL version.

30+ MiniGL/OpenGL Win9x files for all Rage3 cards: Re: ATi RagePro OpenGL files

Reply 611 of 612, by leileilol

User metadata
Rank l33t++
Rank
l33t++
Joseph_Joestar wrote on 2025-01-06, 01:37:

From what I can tell, in the gaming space, table fog was first introduced in 1996 by the original Voodoo Graphics (Voodoo 1). That card and all later 3DFX products supported it in hardware, while cards from other manufacturers had to emulate it in some way, until the GeForce 1.

PowerVR's had table fog implemented since at least June 29 1995, so it's no 3dfx supersecret

apsosig.png
long live PCem

Reply 612 of 612, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++

Phil is currently working on a new video about the the GeForce FX 5500, and he did a bunch of testing with regards to table fog, paletted textures and driver version compatibility. He shared these findings with us:

  • You can force 45.23 through device manager, the card shows up as unknown, but otherwise works fine
  • 45.23 gave me corrupted menus in Colin McRae Rally (CD + latest patch). The game works fine however. Upgrading to 56.64 fixes this issue
  • 45.23 wouldn't let me launch Need for Speed: Road Challenge (CD + latest patch). Upgrading to 56.64 fixed this issue.
  • System Shock 2 wouldn't work with 56.64 and 53.04. After starting a new game, you see the loading animation, then a black screen with a single DING sound. Using driver 45.23 resolved this issue and the game works fine!
  • Expendable doesn't show 640x480 as supported resolution. Not a big deal, it runs fast enough at higher resolutions...
  • 45.23 has a toggle option for table fog. The newer drivers do not, but you can access it through PowerStrip.
  • The table fog option triggers a warning message in Star Wars: Shadows of the Empire. Fascinating. I've never seen it on any graphics card that does NOT support table fog, so that was interesting.
  • The table fog option toggles fog in the Thief 2 demo, but does NOT toggle fog in Need for Speed: Road Challenge (CD + latest patch).
  • In recent weeks I had never got working music in Driver and with the GeForce FX I also didn't get 8-bit paletted texture support in Final Fantasy 7 and 8! I used, as always, my automated Windows 98 SE installation. It is Vanilla as it gets, and I then install DirectX 7.0a. Well turns out, installing DirectX 8.2 (the filename shows 8.1) fixes this! I always assumed DirectX 7.0a is the gold standard for Windows 98 SE, but seems not, at least not with the GeForce FX.
    It might be the case that certain GPUs work best with certain DirectX versions. For example, the Radeon 9000 didn't offer any 3D capabilities with DirectX 6, but needed at least DirectX 7 for Windows to have 3D graphics support.
  • I've also seen the blurry text issue when using AA. In Drakan for example. The game does have a texel toggle switch, but it only makes it worse. After I completed the project, I found some discussion about using certain levels of AA and AF to address this, so this is something for the future. Star Wars: Shadows of the Empire also has blurry text.
  • AF on the GeForce FX is very nice! I found some cool information on Anandtech and 3DCenter.org. With the GeForce FX Euclidean distance calculation was used, but ATI, as well as GeForce 6 and 7 used the faster weighted Manhattan distance calculation. This all goes over my head, but it has to do with angle dependecies. For example, try a Radeon 8000 series GPU (8500/9000/92xx). Enable 16x AF and try a game that lets you lean, or look up a wall and turn. You will see how the Radeon has AF that really only works on horizontal textures. The GeForce FX does this prefectly, and it was until the GTX 8800 that Nvidia had such nice AF again! Isn't that lovely finding such gems of information?
  • The DVI out on these Chinese PCI FX 5500 only works once the driver is loaded. A real bummer. I hope someone figures out a fix, maybe a BIOS mod...

I find his insights about the effect of using older DirectX versions, and the Anisotropic Filtering differences between ATi and Nvidia particularly interesting. Additionally, I wanted to share two issues that I have been looking into personally, but haven't had the time to test thoroughly. Maybe someone else can perform the relevant tests:

1) Paletted Texture support on GeForce cards may depend on the driver version. I don't think it works on drivers below version 12.41, and it gets disabled around version 93.71 (Win2K/XP). Again, I haven't tested this thoroughly, so those driver versions may not be the actual cutoff points, but I thought it might be worth mentioning.

2) Table fog compatibility differs between R200 cards (e.g. Radeon 9250) and R300 cards (e.g. Radeon 9600). I noticed that a few games which lack table fog on R200 cards sometimes (but not always) have it on R300 and R400 cards. And this is without any tweaks, and with using the same Catalyst 6.2 drivers. Maybe ATi improved something in the hardware, or the driver path. Of course, R300 cards and above provide perfect table fog emulation under WinXP as of Catalyst 7.11 and higher.

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: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi