PDA

View Full Version : Large textures look crap up close



wrightyp100
02-23-2018, 01:58 AM
Hi Guys,

situation has me stumped. Its probably just me going about it the wrong way.

So, I've built a landscape using a height map. Groovy. Looks great. When I come to texture it looks great from far off. But when I place the camera near ground level, it starts to pixelate. Damn.

So I went from a 2k texture to 10k. Same thing. Colour me stumped.

I exported it and put it into element and it seemed to fair better in there, albeit at a smaller texture size (max texture size there is 8k).

Basically what I'm after is your techniques for building large landscape scenes and how you make them stand up to up close camera positions. Should I create more detailed geometry for closer to the camera?

Most of the shots will be static other than lava slowly moving through the scene.

I have looked at landscape tuts and not really found anything that addresses this. Any suggestions are very, very welcome.

Thanks chums :)

MarcusM
02-23-2018, 02:24 AM
Few years ago I was doing small test during creating terrain for Unity. Tried to use splat maps in LW but abandoned this on early stage. To achieve good result this need more tricks with nodes to avoid tiling. I think this technique have big potential.
http://forums.newtek.com/showthread.php?132364-LightWave-World-Machine

Scene to download (LW 2015.3):
https://drive.google.com/open?id=1K9818o5fmhT9CXprqYjJj6-c56ku9PO6

Doc for the best plugin for Unity terrains can explain few universal things. Page 27, 56, 59.
http://www.stobierski.pl/unity/RTP.pdf

Kaptive
02-23-2018, 04:05 AM
Even a 10K texture over a whole landscape is tiny, unless you are far enough away.
So, basically, you just need to determine where your camera is going to be for the final shots and design from there. Break down the areas in modeler so you can work (textures and instancing) on foreground, mid ground and background seperately (or as required)... then combine them in layout to get a more satisfying (and managable) scene.

Random tips:

1. Combine multiple textures for the ground (use good size tiles for the resolution) and create the diversity (to hide repeating textures) by blending (using alphas etc... procedural) to break it all up.
2. Simple rocks and plants instanced on the immediate ground can really help to bring focus away from the actual ground texture.
3. Using gradiants (slope setting) to apply textures to certain angles can really help... so grass is on the horizontal, but soil/rock on the more vertical surfaces.
These tips are all 2015 and earlier based... I have yet to jump in to 2018, so I'm not sure how that affects things.

Oh, one last thing... I don't know what you are making it for, but if you had the budget, then another option is to use the following plugin... https://www.db-w.com/products/infinimap
I've not tried it myself, so I've no idea how well it works, but I see no reason for it not to do what it says. To be useful though, the image map needs to be giant I suppose.

Skonk
02-23-2018, 04:37 AM
Tile the texture so it repeats multiple times; this will effectivly give you infinite resolution (make sure the texture is as seamless as possible).

To hide the tiled look; layer up either the same texture multiple times but with different scales, positions and rotations and/or multiple different textures. Use blending modes (multiply, overlay etc... or use nodes, mixer) to mix the textures together.

prometheus
02-23-2018, 07:34 AM
Tile the texture so it repeats multiple times; this will effectivly give you infinite resolution (make sure the texture is as seamless as possible).


How could it be infinite in resolution. .when in fact it's resolution is tied to a fixed image resolution..as well as tiling size?

Skonk
02-23-2018, 07:40 AM
As in you can scale it down to the point where the details appear fine regardless of how close to it you get. You can make the terrain as big or small as you like and it wont hurt the texturing if you are tiling the textures.

Trying to cover an entire terrain with a single image is never going to go well unless the engine has support for some sort of mega-texture system; so tilling is likely going to be needed and I was trying to make a suggestion that could then help disguise the fact that it's tiled by blending multiple textures together but offsetting them by giving them different scale, position and rotation values to cover up any obvious seams.

Marander
02-23-2018, 08:16 AM
In WorldMachine Pro you can create Tiles and with that you can create large terrains.

In Terragen Pro (and I guess it works in the smaller version too) I usually import height fields (from WorldMachine / GeoGlyph) and add additional fractal details, so close ups look good too.

Terragen can export LWO but I haven't used that yet.

However in LW or similar applications you're limited by the plane geo and LW doesn't support Subpoly Displacement.

I'll test how it works with the new 2018 objects in Layout.

prometheus
02-23-2018, 08:26 AM
thereīs always an option to go procedural, meaning the procedural textures will never get pixelated when zooming or getting close with the camera, it wil however take longer to render, and can produce noise artifacts when animated, and procedurals often tend to look..procedural, if you do not know how to tweak them well.
The best is probably to go for tiled higher resolution maps, combined with other textures or and with procedural textures on top of it to break up tiling patterns, give a more larger material look on top of that.
Tiling pattern with true textures of ground, never really repeat tiles itself in true nature, so it will need to have something else apart from that.

jwiede
02-23-2018, 12:44 PM
Hang on, something's odd with the OP's description: They said the displacement looked "pixellated" at 2k and 10k, which doesn't entirely make sense. Displacement that looked pixellated at 2K square shouldn't still look pixellated at 10K square, unless there's something really off with either how the image is being interpreted, or the mesh's resolution used for the displacement is severely "underfit".

@Wrightyp100: Can you clarify the displacement node and texture/image settings you're using with the 2K and 10K texture? Also, how's the underlying mesh segregated, and what level of subdivision is applied?

jbrookes
02-23-2018, 01:45 PM
Maybe it's the displacement itself that has the 'resolution' problem.

You might have to up the polygon count if you're moving the camera in really close (and turn on smoothing, of course).

Keep in mind that if you're dealing with shadows on your terrain, you'll see the unsmoothed polygons in the shadows.

jwiede
02-23-2018, 02:36 PM
Maybe it's the displacement itself that has the 'resolution' problem.

That's why I asked for how the underlying geometry was sectioned (and subdivided). I suspect it's the geometry limiting the resolution, not the image.

wrightyp100
02-23-2018, 02:43 PM
That's why I asked for how the underlying geometry was sectioned (and subdivided). I suspect it's the geometry limiting the resolution, not the image.

Hi. I didn't mention displacement. Its the texture map itself that looks a bit funky. But yes, I did wonder if I needed foreground objects at a higher polycount perhaps?

Thanks for the suggestions so far guys. I was basically trying to have my cake and eat it by having one massive texture map. However, like in one suggestion, I should be planning it better by having foreground, mid and background objects textured accordingly. Cheers :)

Edit: I guess I kinda did mention it in relation to the height maps. But like I said, I think I was just trying to be lazy with one big model.

jbrookes
02-24-2018, 01:45 AM
I agree with Prometheus; you might get some good mileage from procedurals.

In particular, the Ridged MultiFractal and Hybrid MultiFractal nodes.

Marander
02-24-2018, 03:30 AM
I tested the 2018 shapes yesterday with 8k maps from WM, it works well in VPR and somehow magically it doesn't require geometry but still creates detailed displacements.

However due to the non-existing ui representation (other than a square) outside VPR the use is very limited or GPU based OpenGL tesselation (for example to place other objects) and the lack of a physical sky model doesn't help.

prometheus
02-24-2018, 10:39 AM
I agree with Prometheus; you might get some good mileage from procedurals.

In particular, the Ridged MultiFractal and Hybrid MultiFractal nodes.

a little related, as far as using ridged multifractals and some tweaking tips, though this is showed with displacement,you could get an idea on using it for bumps or normals.
Though be aware that fractals is fractals, a rough approximation of certain patterns that sometimes assembles nature in repeating structure patterns, could be wind distorted dunes, it could be stone cracks or melted lava etc, for some things it may work, for other things it simply does not match up to all the wonders of true nature patterns, ergo...finding true nature images that holds up on large areas without actually reset the images to full scale, and images that can be tiled repeated to match a large are..always difficult I think, at least if you inted to move in on it with the camera.

Either way, wether or not you are using images to tile repeat, or procedural textures..you would need to make several layers of either image textures or procedurals, overlapping and mix blending..or it will all end up looking generated and uniformly tiled which ever method you use.

Procedurals gives advantages of really unlimited detail depending on how much detail you have set in the noise, and the cons of rendering slower than image mapping.


https://www.youtube.com/watch?v=F1ubjjD-A0I

prometheus
02-24-2018, 10:42 AM
I tested the 2018 shapes yesterday with 8k maps from WM, it works well in VPR and somehow magically it doesn't require geometry but still creates detailed displacements.

However due to the non-existing ui representation (other than a square) outside VPR the use is very limited or GPU based OpenGL tesselation (for example to place other objects) and the lack of a physical sky model doesn't help.

sk sunsky still works in 2018 sort of, you can not use the sk sunlights though, so you use the native new distant light, just make sure to add the sk_suncolor modifier in the distant ligths color channel, so the sk sun and light color changes according to the distant light rotation, then it will be pretty much as the sk sun anyway, and distant light now have sampled size for softer shadows.

for primitive shapes..a couple of cons.
Displacements render slowly, which sort is the whole idea of a primitive shape, they need to improve this really.
GI on the primitive shape, also slow..so you got two cloggers here.
they can not be instanced on, or used as a Instance, nor can they be used on particles nor point cluster, so it is all limited to some interesting shapes, but not very productive useful for landscape stuff with some minor exception.

It would be great if they could work out this primitive shape, to work with a proxy object, so you in essence use a subdiv plane, that is connected to the primitive shape, and if you add a deform to the proxy poly plane, the same texture is applied on the primitive shape, this means we could have a OpenGL presentation preview of the primitive shape, as well as actuall instancing object on to that proxy object, which should be invisible for rendering but instead the primitive shape is used for rendering, and the illusion of instances actually taking place on the primitive shape.
They would need to work out a connection hook that is syncing with the deform texture at the poly plane, to be in sync with size..height and all, then reacting on the primitive shape as well.

Morgan Nilsson
02-24-2018, 01:09 PM
Sounds like the displacement/height map is not 16/32 bits. 32bit is preferable because otherwise you may get artifacts.

prometheus
02-25-2018, 07:58 AM
a problem with textures on large ground areas like 2000 m for example, and tiling them repeating them, it may look good when hovering close over ground if you set it to 1m or 0,3 m or something like that, but when you raise the camera higher and higher, the tiling pattern will become increasingly more prominent the higher you go, copying that texture layer, change rotating slightly, so you have that layer on top of the other layer, what you will see is simply this new layer..tiling as much as the other..but with a different rotation ot the pattern, now...when you add a procudural texture alpha layer on top of those, maybe slightly larger than the original textures..these repeating pattern sort of goes away and the two underlying textures should blend much better.

and a third larger scale texture, could be the same image texture will help making the ground look better from higher perspectiv, maybe 20 meter in scale as opposite to the two smaller layers at 0,3meter
additionally you would probably like to apply a much much larger multiply procedural at 100-200 meter for the larger scope ground appearance on top of this.

should really record it ..show images perhaps, but so little time.
And... with 2018, I just canīt stand waiting for vpr to update the ground textures, when in 2015 it goes as fast as I blink, the new GI, surfacing and lighting is great for some stuff, but for working with texturing of landscapes...itīs a step back in speed, I had to go back to 2015 to make it an enjoyable experience.

erikals
02-25-2018, 10:22 AM
indexed png can help


https://www.youtube.com/watch?v=iFccG3v5ei8

Axis3d
02-25-2018, 05:20 PM
You can also create a texture map resolution that looks good at a far distance, and then create a texture map that looks good when the camera is much closer.

For the one that is closer, you can then add a gradient texture on top of that layer (LW 2015) - Setting its Input Parameter to Distance to Camera. Give the gradient two parameters (one for a near distance - white, and one for a far distance - black). Then set that gradient layer's Blending mode to Alpha. Now when the camera flies closer to the terrain, the texture map will slowly dissolve in.

When the camera is farther away, only your texture map which looks good at a distance will show.

wrightyp100
02-27-2018, 04:17 AM
Hey guys, thats for all the ace suggestions. The 32bit one was really good for the deformations. I've ended up throwing the model into element 3d (ease of compositing and real time updates. )

Non of the shots are too high so I'm getting away with tiling the textures and throwing loads of smoke and particles in to mask it all. Which is nice. smoke and mirrors.

I will bear all these suggestions in mind for future stuff though. :)