Game Development Community

Texture blurring - mip maps?

by Shadowcat · in Marble Blast · 05/05/2003 (1:29 am) · 6 replies

Hi there,

Marble Blast is great! I always notice a mildly annoying graphical issue, though, and was wondering whether it's just my machine/video drivers, or if everyone sees it, and if there's a fix or a configuration option to minimise it.

Basically, the textures seem to switch to a rather low-res version at a very near distance... the textures in the immediate vicinity of the marble are nice and sharp, but you don't have to get very far away before they abruptly switch to a very blurry version of themselves. I realise that this is a common technique applied to distant objects in 3D games, but in Marble Blast it seems to happen ridiculously close to you and the transition is extrenmely obvious.

I have a reasonably quick PC and a good video card with a lot of texture memory... is there any way I can tell the game to keep all the textures sharp all the time, or increase the distance that this happens at? or are you all scratching your heads at my description and wondering what's wrong with my machine? :)

Thanks!

-Shadowcat (currently on Escher's Race)

#1
05/05/2003 (3:15 am)
it does the same thing in realm wars and the torque engine itself. i can't think it'd be your setup, i'm using a pretty hefty cpu with a radeon 9000 128 meg card as a testing machine and i get the same thing. it's funny because the mip mapping only gets crazy like that in certain occasions. if you use brick or somthing patterned similar it doesn't do this. i took a few textures off my house brick and it worked beautifully, then i got some of my kitchen to show my roommate the great photo quality in the engine and it did that. i haven't looked through the code enough to investigate it yet. still just trying to get used to the scripting.


does anyone have any suggestions for this?
#2
05/05/2003 (11:30 am)
Marble Blast doesn't seem to have the option, but turning on trilinear mip mapping should help this out significantly. The Torque engine supports trilinear, so if you have access to the client/prefs.cs file, change/add the following line:

$pref::OpenGL::textureTrilinear = "1";


If you have an nVidia card, you can override the filtering settings in your control panel.
You can also force anisotropic filtering if your card supports it. Anisotropic is really nice and should virtually remove any mipping artifacts you are seeing, but it can be slow on some cards.
#3
05/05/2003 (7:56 pm)
Yes, you can also generally adjust your card's settings toward 'quality' instead of 'speed/performance' -- many GL drivers (NV especially) seriously tweak out the quality to be lower to get higher framerates. The control panel should let you go for quality, which should drop mips at a slower rate/distance.

And yes, turning on Trilinear and Aniso is also a big help! ;)

d
#4
05/07/2003 (1:04 pm)
Thanks for the suggestions, folks!

I tried editing common/client/prefs.cs and enabling the $pref::OpenGL::textureTrilinear and $pref::OpenGL::textureAnistropy options, but it didn't seem to affect the problem. If I suspend the game and check the prefs file mid-game the values are still ones, but when I exit from the game it over-writes the settings with zeros. My conclusion is that when it reads the prefs file on start-up it ignores the values I set and sets them as zero internally (hence no visual change), and then writes those zeros back on shut-down.

It may well be an issue with my machine (perhaps it sets them to zero because it had a problem enabling these features?), but I'd sure be interested to know whether the game does actually support these features?

I'll have to check out the Direct3D rendering and see how that runs...
#5
05/07/2003 (1:18 pm)
Try editing the prefs.cs in game/client instead. That's the one that gets read.
#6
05/09/2003 (3:16 am)
d'oh. I saw a "client" directory under "common", and didn't even think to look again under "marble". *sigh*

The trilinear filtering seems to be working (Yay! Thank you!!), but it resets the "Anisotropy" variable back to zero each time. I'll have to play with my video card settings and see if I can force the card to do it anyway.

I still feel the mip-mapping distance is ridiculously near (or *something* is amiss), but the filtering certainly helps.