VOGONS


3dfx voodoo chip emulation

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 362 of 386, by Sheriff Hobbes

User metadata
Rank Newbie
Rank
Newbie

I have a quick question: I've tried the SVN built from ykhwong (http://ykhwong.x-y.net/). Is the built-in Voodoo support the one from kekko? If not, are there any pre-compiled versions for DOS-Box available?
I've tried Tomb Raider with the ykhwong build. Strangely enough, the main game is very slow, thus unplayable, whereas the add-on levels (unfinished business) are running smoothly.

Marriage is a three ring circus:
-engagement ring
-wedding ring
-suffering

H. L. Mencken

Reply 364 of 386, by Sheriff Hobbes

User metadata
Rank Newbie
Rank
Newbie

I installed the game from the TR Gold CD and overwrote the executables with the patches in the 3Dcard-folder. TR main ist started with tomb.exe, TR UB with tombub.exe. How can I tell TR main to use opengl glide wrapper as well?

Marriage is a three ring circus:
-engagement ring
-wedding ring
-suffering

H. L. Mencken

Reply 367 of 386, by robertmo

User metadata
Rank l33t++
Rank
l33t++

as for dos games:
soft emu is perfect (at least with core normal)
opengl has some compilation problems and also some minor (unfixable?) problems with opengl and glide uncompatibilities. And some small gliches that I am discussing with wd now.
as for win games:
don't know, too many of them to check, but a few i tried are ok 😉

Reply 369 of 386, by robertmo

User metadata
Rank l33t++
Rank
l33t++

when i asked wd for msvc he said it is broken too 😉 and sent me some mingw version (without fpu) which was supposed to be ok, but it is not 😉
some of bugs disappeared but most of them are still there 😉

for example you can check sdk test15 with core=dynamic even in software mode 😉

Reply 370 of 386, by Sheriff Hobbes

User metadata
Rank Newbie
Rank
Newbie

find a patch without integrated ovl

I found one - on the Glidos homepage! Now both versions run the same! I've just played a few minutes and the only graphics error I could see was borders around the pistol gunfire, everything else was fine.

I could also get Carmageddon to run. Wow, I can't see any difference to the hardware-accelerated version (I have still two computers with Voodoo / Voodoo 2 cards up & running)!

My questions if the built-in Voodoo support from ykhwong is the one from kekko, was not answered, but I assume this is the case, so I would like to thank kekko for his marvelous job! 😀

Marriage is a three ring circus:
-engagement ring
-wedding ring
-suffering

H. L. Mencken

Reply 372 of 386, by Sheriff Hobbes

User metadata
Rank Newbie
Rank
Newbie

Well, your answer was not 100% clear, but I suppose you meant that ykhwong's built includes both kekko's software voodoo emulator and gulikoza's opengl glide wrapper?

I'm not a programmer, so it's a little hard for me to understand. gulikoza's OVL is used if the game calls this file and kekko's emulator is used if the game tries to call the Voodoo card directly?
Both are emulators because the real hardware is not present, so I'm a little confused why TR runs slow with the one solution, but fast with the other one.

Anyway, thanks to both kekko and gulikoza! 😀

Marriage is a three ring circus:
-engagement ring
-wedding ring
-suffering

H. L. Mencken

Reply 373 of 386, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

You can think of gulikoza's as more of a wrapper than an emulator. It uses the Voodoo wrapper on the host and depending on what wrapper it use it will use either D3D or OpenGL which uses the processing power of your GPU.

With the software voodoo 1 emulator it's all emulated using your processor which is much slower.

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

Reply 374 of 386, by Sheriff Hobbes

User metadata
Rank Newbie
Rank
Newbie

Ok, that's what I thought, it uses D3D/OpenGL, so it still has a Windows dependency, which means if I'm unlucky the game won't run in a future Windows version, right?

Marriage is a three ring circus:
-engagement ring
-wedding ring
-suffering

H. L. Mencken

Reply 375 of 386, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator
Sheriff Hobbes wrote:

Ok, that's what I thought, it uses D3D/OpenGL, so it still has a Windows dependency, which means if I'm unlucky the game won't run in a future Windows version, right?

If MS would decide to kill D3D or OpenGl, yes, but I don't see that yet coming. Besides the wrapper could then be made to run on whatever hardware acceleration that Windows uses
And the wrapper also works on other OS.

Reply 377 of 386, by bored

User metadata
Rank Newbie
Rank
Newbie

On page 17 of this thread I give some examples of graphical problems using the OpenGL implementation with EF2000 where textured polygons are sometimes rendered as shaded.

I've found that this is somehow linked to the shaders, but while I read up about GLSL maybe someone could have a quick look at the following fragment shader. Is there a valid reason to assign 'clocal' three different times?

uniform sampler2D tex0;
uniform sampler2D tex1;
uniform vec4 color0;
uniform vec4 color1;
uniform vec4 chromaKey;
uniform vec4 chromaRange;
uniform float alphaRef;
uniform float zaColor;
void main(){
vec4 pixel = vec4(0);
vec4 texel = vec4(1);
vec4 clocal = vec4(1);
vec4 cother = vec4(0);
vec4 tt = vec4(0);
vec4 blend = vec4(0);
clocal = texture2DProj(tex0,gl_TexCoord[0]);
tt.rgb = vec3(0);
tt.a = 0;
blend.rgb = vec3(0);
blend.a = 0;tt *= blend;
tt.rgb += clocal.rgb;
tt.a += clocal.a;
clocal = tt;
texel = clocal;
cother = texel;
cother.a = color1.a;
clocal = color0;
clocal.a = color0.a;
tt.rgb = cother.rgb;
tt.a = 0;
blend.rgb = vec3(0);
blend.a = 0;
blend.rgb = vec3(1) - blend.rgb;
tt *= blend;
tt.a += clocal.a;
pixel = tt;
gl_FragColor = pixel;
}

Reply 379 of 386, by bored

User metadata
Rank Newbie
Rank
Newbie

Thanks. Now I see that the fragment shader builds up as we move through the blending pipeline, but only the final values are used. Ingenious!

It would seem that the biggest clue comes from my picture at the bottom of page 17 where some of the EF2000's panels are rendered with the colours of the navigation lights. This implies that attributes of one polygon are being applied to another.
If both polygons are, say flat shaded, then the only way the problem will be seen is if the colour is different. However, if the attributes of a shaded polygon are applied to a textured polygon then we'll end up with a shaded polygon....which is exactly what I see in the game.

So, it would appear that we're getting out of step somewhere.