Maintaining texture quality

Hey all, just a short question (it’s late here in Aus, so late it’s early in fact) :smiley:

I have a .egg that I am using as a sky-dome, it has a very high resolution texture (2048x1024).

I am loading a .egg (made in blender) and it loads perfectly, I can see it’s texture and everything is fine and dandy, however the texture is not crisp, like the original .jpg. It’s like the resolution has been dropped to 800xSomething.

I’ve tried adjusting the mipmap settings, specifying my own mipmaps at the same resolution and adding the ‘quality’ tag to the egg file, however I can’t seem to make the texture display any clearer.

Is there something I’m missing, or is this likely to be a result of mapping to a sphere shape? (The texture is polarised/adjusted for sphere maps - rendering in blender still maintained the crisp look).

Thanks for any advice,
Aaron

2048x1024 is not so much.
if you wrap it on a sphere. you always see about 15-20% of it.
which makes look more like something 512x512 streched over your window/screen.
sphere maps also suffer from distortion and not so potimal texture-usage
concider using cube-maps instead. 6 images with 1024x1024 should give you an pretty perfect sky-cube even in fullscreen

On a sidenote, Mipmapping filters also don’t work in your case - they are for minification only. If you don’t want filtering, use FTNearest - but this might be somewhat pixely.

So LINEAR_MIPMAP_LINEAR in mag filter (in a .egg file) is useless?

@ThomasEgi @pro-rsoft, thank for your replies. I thought 2048x1024 was overkill for realtime, but looks like I’m wrong. Damn… I was of the impression that Skydomes could giver better results than skyboxes (plus, I think they are easier to implement :smiley: ).

pro-rsoft, thanks for your comment, but I thought the same as zuck, wouldn’t mag filters apply in this case (and yeah, I tried FTNearest and sure enough, it was pixellated)

Unfortunatley, I think I may be stuck with domes instead of boxes, despite the quality downside - I am writing a class that handles the environment in a game and one of the functions is simmilar to the way the Crysis engine (CryEngine 2?) realisticly shows the stars at night, depending on your global coordinates.

I rotate the sky-dome (well, star-dome, actually star-sphere) according to the Longitude and Lattitude passed during setup. I have a feeling that a skybox wouldn’t look right if I started rotating it…? Hopefully you can tell me I’m wrong again!

Perhaps it will have to be a llow-quality star-sphere :frowning:

Thanks again,
Aaron

Mipmapping is a technology that only applies to minimizing. It means keeping successfully smaller versions of the texture prefiltered in-memory, then choosing the closest two to the appropriate size and filtering between them at runtime. It has absolutely nothing to do with magnifying a texture, so yes, LINEAR_MIPMAP_LINEAR is meaningless if you apply it to a mag filter.

The geometry of the sky geometry has very little to do with what it looks like. You can construct a sky that is a dome, a cube, or an icosahedron if you like. They will all look exactly the same from the center, which is where the camera is, right? In any case, if you are going to use a cube map to texture it, then it doesn’t mean you have to make the sky geometry a cube too. Cube mapping only refers to the assignment of 3-D texture coordinates, and works with any shape geometry you like.

That being said, there’s a lot to be said for cubical sky geometry, just because a cube is so simple.

David

Ok, thanks! :slight_smile: