VOGONS


Reply 21 of 66, by Matth79

User metadata
Rank Oldbie
Rank
Oldbie
leileilol wrote:

The extra 8 bits are for the PCI bus transfer's sake IIRC.

Yes, remember the days when 24 bit was the option, not sure when that faded away in favour of "32 bit" - which is 24 bit packed to 32 bit word alignment, unless referring to RGBA

Reply 22 of 66, by xjas

User metadata
Rank l33t
Rank
l33t

I've seen noticeable dithering in some S3 Virge 15/16-bit stuff I've tried. Descent 2 and Terminal Velocity come to mind. D2 has a 'modern' 32-bit source port to compare to.

BTW I thought 32-bit was RGB 8+8+8 with another 8 bits of transparency (alpha channel.) Isn't that how PNG uses it?

twitch.tv/oldskooljay - playing the obscure, forgotten & weird - most Tuesdays & Thursdays @ 6:30 PM PDT. Bonus streams elsewhen!

Reply 23 of 66, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++
leileilol wrote:

I did make a Q3 mod that had a gradients screen. It was for my study, like this picture of the Voodoo2's dither on gradients

Do you still have it? Could be useful.

YouTube, Facebook, Website

Reply 27 of 66, by Scali

User metadata
Rank l33t
Rank
l33t
leileilol wrote:

PowerVR KYRO does a similar thing.

Not sure if I'd say it's similar.
What the Kyro does is that it renders everything with 32-bit precision at all times (it uses its internal tile cache, which is always a 32-bit framebuffer/zbuffer). It just downsamples the final image to 16-bit if you use a 16-bit rendertarget, to save memory and bandwidth.
Since the 3dfx is not deferred, it cannot do read/modify/write operations in full 32-bit like the PowerVR does afaik.
Aside from that, 3dfx has some RAMDAC hack to upsample the 16-bit data to '22-bit'. Afaik PowerVR does no 'post-processing' of the 16-bit data at all, and just sends it to the screen as-is.

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

Reply 28 of 66, by Scali

User metadata
Rank l33t
Rank
l33t
xjas wrote:

BTW I thought 32-bit was RGB 8+8+8 with another 8 bits of transparency (alpha channel.) Isn't that how PNG uses it?

There are three common variations on the 32-bit theme really.
You have ARGB (or RGBA, BGRA etc), which is indeed 8-bits per channel, with an extra alpha channel.
Then there's XRGB, where the extra 8 bits are not used for anything (most videocards can only use alpha in textures, not in the framebuffer, so your rendertarget will be XRGB).
And there is also the 10-bit format, where you get 10-bits for R, G and B, and two extra bits that are unused.

Here's an overview of pixel formats in DirectX: https://msdn.microsoft.com/en-us/librar ... s.85).aspx

But yes, people only talk about 24-bit when there actually are only 24 bits of data, so just 3 bytes for RGB. This format was used by early truecolour videocards to save memory, but it was inefficient to process because of the odd alignment. So as memory became cheaper, it was replaced by 32-bit XRGB.

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

Reply 29 of 66, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

Ok so I did some tests and I can now see the dithering dots 😀

Quake III Arena works well, but I found Incoming even better. It has a frame counter, that helps tremendously in grabbing the same image. Like F2bnp mentioned it is easily spotted with smoke or any shiny effects.

In Incoming it's the lens flares that make it really obvious.

I'll see if I can get that gradient map going with the GOG version of Quake III.

YouTube, Facebook, Website

Reply 30 of 66, by leileilol

User metadata
Rank l33t++
Rank
l33t++

According to the white paper... it does something.

(which is odd because last time I captured a 16bpp Kyro II shot it didn't capture this and the dithering was strikingly identical to the PCX2.)

Attachments

  • Filename
    ITC.pdf
    File size
    144.68 KiB
    Downloads
    830 downloads
    File license
    Fair use/fair dealing exception

apsosig.png
long live PCem

Reply 31 of 66, by Scali

User metadata
Rank l33t
Rank
l33t
leileilol wrote:

According to the white paper... it does something.

(which is odd because last time I captured a 16bpp Kyro II shot it didn't capture this and the dithering was strikingly identical to the PCX2.)

Well, all I can read from there is that it uses an error diffusion dither algo to convert from 32-bit to 16-bit colour.
The PCX2 worked in the same way (full 32-bit internal processing), so there is likely little or no difference (it already had a good dithering algo).

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

Reply 33 of 66, by Scali

User metadata
Rank l33t
Rank
l33t
Joey_sw wrote:

how about that 30-bits colors that some anime-fansub insist of using?
I can't really see any differences with usual 8-bits/planes (8x3=24) videos.

That may just be your monitor 😀
Most LCDs aren't capable of more than 16-18 bit colour. They use dithering to display 24-bit images. You probably won't be able to tell the difference between 30->16-18 bit and 24->16-18 bit dithering on a screen like that.

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

Reply 34 of 66, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie

IIRC most old 3d chips did some kind of dithering for 16bit. Some were better, some worse (eg. Riva 128).
Isn't it a common complaint that modern GPUs don't do dithering anymore, which is an issue if an older game only supports 16bit, but not 32bit? Thief is often mentioned in that context.

leileilol wrote:

If your 3d card doesn't support paletted texturing, then GLQuake and Quake2 won't use 8bit textures and will attempt to convert them to 16-bit which can actually lead to worse texture quality. You can see that happening in your GLQuake 16bit picture having a darker floor than the 32-bit picture.

Since you do a lot about this topic: How do 8bit textures play together with MIP-Mapping? In theory having only 256 colours means you can't always do a good interpolation.

Reply 35 of 66, by Scali

User metadata
Rank l33t
Rank
l33t
idspispopd wrote:

Since you do a lot about this topic: How do 8bit textures play together with MIP-Mapping? In theory having only 256 colours means you can't always do a good interpolation.

Afaik 8-bit textures are mainly a form of 'compression': you store 1 byte per pixel, and a separate 256-colour palette per texture.
The textures are still processed as 16/32-bit textures, they just require less bandwidth.
I assume that each mipmap would have its own palette, so you'd downsample the 256-colour texture and then generate a new 'optimal' palette for the smaller mipmap.

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

Reply 36 of 66, by falloutboy

User metadata
Rank Member
Rank
Member

I made some screenshots with System Shock 2.
I used the screenshot software "HyperSnap-DX 4.52.03", it can apply the 3dfx filters to any screenshots made with any GPU, they got the algorithm from 3dfx back then.
It will look very close to what you see with a real Voodoo3 on your monitor.
Here are my shots made with a Geforce3 with and without the 3dfx 2x2 box ramdac filters. The one with the 2x2 box filter looks similar to a real voodoo3.

Watch them in fullscreen mode and make sure you disable any filtering in your software that you use for viewing the screenshots & set your monitor to the same resolution as the screenshots have.
Make sure your monitor is doing the scaling and not your GPU. Only then it will look like the same as if you are running the game on your monitor in that resolution.
I use IrfanView with disabled resample in fullscreen mode. I can see a huge difference between this two screenshots.

GF3.png
Filename
GF3.png
File size
151.78 KiB
Views
1041 views
File comment
Geforce 3 original
File license
Fair use/fair dealing exception
GF3+3dfx-2x2box.png
Filename
GF3+3dfx-2x2box.png
File size
180.96 KiB
Views
1041 views
File comment
Geforce 3 with 3dfx 2x2 box filter (looks like on a real Voodoo3)
File license
Fair use/fair dealing exception
Last edited by falloutboy on 2015-10-29, 16:53. Edited 2 times in total.

Reply 37 of 66, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

Thanks for taking these shots falloutboy.

So, System Shock 2, supports 16 bit colour only? Can you think of any other games?

YouTube, Facebook, Website

Reply 38 of 66, by falloutboy

User metadata
Rank Member
Rank
Member
philscomputerlab wrote:

Thanks for taking these shots falloutboy.

So, System Shock 2, supports 16 bit colour only? Can you think of any other games?

Original it was 16-bit only, but there is a tool which makes the game compatible with modern systems (only 32-bit rendering supported). SS2Tool --> https://www.systemshock.org/index.php?topic=4141.0
But I also think Quake 3 would be really good for comparison, you just can't make savegames in it to get the exactly same position with all graphic cards. So maybe another game with the Quake 3 engine?
Or if it is for older hardware Tomb Raider 2 (32-bit supported) & Incoming should be good.
With newer hardware you could check out UT2004 & GTA San Andreas if you like 🤣 .

When doing shots on the Voodoo5 remember to also make some with 4x antialiasing enabled. It will make the dithering dots within smoke and similar disappear!

Reply 39 of 66, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
falloutboy wrote:

I used the screenshot software "HyperSnap-DX 4.52.03", it can apply the 3dfx filters to any screenshots made with any GPU, they got the algorithm from 3dfx back then.

Hah, interesting info. leilei? 😀

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto