Texture is not showing definition when zooming in

Hi there,

Thanks for all your hard work giving a hand to all the beginners like me that fill up the forum with our questions :smiley:

I have applied a texture to my 3d model. My aim is to create a simple animation, a camera zooming in and out exploring different objects in a space.

Ok, so I have this model with a texture applied and when I zoom in I can see the texture pixelating.

The whole thing looks alright but as you can see if I want to play a bit with the camera and explore the object, the awful look of that texture gives me the creeps. How could I get more definition in this cases? My goal is to create textures by hand for this object so I was wondering if there is a proper workflow I need to follow in order to avoid these problems. Or if it is a fixeable problem that has nothing to do with the texture quality.

Thanks a lot!

It looks like your textures are not high enough resolution. Experiment with higher resolution images until you find a resolution sufficient for the zoom you anticipate. There is no such thing as an image texture with a resolution sufficient for all levels of zoom-- you have to build to planned limits.

For higher (infinite?) zoomability maybe exploring how to convert your (or any black and white) texture into a signed distance field equivalent could work with a suitable node tree? Not an expert in either though.

As you can see It looks alright from that distance…

So I understand I need to create a texture able to cope with the zoom planned. Is there a way to calculate this?
An infinite zoom is not my goal :smiley:

Texel density addons combined with project from view UV unwrapping should give an idea.

That sounds interesting, is there a Tutorial or something I could read about all that?

For “perfect” resolution, you want a texture density such that you have at least four texels (“texture pixels” = texels) for every pixel of your image. (This is similar to audio processing, where we want 44,000 samples even though we can’t hear past 22 kHz. But four times rather than two times, because we’re doing it twice in two different screen dimensions, vertical and horizontal.)

In reality, that’s not realistic for most CG needs. You’ll see that pixels/texel varies across your render depending on both the distance to the surface and the angle that the camera’s vector makes with the surface. That’s why zoom matters, but also, angle matters.

The best thing to do is to play it by ear. Make a 8k (8640x8640 px) texture and see if that meets your anticipated zoom needs, maybe with a repeated grid pattern texture just to test it out. If it doesn’t, double it. If it still doesn’t, double it again. (In reality, few people would need 8k textures, but that’s because we’re often using other people’s textures that they need to actually distribute over the internet with its limited bandwidth, and because for any complicated scene, you run out of memory really fast when working at that resolution. For people that don’t work at Pixar, pixellation is kind of a fact of life that you have to work around. That might mean different textures for different parts of the shot. You can downsample from any resolution, but you can’t really ever upsample.)