Thread: [Plib-devel] disappearing texture problem
Brought to you by:
sjbaker
From: <ke...@fl...> - 2000-08-04 22:42:14
|
I've seen the disappearing texture before using a Rage Pro - then took the same app to another Mac with a Rage 128, and the textures appear. Just got to have the texture memory on the card... >> Steve, the disappearing >> texture problem is back. This may only be an issue for ATI Rage Pro cards >> (looks fine in software). I will have a Voodoo3 to test on in a few days, >> maybe it will work on that ;-) > > It's been a while - about 100,000 emails ago probably! Can you remind > me of the symptoms? > We added some code to SGI loader so that it always used an alpha channel, even if the SGI file didn't contain an alpha channel. Otherwise, the texture doesn't display, seemingly getting skipped by the renderer. For example, in the opening screen of tux, there is just the water texture at the bottom, tux's feet, and other things that contain alpha channel. To better illustrate, here is a screen: http://icdweb.cc.purdue.edu/~walisser/pl ______________________________________________________ Get Your FREE FlashMail Address now at http://www.flashmail.com It's Free, Easy, & Fun !!! |
From: Steve B. <sjb...@ai...> - 2000-08-04 23:20:07
|
ke...@fl... wrote: > > I've seen the disappearing texture before using a Rage Pro - > then took the same app to another Mac with a Rage 128, and the > textures appear. Just got to have the texture memory on the > card... So why do only the alpha textures appear - and how come forcing them all to be alpha fixes it? I suppose you could hypothesise that since I render translucent surfaces after opaque ones (for Z-buffer reasons), the system renders the opaque surfaces on the first frame - then the translucent ones - but since it doesn't have enough texture memory, that would push the opaque ones out to make room. THEN, on subsequent frames, the system is too stupid to realise that the opaque maps are no longer in texture memory and doesn't reload them - so only the last handful of maps to be rendered on the first frame are visible subsequently. So, if that's true - then making all maps have alpha components (and hence appear to be translucent) would randomize the draw order - so *perhaps* some OTHER textures are now not being rendered... but whatever those things are doesn't happen to be so noticable as the entire terrain AND the hero of the game being missing. Well, it's an interesting theory. The way to test it is to get some kind of image processing program and chop all the texture maps down to (say) 8x8 texels. Then they should all fit in memory - and even without forcing them all to have alpha components, you should be able to see every object in the scene. Anyway - if that's it then it's CERTAINLY an OpenGL bug that should be reported. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |
From: Darrell W. <dwa...@pu...> - 2000-08-05 13:57:36
|
From Brian Speece (ATI), commenting on bug : > I can't speak for whether Apple has seen this, but we definitely haven't. > We'll download the framework. It would be great if you could point us to a > test case that exhibits the problem. The RagePro did not support alpha > modulate (i.e multiplying the texture alpha by the vertex alpha). I'm > wondering whether this is involved. In any case, we will look at it, and > tell you what we find. > Does this sound possible, Steve? |
From: Steve B. <sjb...@ai...> - 2000-08-05 17:39:32
|
Darrell Walisser wrote: > > >From Brian Speece (ATI), commenting on bug : > > > I can't speak for whether Apple has seen this, but we definitely haven't. > > We'll download the framework. It would be great if you could point us to a > > test case that exhibits the problem. The RagePro did not support alpha > > modulate (i.e multiplying the texture alpha by the vertex alpha). I'm > > wondering whether this is involved. In any case, we will look at it, and > > tell you what we find. > > Does this sound possible, Steve? Well, I knew about that horrid restriction of the RagePro - and you can actually see it in action on the screenshot you posted. Look at the circle of golden herring at the bottom-left of the screen. On a legal OpenGL implementation, each of those are rendered as 50% transparent until you have collected that gold herring - and then rendered opaque after that. However, the texture alpha is also used to cut out the shape of the fish - so for the fish you have *not* yet collected, the 50% vertex alpha *should* be multiplied by the texture alpha. However, in your image, all of the herring are opaque - which either means you are an EXCELLENT Tux player - or this is an example of the error that Brian is talking about. I'd point out that failing to support that means that their implementation presumably isn't passing the OpenGL compliance test suite - which means that it's not legally supposed to be called OpenGL! You see the same vertex alpha bug under Windoze too BTW. So, no - I don't think that's related to the 'missing opaque surface' bug. Cutting this down to a manageable test case would be REALLY difficult... -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |