VOGONS

Common searches


First post, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I've been using psVoodoo in Glidos 1.33rc5 mostly because I prefer that it doesn't seem to show objects through walls when the objects are farther away, as OpenGlide does. That secret-revealing "feature" of OpenGlide can create some pretty confusing views in complex areas like the Obelisk of Khamoon. Anyway, I've noticed a couple of things with psVoodoo.

The first thing I noticed is that there is a kind of tearing effect in the FMVs where a triangular shaped "wedge" of the video was drawing out of sync with the rest. I'm using the VESA support in Glidos, and I can't disable that support, as the FMVs in TR sometimes make my monitor go screwy otherwise. In testing another issue I disabled hyperthreading in my BIOS and the tearing was no longer visible. This is of little consequence, but it's interesting to note that it doesn't happen with OpenGlide regardless of HT.

The second thing I noticed is that the colors of the 3D graphics are dithered, which is particularly noticeable in dimly lit areas or when you bring up the ring menu (which dims the screen). At higher resolution it's not that it looks terrible, but OpenGlide doesn't exhibit such dithering. I have my desktop set to 32bit color, BTW. Is psVoodoo forcing a 16bit color depth?

Reply 1 of 1, by Glidos

User metadata
Rank l33t
Rank
l33t

Yeah, depth buffering is slightly improved in psVoodoo. Some time I'm hoping to pass back what I've learned from writing psVoodoo into OpenGLide.

The tearing effect is because of the horrible things psVoodoo has to do in supporting logical frame writing in DirectX9. You can't actually write to the DX front buffer, you need surcaces to model the Glide buffers which you render to the screen. When writing to the Glide front buffer, you want the change sent to screen as soon as possible, but you can't do it after every write because each may wait for a vsync. So you end up having to use timers. Its horrible.

Yes, psVoodoo is 16bit at the moment. Gives big speed advantages for logical buffer operations, but does lose some quality. I shall provide a 32bit option at some stage, but there's a fair amount of work involved.