blitz's mipmapping - yeuck

Blitz3D Forums/Blitz3D Programming/blitz's mipmapping - yeuck

Vorderman(Posted 2004) [#1]
I'm trying to get a decent road effect, but with the mipmapping on the road lines disappear into a splat a short distance from the camera, which looks terrible.

Is there any way to reduce or hide this effect? Perhaps some camera settings that I've missed?

Why on earth can't Mark adjust the mipmapping values, or give us control over them rather than just on or off? It would make such a difference to so many projects if the textures weren't blurred into oblivion just in front of the camera.


AntonyWells(Posted 2004) [#2]
Yeah mipmapping in b3d is pretty awful I agree.


In some cases the mid-far mip-maps totally mess up and end up using vid mem shared by other textures too.

I hope bmax's 3d engine finally gives us proper control over filtering etc..don't see why everything has to be reduced to one fx flag..it's silly.
-

As for reducing it, not that I'm aware of. I'd just turn it off for the normal map 'layer', or
better yet..load 2 versions of each normal map, one with mip-mapping and one without...then find a balence of which one looks good where.


Tom(Posted 2004) [#3]
James, does your cards display settings give you any control over it?

NVidia have a mipmap quality setting, maybe that will help?

Tom


Rob(Posted 2004) [#4]
I have my driver mip map levels set to high and I don't have problems. I agree it's a bit muddy compared to some games though!

In some cases the mid-far mip-maps totally mess up and end up using vid mem shared by other textures too.
Never heard of that happening. Perhaps on your old defunct voodoo?


AntonyWells(Posted 2004) [#5]
I have a geforce 5-5600, you're going back ages.


Boiled Sweets(Posted 2004) [#6]
Yeah I have a ATI Radeon 9700 and when I put several cubes together with a stripey texture on them I kinda get jarring distortion when the cubes are some distance from the camera but they are fine nearer.

Any thoughts on how to improve this?


Vorderman(Posted 2004) [#7]
my work PC is a 3d workstation and thus has a Quadro4 (which is utter poop and gets about 15fps on a blank 3d scene in Blitz) but with the mipmap settings at high quality it still looks bad - the white lines running along the road gradually get wider and more muddy until the whole road becomes a dull grey mess.

I wouldn't mind if this happened way in the distance but it occurs really close to the camera.


IPete2(Posted 2004) [#8]
Vorderman,

I had the same problem... you have probably tried this, but in case you haven't

cleartexturefilters

before you load anything, it worked a treat on my driving project, although small detail goes a abit noisy!

IPete2.


Vorderman(Posted 2004) [#9]
yes, I have tried that but thanks anyway. The only problem with no mipmapping at all is that the videocard can get choked up if too many textures are loaded in this way - try loading a quake3 level and seeing what happens to the framerate with no mipmapping.

However, I shall use no mipmapping for the road surface and leave it turned on for the other textures.


jfk EO-11110(Posted 2004) [#10]
I didn't check this out, but maybe it has something to do with the world scale? Maybe it could be reduced if a smaller scale is used.

I noticed this when I upgraded my old Pro Savage S3 Card to a Radeon 9200se chipset. The S3 had a very nice Mipmaping, didn't disturb at all. I was pretty shocked when I first saw this on the Radeon. Dependiong on the Normals of surfaces, it becomes REAL blurred. Eg. while the floor is totally blurred 10 "Meters" ahead the Camera, the vertical surfaces remain pretty sharp.

Currently I set Quality to maximum in the Ati settings before I take some screenshots :)


LT(Posted 2004) [#11]
Otacon, will Vivid supply this kind of control?


JoshK(Posted 2004) [#12]
It's a combination of texture resolution and size on screen, so changing the world scale won't make any difference. Blitz3D seems to be designed with 64x64 textures in mind.


jfk EO-11110(Posted 2004) [#13]
I still think distance is a factor in mipmapping and the card needs some kind of reference to decide if something may be blurred or not.


LT(Posted 2004) [#14]
I think Halo's saying that the reference is in screen coordinates.


AntonyWells(Posted 2004) [#15]

Otacon, will Vivid supply this kind of control.


Yep. It uses sisg's mipmapping extension..so you can control basic, number of mip-mapping levels etc.
You can also supply your own mip-maps. (I.e do them pre-runtime with super high quality filtering, then use those)

glTextureMipMap( texture,level,useTexture)


LT(Posted 2004) [#16]
Otacon:

Good to know, but actually I was asking about mip map bias control, which allows me to set the "distance" that I want them to kick in. Actually, that's probably a dumb question, because I think mip map bias can be set up in shaders.

As far as setting them up pre-runtime, are you talking about the loading of DXT files?


AntonyWells(Posted 2004) [#17]
No I mean you can actually 'pre-draw' the mip map levels(level 0 closest to screen. and say you ask for seven
levels? LEvel 7 will be the furest) i.e so they'll be high quality..though it's really not needed with vivid anyway, so it's kind of a 'moot' point..;)


LT(Posted 2004) [#18]
Will the loading of DXTs be possible (.dds files)? This would provide compression AND give artists fine control over the mip maps.

For example, in Photoshop, I often save out detail maps in .dds format, with mip maps that fade to a color and fade alpha.


AntonyWells(Posted 2004) [#19]
Well, Dxt = the actual compression method. DDS just 'encapsulates' the a complete texture usually, mip maps etc.

And yes, vivid CAN compress format texture on the fly into a compressed texture.

As for loading of .dds files, not currently. I will add it, it's just a bit messy as you have to use the directX api etc to actually load the file.


LT(Posted 2004) [#20]
DXT vs DDS - yes, I realize. DDS files can be uncompressed as well.

Are you saying that all OpenGL engines that load .dds files MUST use DirectX? Hmm, that IS messy, and not cross-platform...


AntonyWells(Posted 2004) [#21]
well not directx specifically, but directDraw.

Like I said I've not implemented it yet, so I can't say for sure, but every tutorial I've read up on dds in preperation for writing it, eveyrone indicates you need access to ddraw.h from the dx api.


jfk EO-11110(Posted 2004) [#22]
>> that all OpenGL engines that load .dds files MUST use DirectX? <<

lol


DrakeX(Posted 2004) [#23]
"it's just a bit messy as you have to use the directX api etc to actually load the file"

couldn't you just get the file format of DDSs? the DX SDK actually has it IIRC..

yes it does. i could post it for you :)


Vorderman(Posted 2004) [#24]
What's this Vivid thing?