Demo of Carmacks reversed with source

Nice … but … I’m getting all kinds of creeping artifacts on my oldschool Radeon. Wandering patterns of blackness all over the screen. Might be some kind of problem with insufficient precision or something.

Originally posted by knackered:
BTW, Humus, are you saying that you developed this (the perpixlighting etc.) without a gf3 to test it on (only your rad8500) ?!
That’s very good work, then.

I’m not sure what you’re trying to imply here … would it be harder to develop perpixel lighting on a Radeon8500?
This demo takes the same path for GF3 and Radeon8500, it only uses ARB/EXT extensions.

Originally posted by zeckensack:
Nice … but … I’m getting all kinds of creeping artifacts on my oldschool Radeon. Wandering patterns of blackness all over the screen. Might be some kind of problem with insufficient precision or something.

I’ve got that reported from some other guys too, not sure why it occures though. Looked like Z-fighting when I saw the screenshot. Looks like I don’t get the exact same Z values when I draw it the second time even though it takes the exact same path the other time.

Ya that sounds like a z-fighting thing to me. Before you render the shadow volumes do you set the depth func to GL_LESS and disable depth buffer writes?

-SirKnight

Humus,

ARB_texture_env_dot3 was not doing the proper scale on the Radeon 8500. I have fixed this issue and the fix will be available in a future driver release.

The DOT3 RGB scale handling was changed from the EXT to ARB extension and I failed to notice that when I first implemented it.
Basically, the EXT version had:

4*DOT3

and the ARB version has:

RGBSCALE4DOT3

The most common case would be to do an RGB scale of 1, making it the same result as the EXT. I believe the change was made simply for orthogonality…

– Dan

Dan,

Any news on the ‘DOT3 on third texture environment of R100’ issue yet? I reported that a couple of weeks ago and Jeff Royle confirmed it.

Originally posted by SirKnight:
[b]Ya that sounds like a z-fighting thing to me. Before you render the shadow volumes do you set the depth func to GL_LESS and disable depth buffer writes?

-SirKnight[/b]

Yes, I do. It works just fine on both Radeon8500 and GF3/4, the problem only seams to occure on Radeon classic.

Originally posted by dginsburg:
[b]Humus,

ARB_texture_env_dot3 was not doing the proper scale on the Radeon 8500. I have fixed this issue and the fix will be available in a future driver release.

The DOT3 RGB scale handling was changed from the EXT to ARB extension and I failed to notice that when I first implemented it.
Basically, the EXT version had:

4*DOT3

and the ARB version has:

RGBSCALE4DOT3

The most common case would be to do an RGB scale of 1, making it the same result as the EXT. I believe the change was made simply for orthogonality…

– Dan[/b]

Nice to here. One thought though, you say that it “was not doing the proper scale on the Radeon 8500”, does that mean it did it right on Radeon classic? Asking because as far as I can remember it worked the same way on my old Radeon, just didn’t know that it was wrong back then.

Tested with the developer driver of today. Confirmed that it works fine now.