VOGONS


Halo CE problems

Topic actions

Reply 20 of 24, by Squall Leonhart

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2025-04-22, 07:12:
It's because of this (at least I guess): F.E.A.R - Two remaining issues (well three) […]
Show full quote
Cambid wrote on 2025-04-21, 11:59:

Yes the glass can be fixed by actually fixing the shader (though CEnshine on custom edition or straight up hex editing the fx.bin on the retail version to use the correct sampler type). It's just that Dgvoodoo used to account for the stock shader being wrong but now doesn't. Not really a big deal though.

It's because of this (at least I guess):
F.E.A.R - Two remaining issues (well three)

I changed the mismatching sampler behavior for the sake of FEAR, and to match the native D3D9 driver implementations (I looked at various vendors). And that fix went into v2.8.

Btw, are there other problems with dgVodoo besides the indicator and this sampler-mismatch thing?
Frankly, I'm getting lost in this Halo shader-mess. I don't even understand why there is no only 1 fix for the game, containing the fixed shader binaries with the modified sampler types (independently on D3D9 implementations). Maybe I should have made a patch for it myself.
Also, I suppose the game appeared correctly with the contemporary GPU it was written for, so if I knew what that hw was (XBox ?), I could put back the old sampler-mismatch implementation for one/some of the virtual cards.

Geforce 3 on Xbox
Geforce FX/Radeon 9600+ on PC

Reply 21 of 24, by Cambid

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2025-04-29, 11:02:
Cambid wrote on 2025-04-27, 20:12:

Yeah dunno what the deal is with the old gpu but the z-fighting significantly less than any of the modern implementations. The game has always had various issues with d3d9 implementations. I remember probably 10 years ago, glass reflections would flicker like crazy on AMD.

My only guess is the lightstrip polygons are not exactly coplanar with walls/ceils, and old hw with vertex shader 1.x/2.x support didn't have full IEEE-752 compliant floating point support unlike modern hw with at least sm4.x support. So, old hw must have produced larger precision errors and due to that, z-fighting was mostly avoided. And top of that, the game was played at lower resolution where the z-precision errors less likely appear, especially with triangle interpolators with larger imprecision compared to modern hw.

But it's only a speculation. TBH, I don't know what to do with this phenomenon.

Just an FYI I worked out a fix in-engine for the z-fighting which is in the latest chimera build. Increasing the frustum near plane distance very slightly when drawing those shaders did the trick.

Reply 22 of 24, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

Thanks! It was really ugly 😁

Reply 23 of 24, by Cambid

User metadata
Rank Newbie
Rank
Newbie

I'm more and more convinced this is a dgVoodoo bug as I haven't been able to reproduce it with dxvk or native d3d9. These small black rectangles occasionally show up on various textures on level geo throughout the game. Not really sure exactly how to reproduce consistently apart from play a bit and keep an eye out for when they show up.

The attachment black spot.png is no longer available

Reply 24 of 24, by Squall Leonhart

User metadata
Rank Newbie
Rank
Newbie

the original game did that on hardware of the time, its a game bug.