VOGONS


Zeckensack's Glide Wrapper

Topic actions

First post, by Schadenfreude

User metadata
Rank Member
Rank
Member

RadeonGlide is dead. Long live Zeckensack's Glide Wrapper. (As it now supports NVIDIA Geforce cards - and NVIDIA OpenGL extensions as well as ATI originally - hence, the name change.)

http://home.t-online.de/home/zsack/glide_wrapper/index.html

[…]
Show full quote
  • New in this release
    Changes: version 0.69, posted May-26-2003 vs version 0.68, posted May-22-2002
    This is mostly a bugfix release, as a couple of serious bugs have made it into the last release.
  • found and fixed a serious issue with the ATIX_texture_env_combine3 path:
    the dummy texture creation happened too late, only texture env0 worked at all (no color combiners ...)
  • fixed an embarrasing bug (typo) in an updated 3DNow! vertex conversion macro (symptoms: Subculture without any textures ...)
  • improved handling of mouse cursor visibility (will hopefully not show in Glide games anymore)
  • improved polygon offset handling (fixes flickering car shadows in Test Drive 4)
  • moved in the updated timer stuff from the archmark project (faster startup, much better consistency)
  • updated configurator to expose the default_gamma setting
  • added (and exposed) gamma_lock, lod_bias and lod_bias_lock settings
  • documentation fixes (typos ...)

    Changes: version 0.68, posted May-22-2003 vs version 0.59, posted Oct-02-2002
    If you've been following this, you know that the last public release was way back. There are way too many changes to list them all. The following list has been trimmed down for brevity.
  • fixed a serious bug with extension loading after destruction/recreation of output window
  • added recognition of GL_ATI_texture_env_combine3 extension (future driver releases may drop the ATIX version)
  • fixed bug in alpha_intensity44 texture conversion (possible GPF/texture corruption)
  • added fully functional NV_register_combiners code path (Geforce series support).
  • completely changed vertex conversion wrt to perspective projection. faster, and eliminates all multi-pass depth artifacts. thank you for the tip, cass 😀
  • fixed a long standing, stupid bug in fragment shader caching (R200 path). performance more than doubled (U1 Flyby minimum fps at low resolution)
  • fixed broken ARGB1555=>RGBA8888 pixel converter (affected: Subculture)
  • relocated all assembly code from inline to its own NASM module (better compiler portability)
  • added SSE vertex conversion
  • implemented a convex polygon 'tesselator' that transforms everything into triangle lists. this has several benefits:
  • GeometryPipe::submit is much more lightweight (no more branches in critical path, everything goes through glDrawArrays)
  • intermixed polygon/triangle rendering can be collapsed into a single triangle batch (Ultima IX seems to benefit)
  • we don't need index storage and management anymore
  • many, many more small bug fixes and efficiency improvements
  • added 'configurator' companion app, and made a few things configurable. this also obsoletes the 'alternative' version. use the 'render to client window' option instead.
  • changed to proper install system (NSIS script)
  • switched to HTML for the documentation

I do believe OpenGlide has just been smoked. No offense or anything, Paul. 😁

Stiletto is trying to work with Zeckensack to have him open up his source. Personally, I would like OpenGlide and Zeckensack's to merge. I hope this can be arranged.

Don't forget, you should be able to get this to work with GliDOS without too much trouble.

I can't wait for the OpenGlide versus Zeckensack versus eVoodoo trials to begin. Anyone up for massive testing? Craig? Snover? Anyone? Bueller?

Reply 1 of 91, by Snover

User metadata
Rank l33t++
Rank
l33t++

You're asking me?! 😜

Yes, it’s my fault.

Reply 2 of 91, by Schadenfreude

User metadata
Rank Member
Rank
Member
Snover wrote:

You're asking me?! 😜

Hm, I thought for sure there'd be a larger reaction to this....

Reply 3 of 91, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Sorry, In a moving state at the moment. Will not stop for about 2 weeks and then I'll still have to get situated there. Depending on how it goes down there I may be in a better game testing situation in about a month....

How To Ask Questions The Smart Way
Make your games work offline

Reply 4 of 91, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by Schadenfreude Hm, I thought for sure there'd be a larger reaction to this....

Well, some of us have a "full plate" right now. Will get to testing it when I can. I can tell you that it has the same problem in DRIVER that OpenGlide has...background images are "wrapped around the camera" instead of across the background, making it unplayable. The real place to test it is with WinGlide-only titles (where WinGlide is the only accelerated option). "Grand Prix Legends" would be a good test game. It desperately needs working Glide emulation.

Reply 5 of 91, by Schadenfreude

User metadata
Rank Member
Rank
Member

http://home.t-online.de/home/zsack/glide_wrapper/index.html
Changes: version 0.70beta, posted Aug-19-2003 vs version 0.69, posted May-26-2003

  • removed the old 800x600 resolution cap
  • now identify as SLI setup (allows higher resolution through Q2 MiniGL driver)
  • fixed CMP_ALWAYS depth buffering issue (oh my ... UHLE/Q64)
  • fixed the NV multi-pass fog issue (UHLE/Zelda)
  • removed stray CMOVs from assembly module (compatibility w AMD K6 series)
  • added a few dozen dummy stub functions to be compatible with Glide2x debug build (Vertigo's Nature demo)
  • small efficiency improvements

Reply 6 of 91, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

[Updated 06/27/2004]

Gave a try to eVoodoo, GlideWrapper and dgVoodoo along with TR1 + Glidos...

* eVoodoo 2.0.4 ~ 2.2: various results ranging from black screen to crash.

* eVoodoo 2.6 + 4.0.21: a Glide2x wrapper in a Glide3x wrapper! Well, Glidos works... in a psychedelic way. Tomb Raider now looks a bit like Rez, except that textures and polys are totally messed up. Groovy baby! At least it's smooth (from what I can tell of the moving garbage). It seems some cards are not supported by eVoodoo 4.0 yet. Your mileage may vary.

tr1_07.jpg

* eVoodoo Nemesis 0.1: it's plagued with the same issues and is awfully slow on my system (and on others as well, it seems).

* GlideWrapper 0.80d: it runs almost flawlessly and noticeably faster than OpenGlide (up to 15 fps faster in Redguard!). Problem: transparency doesn't work with built-in textures and external BMP textures (the RGB 96-64-32 transparent colour appears brown). On the other hand, alpha channel transparency works perfectly with external PNG textures 😕

tr1_06.jpg

* dgVoodoo 1.20: this Glidos replacement doesn't work on Win2K as far as DOS games are concerned, thus I couldn't make any test with TR1 (not that I didn't try). Test of release 1.23 is pending (works very well with Windows games, if a bit slower than OpenGlide).

Last edited by Kaminari on 2004-06-27, 12:30. Edited 9 times in total.

Reply 7 of 91, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

Thought I'd give this thread a push... 😎

Reply 8 of 91, by zeckensack

User metadata
Rank Newbie
Rank
Newbie

Just want to say hi 😀

I haven't gotten around to actually trying out GLIDOS yet. TR1 is part of my collection, though, and I may yet look into it.

Spare time has been rather scarce lately, so please forgive the lack of updates. There are sure some things left to do.

Reply 9 of 91, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

Welcome Zeckensack. Nice to have you on board!

Reply 11 of 91, by Targaff

User metadata
Rank Member
Rank
Member

Thanks for the notification. Just one thing, though - the webpage says Feb 2003 and not 2004 😉 Might confuse some people...

Intel CC820 | PIII 667 | 2x128MB SDRAM | 3Dfx Voodoo 5 5500 @ Dell P790 | Creative SB PCI128 | Fujitsu MPC3064AT 6GB + QUANTUM FIREBALLlct10 10 GB | SAMSUNG DVD-ROM SD-608 | IOMEGA ZIP 100 | Realtek RTL8139C | Agere Win Modem

Reply 12 of 91, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

This is great. 😁

I'd still like to see Zeckensack's and OpenGlide sorta merge... because Zeckensack is leaving OpenGlide in the dust..

OTOH, what little has been done on that front so far, has not led to any end results... and Glidos and Zeckensack seem to have different goals in mind...

At least the new MacOpenGlide port is a step in the right direction...

Zeckensack, I'll touch base in a week or so with a proper update.

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

Stiletto

Reply 13 of 91, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

Just updated my post above. Still the same transparency issue in TR with Glidos. GlideWrapper runs great otherwise 😀

Reply 15 of 91, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Woohoo! This makes Zeckensack's wrapper the first Glide->OpenGL wrapper that wraps Glide3! If Zeckensack is reading, does the wrapper only wrap the Glide3 calls that Diablo2 uses, or does it wrap the full API? Or will you force me to get out Dependency Walker?

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

Stiletto

Reply 16 of 91, by VirtuaIceMan

User metadata
Rank Oldbie
Rank
Oldbie

I believe from the readme (heh) that it just supports Diablo. I tried a few of my Glide3x titles and they said it didn't have the necessary features. eVoodoo runs more Glide3x games though.

Ice

Reply 17 of 91, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
VirtuaIceMan wrote:

eVoodoo runs more Glide3x games though.

For now. 😁 I think Zeckensack will be taking on the project... just my feeling...

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

Stiletto

Reply 18 of 91, by zeckensack

User metadata
Rank Newbie
Rank
Newbie

Ah, I'm late to the party 😀
Glide3 support is somewhat deliberately crippled. As some of you may know, Glide3 vertex layout stuff is much more complex than Glide2, and I haven't implemented much of it.
What Diablo 2 uses is fully generic, so it doesn't just support that one "fixed" vertex layout, but it doesn't support any other vertex components. Most notably fog weights of various flavors.

This is where the crippling comes in: I just don't compile the entry points for fog related stuff into the glide3 build (btw, both versions share the same source code and the rest is handled by the C preprocessor; this was *hard*, I can tell you).

Another thing that's completely missing is the "coordinate space" thingy. Diablo 2 fortunately uses the old-style window space, which behaves a lot like Glide2. However, because it sets this old-school mode explicitly, I had to implement the function anyway. But it's currently just a dummy, it won't do anything when an attempt is made to set "clip space" (which requests that glide will do perspective divide).

*ahem*
What's the best/most important Glide rendering plugin for epsxe? 😀