R300 Mip-mapping LOD problem. (Warning, big screen shot)

Thowllly said:
I taking this straight out of thin air, but is it possible that the r300 uses a fast trilinear filtering where the lower one of the two mipmaps being filtered is generated from the higher one, instead of being read out of memory?
No, every game/app with colored mipmaps shows it does trilinear filtering using two mip levels.
 
Joe DeFuria said:
Try this: With Quality mode on and aniso turned on, do some slow barrel rolls (assuming camera stays fixed relative to the plane: so the plane always appears in the same position, and the scenery "rotates around" the plane.) Does the mip-map boundary "fade in" and "fade out" depending on the bank of the plane?

Right on the money! This is exactly what happens!
 
Joe DeFuria said:
Try this: With Quality mode on and aniso turned on, do some slow barrel rolls (assuming camera stays fixed relative to the plane: so the plane always appears in the same position, and the scenery "rotates around" the plane.) Does the mip-map boundary "fade in" and "fade out" depending on the bank of the plane?
With any anisotropic enabled on any R3xx, this will occur.

The "off angle problems" are not a result of any type of "adaptive algorithm." They're a result of a rather simplistic appoximation to a function.

As an example, if I chose to approximate the function sin(x) as x - (1/6)x^3, would you call it "adaptive?" After all, it would look good for small values of x, but would look poorly elsehwere. So obviously my adaptive algorithm must be designed for situations close to x=0?

Of course not. It's a poor approximation (well, not that poor, in this case...when combined with a similar approximation of the cosine, you can get within 0.35% error with the above function). The same is true of ATI's anisotropic filtering implementation: the MIP map level detection is a poor approximation. It doesn't use the real formula (sqrt(x^2 + y^2)), but instead uses an approximation of said formula. The results of the approximation manifest themselves in different ways, depending on the situation.
 
Xmas said:
Thowllly said:
I taking this straight out of thin air, but is it possible that the r300 uses a fast trilinear filtering where the lower one of the two mipmaps being filtered is generated from the higher one, instead of being read out of memory?
No, every game/app with colored mipmaps shows it does trilinear filtering using two mip levels.
Perhaps it is that the R300 is not doing trilinear filtering on textures other than the base texture? That is, perhaps it is doing bilinear filtering on textures that are any but the first texture to go through the pixel pipelines?
 
Xmas said:
Thowllly said:
I taking this straight out of thin air, but is it possible that the r300 uses a fast trilinear filtering where the lower one of the two mipmaps being filtered is generated from the higher one, instead of being read out of memory?
No, every game/app with colored mipmaps shows it does trilinear filtering using two mip levels.

I remember seeing a long time ago some screenshots that looked nice and smooth (no mipmap boundaries) but with colormipmap turned on it didn't look trilinearly filtered anymore.

You could have HW support for it, and then make drivers that checks the mipmaps to make sure they look the same, and if they don't then they turn off the feature.

I really don't think this is what's happening; I'm only saying it's possible.
 
Why don't you contact ATI / Devrel instead of posting this on Beyond 3D? I think that's the real way to get answers / fixes.
 
WaltC said:
idn't I read a post by you guys a few months ago on this exact same issue? As I recall it concerned R300 hardware then, as well. Maybe not, but these screen shots, and the complaint, seem pretty darn familiar...

Erm.. these are not complaints, but minor issues, and I thought I'd throw them in here, a place I highly respect. Didn't mean to ruffle your feathers.

"Us guys" are actually a bunch of coders, artists, and modelers, working, for no profit, on the WW2 sim "Battle of Britain", developed by Rowan Software, who also developed the highly acclaimed, but buggy, Mig Alley. Empire Interactive released the source code for both sims in 2002, and more recently, the source code for EECH.

Anyone is free to download the originally released source code from www.simhq.com. Access to the latest cvs source code requires agreeing to Empire's license, which does not allow us to offer anon cvs access.

As for a demo, IIRC there is one available from Empire's website, but it represents pre-2001 code, and may not exhibit the issue on hand.
 
sireric said:
Why don't you contact ATI / Devrel instead of posting this on Beyond 3D? I think that's the real way to get answers / fixes.

I must admit, the thought crossed my mind, and if I can't solve this issue relatively soon, that is exactly what I'll do. But since you work for ATI, doesn't that mean I already have? ;)
 
Thowllly said:
I remember seeing a long time ago some screenshots that looked nice and smooth (no mipmap boundaries) but with colormipmap turned on it didn't look trilinearly filtered anymore.
Very likely they were taken on a Kyro/2 card with texture compression enabled. R300 doesn't show such behavior.
 
Jamm0r said:
Erm.. these are not complaints, but minor issues, and I thought I'd throw them in here, a place I highly respect. Didn't mean to ruffle your feathers.
...

You didn't "ruffle my feathers" but you did make me curious...you didn't say whether you'd asked about this before, so I guess I was right about seeing something from you earlier on this?

I was only suggesting, as well, that it might be more fruitful for you to contact ATi about it in some fashion--you might get a more beneficial response (as I guess you didn't get much more help when you initially broached the question.) My apologies if my memory is faulty here...;)
 
Jamm0r said:
sireric said:
Why don't you contact ATI / Devrel instead of posting this on Beyond 3D? I think that's the real way to get answers / fixes.

I must admit, the thought crossed my mind, and if I can't solve this issue relatively soon, that is exactly what I'll do. But since you work for ATI, doesn't that mean I already have? ;)

Sorry, I work in HW engineering.

Here's the ATI developper web page: http://mirror.ati.com/developer/index.html

Or an email contact: devrel@ati.com

They'll be able to help you out much more than I ever could -- That's what they are for.
 
Actually, the first problem was pretty much unrelated. There was a bug in the original code that was basically only showing up on the r300. Posting in here didn't give me the exact answer, but led me to it.
 
Jamm0r said:
Actually, the first problem was pretty much unrelated. There was a bug in the original code that was basically only showing up on the r300. Posting in here didn't give me the exact answer, but led me to it.

OK, thanks...it's nice to know I haven't lost "too many" brain cells....yet...;)
 
Perhaps bringing such an obscure IQ bug to light might increased the chances of it getting fixed vs being filed in a bug tracking database. Or perhaps, as with NVidia, it might be a symptom of some driver tricks we don't know about.
 
Pls check what you set for minfilter,magfilter and mipfilter. The R300 family seems to obey all the 3 settings consistently per-API spec(NV2X and 3X for eg:- don't have aniso control on magfilter for eg:) So, if you want aniso on everything don't forget to set aniso on both mag and min filters
 
DemoCoder said:
Perhaps bringing such an obscure IQ bug to light might increased the chances of it getting fixed vs being filed in a bug tracking database. Or perhaps, as with NVidia, it might be a symptom of some driver tricks we don't know about.

*chuckle* Considering that according to the comments here ATi knows nothing about this software and has never seen it, that would be a neat "nVidia driver trick" indeed...;) Something from the "Psychic Hotline," maybe--that sort of "driver trick"?..... :p
 
croc_mak said:
Pls check what you set for minfilter,magfilter and mipfilter. The R300 family seems to obey all the 3 settings consistently per-API spec(NV2X and 3X for eg:- don't have aniso control on magfilter for eg:) So, if you want aniso on everything don't forget to set aniso on both mag and min filters

For the high-detailed landscape, we set min, mag, and mip to Linear, for both texture stages, thus enabling tri-linear filtering. We leave it up to the user to force Aniso through his video card drivers.
 
There are some problems in some games(unreal2,postal2,vietcong,ut2003 1-2maps) with cat 3.1 3.2 and 3.4 where tril/AF doesn't work even if you try to force it. This Problem doesn't occur on cat3.0 , maybe it's just a driver bug which does apply here too.
 
Back
Top