VOGONS

Common searches


First post, by Glidos

User metadata
Rank l33t
Rank
l33t

Here's a new toy for people to play with it they're interested. http://psvoodoo.sourceforge.net/ Early days so don't expect too much. May be a good alternative to OpenGLide for people playing TR1. Also may be good with Red Baron 3D for those with graphics cards that have no support for paletted textures.

Reply 1 of 39, by Gambit37

User metadata
Rank Oldbie
Rank
Oldbie

What is the benefit in TR1 using this new dll? I didn't see any differences (well, other than slower rendering and various video problems).

Reply 2 of 39, by Glidos

User metadata
Rank l33t
Rank
l33t

This is the first version. Don't expect advantages. 😁

Actually, on my X800, I do see some advantage. I was getting objects at far distance peeking through others. That doesn't happen with this dll for me.

I think you are right about the slower rendering, but I'm surprised you can tell. Is it not managing TR's 30fps? And what are the video problems you are seeing? Screen shot would be interesting. What graphics card do you have?

Reply 3 of 39, by Gambit37

User metadata
Rank Oldbie
Rank
Oldbie

Maybe the slowness isn't real but perceived because you'd already mentioned it. I'll take a closer look at that.

The problems I encountered were when going to the passport ingame. The screen wnet bonkers with great difficulty in rendering the black mask over the screen -- was all broken up and flashing. When I then selected an option (Load, exit, etc) the game crashed with a runtime C++ error. I'll have to recreate it to post a screenshot tonight.

My card is nVidia GeForce Ti 4600. I'm using the Omega drivers v 66.93.

Reply 5 of 39, by Gambit37

User metadata
Rank Oldbie
Rank
Oldbie

Here's the psvoodoo.log file

Attachments

  • Filename
    psVoodoo.log
    File size
    2.74 KiB
    Downloads
    297 downloads
    File license
    Fair use/fair dealing exception

Reply 6 of 39, by Gambit37

User metadata
Rank Oldbie
Rank
Oldbie

And here's two screenshots of it in action.

Ignore the bown lettering -- that's a consequence of my incomplete texturing and not the new .dll. And I've brightened up grab 1 in photoshop, it was too dark otherwise.

In the one with the black mask, you don't see the flashing effect obviously. When going to the passport, the screen goes all flashy and weird. If you then escape back to the game, the flashing continues but it has retained a 'screenshot' of the previous view so if you then move the view by moving lara, the screen flashes between the saved 'screenshot' and the new view.

Going into the passport again and choosing Exit to title causes the C++ error. The game will eventually then crash and there's a tiny Glidos error box that appears saying "Read failure".

Hope that helps!

Attachments

  • Filename
    psvoodoo_grab1.jpg
    File size
    38.16 KiB
    Downloads
    342 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    psvoodoo_grab2.jpg
    File size
    128.96 KiB
    Downloads
    379 downloads
    File license
    Fair use/fair dealing exception

Reply 8 of 39, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

I've tested the wrapper with Croc 1's demo and it works smoothly but with a number of graphical glitches, mainly chromakeying issues and polygons displaying on top of each others (certainly due to the lack of z-buffer emulation).

Does psVoodoo use any configuration file?

Reply 9 of 39, by Glidos

User metadata
Rank l33t
Rank
l33t

Thanks. Useful test. Chromakeying for 16bit texture formats isn't implemented yet, so that explains that part. Is there a warning about z-buffering in psVoodoo.log? w-buffering is handled but not z yet.

There's no config file yet.

Reply 10 of 39, by Glidos

User metadata
Rank l33t
Rank
l33t

Gambit37, if you have time sometime, could you try out the two versions attached. I haven't really got to the bottom of the crashes you were experiencing, but these ones may behave differently.

Attachments

  • Filename
    psVoodooTexExperiment.zip
    File size
    137.63 KiB
    Downloads
    244 downloads
    File comment
    A couple of experimental versions
    File license
    Fair use/fair dealing exception

Reply 11 of 39, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie
Glidos wrote:

Is there a warning about z-buffering in psVoodoo.log?

Yes indeed, Paul. "Warning: z buffering not yet implemented."

The demo is available at C|Net. Below is the full log if you need it.

Attachments

  • Filename
    psVoodoo.log
    File size
    1.25 KiB
    Downloads
    296 downloads
    File license
    Fair use/fair dealing exception

Reply 12 of 39, by Glidos

User metadata
Rank l33t
Rank
l33t

Kaminari, ah right. Shouldn't be hard to sort out then... actually I might have a copy of Croc that another kind friend from vogons sent me. 😁

Gambit37, on second thoughts, trying those experimental versions may be a waste of time. I now think they are unlikely to be any better, and I've just discovered I can reproduce exactly the problem you describe on my GF3, so I can now track it down really easily.

Reply 13 of 39, by Dege

User metadata
Rank l33t
Rank
l33t

I'm back, being very busy... 😁 🙁

I've just tested psVoodoo, good work Paul!!! 😉
Tried with Unreal/Unreal Tournament so far on a GF5700 and ATI X600.
No graphical glitches. About speed problem: yes, indeed not so smooth, but I dont think it's slow (especially with A X600)! I'm sure that some slight improvements will make it far better!! Just a quick look at the source: always use indexed triangles, less geometry data to copy to hw, and the hw itself prefers indexed prims to nonindexed beacuse of less vertex geometry processing.

shader version of gr{Alpha,Color}Combine seems to work ok, but I still haven't found the secret of fast update of textures.

Altough I haven't tested it with a game doing heavy use of paletted textures (like Red Baron 3d), but the trick of using hw regeneration isn't fast enough?
(I also didn't used D3DX functions from DX utility lib, but, I don't think MS optimized the texture loader functions for speed: they are for pre-loading textures at some kind of init phase, like loading all the textures for a new level in a game or something like that, but I may be wrong. 😀 ).

Reply 14 of 39, by Markus

User metadata
Rank Newbie
Rank
Newbie
Static Log log;

in log.cpp breaks compilation of Fog.cpp line 27.
(Compiles with logl.)
Seems to work ok with my 9800XT, albeit a little slow...

I didn't see any noticable visual differences from openglide, so here's my question: what exactly do you try to achieve?

Reply 15 of 39, by Glidos

User metadata
Rank l33t
Rank
l33t

Great! Thanks for the feedback.

Dege, I'll look into the indexed triangle thing. If the game is using indexed, its daft that I don't pass the geometry on in the same way. For paletted textures, the hardware regeneration method is a great improvement, and makes Red Baron smooth, but still Blood is very lumpy (far more lumpy than with dgVoodoo). Still a bit of a mystery.

Markus, thanks for pointing out the log thing. I wonder how I get away with it here!! Strange. As for what I'm trying to achieve, that's a difficult one. Some of my initial aims look like they aren't going to work out as I hoped. I was hoping to make it fast, particularly for palette tricks on cards with no paletted texture support, but I've certianly not managed that - so far at least.

The other main aim was to use shaders to provide more accurate emulation of the combine functions. That's sort of worked out. The way OpenGLide works, the values are correct at the vertices, but linear interpolation doesn't always give the right results on the rest of the triangle. Using shaders you can get it right over the whole triangle. If you look at detail texures in Unreal, I think you can see a difference. On the other hand, its only going to be the more rarely used combine functions that show the difference.

Not sure where its going now. It may end up just gathering dust on sourceforge. In any case, its been fun so far, so I shalln't regret the effort, either way. I've always wanted to write a wrapper from scratch.

Reply 16 of 39, by Glidos

User metadata
Rank l33t
Rank
l33t

A quick warning. psVoodoo doesn't work very well with Glidos at the moment. There's a nasty bug in Glidos to do with frame buffer reading. OpenGLide tolerates the bug, but psVoodoo doesn't at the moment. I completely forgot about this because I fixed my local copy of Glidos. I'm not expecting to release another version of Glidos for a while, so I'll make a more tolerant version of psVoodoo soon, but until then best not use it with Glidos.

Gambit37, this is what caused the crash you experienced

Reply 17 of 39, by Gambit37

User metadata
Rank Oldbie
Rank
Oldbie

OK, no problem, I'll stick with the original Glide dll for now.

Also, a small point, the psvoodoo dll doesn't go into windowed mode when specified, it's always full screen.