Jump to content
NordKindchen

Terrain Improvement (dev branch)

Recommended Posts

Congrats on a well thought out argument with clear examples and a clear description on possible implementation. I have up-voted on the feedback tracker. I hope BIS like what they see.

This is one of the reasons I love the Arma community. Good job!

Share this post


Link to post
Share on other sites

This looks great, but most probably it will be a problem to implement because there is a limit of textures that can be passed to the shader. I don't know how many textures BI is using currently, but you'll need to add the logic map texture, plus a "detail" texture for every type of terrain (instead of just one currently used). If they'll somehow manage to pass all this textures into the shader, there's the problem with the blending. You basically sample each detail texture and use the color from the "logic map" (which you also need to sample) as the blending factor. So basically the terrain shader will get really heavy with all the texture sampling and blending.

They can of course pack all the detail terrain textures into a single texture. This will take fewer multi-texturing slots in the shader and will also require only one texture sample for the detail textures, but will also greatly reduce their resolution and will also need some algorithm to compute the offset for the respective texture using the color from the "logic map".

It's been some time since I last worked with shaders, and maybe the technology advanced and solved all those limitations, but that's the problems I currently see with the idea.

Share this post


Link to post
Share on other sites

Sounds cool. The only thing I'm interested in now is FPS drop percentage...

Share this post


Link to post
Share on other sites

Devil_Inside

even half the resolution would be great. the plus of this method its his diversity. when you have only 1 texture overlaying just different colours of blurry, our brains analyze that automatically and sets it apart.

this method gives a better coherent look. maybe even 1/4 of the resolution would still be enough!

Share this post


Link to post
Share on other sites

No, it won't be enough. The example image you see in OP was probably made in screen space. So the photoshoped detail texture was probably huge compared to the scale of the satmap scale. This way you've got diversity and those irregularities even on the same terrain type. If you reduce the resolution, you'll either get a very blurry detail texture, or you'll get a noticeable tile across the terrain of the same type.

Share this post


Link to post
Share on other sites

Great work, looks very striking indeed. Such subtle changes can make a whole lot of difference to a player.

Share this post


Link to post
Share on other sites
No, it won't be enough. The example image you see in OP was probably made in screen space. So the photoshoped detail texture was probably huge compared to the scale of the satmap scale. This way you've got diversity and those irregularities even on the same terrain type. If you reduce the resolution, you'll either get a very blurry detail texture, or you'll get a noticeable tile across the terrain of the same type.

Devil_Inside

I dont think youre right. BF3 has even lower resolution and it works just fine. Its not all about resolution but the right set of texture (needs detail and some contrast recognition stuff)!

but only a final test can prove this.

The main trick of Nordkindchen is to give the (random) colours of the sat map a meaning (not random)! as of now its just a plain geometric objekt with diffuse blurry colours over it, but when each colour has a specific set of texture it glues together and makes sense.

Edited by tremanarch

Share this post


Link to post
Share on other sites

Wow! Really well written. I was not familiar with ArmA rendering system and your explanation is sufficient to get an idea of how things work.

Nice idea. I would love to see improvements in that part and your solution seems perfectly viable.

Share this post


Link to post
Share on other sites

@Devil_Inside You are right - the picture resolution is real ingame size.

BUT the textures that I used were actually not A FOURTH OF THE SIZE OF THE CURRENT MIDRANGE_TEXTURE. And I used only about 5 textures.

So indeed you could compile them into one picture as you suggested.

I was surprised by myself how low the actual resolution could be without any visual loss.

On the other hand - the exactly result may differ when produced by the engine. So maybe the resolution needs to be higher there.

BUT - in comparison to the textures used for all the vehicles buildings trees and soldiers - I think this is a rather small add to the pipeline.

Then again - I am no programmer but an artist. But I got a good appreciation for technical things - as I might have made obvious^^

Best regards! And thx for your constructive criticism!

Edited by NordKindchen

Share this post


Link to post
Share on other sites

I think this one screenshot speaks for itself. To really get them hooked make 2 or 3 very good appealing ones as examples.

They have so much stuff to do, when they see sth. they give it the time it needs I guess! Just pretend youre a dev and look at the forums - so much stuff ;) some good pics that go around will greatly help to get noticed.

Share this post


Link to post
Share on other sites

NordKindchen,

Very nice job! How do you make the logic map? I do multispectral and hyperspectral image classification for a living, so if I got my hands on the base "satmap" image in multiple spectral bands (as many as possible), I can rather quickly generate these classified "logic maps" of landuse/landcover.

And I strongly agree that a 1m² pixel size in 2013 is a good idea only if anything higher-res will result in serious performance degradation.

What is the satellite sensor that acquired the base image?

Share this post


Link to post
Share on other sites

@OMAC

this would be a rather advanced application of NordKindchen's method, with a bazillion of person-hours it would be possible to make realistic (and i don't mean naturalistic) surface textures to fit the real vegetation on those islands. probbably soem of the devs would get horny from the mere idea.

homer-drooling.jpg

Share this post


Link to post
Share on other sites

BIS, you should give this guy a job as a freelancer or hire him right away.

AND DO WHAT HE SAYS! :p

Share this post


Link to post
Share on other sites
BIS, you should give this guy a job as a freelancer or hire him right away.

AND DO WHAT HE SAYS! :p

actually BIS should nothing, but they could listen to his suggestions, and usually they do. Like for example listening to our moans in my "blocky shadows" thread, alpha is 1 week out, and they are already trying to fix it :p

Share this post


Link to post
Share on other sites

We have no Insight in their Code base. All Stuff here is based on generic assumptions that could more or less be true. Maybe it serves as inspiration source or maybe just as an indicator how much a better Mid Range texture is needed.

People are overexaggerating when they say stuff like: "BIS must / should .. etc" they dont mean it this way - I am sure. ArmA 3 already looks astonishing great!

Share this post


Link to post
Share on other sites

The idea would be to save time in creating the "medium-range logic map" to replace the current "mid-range overlay" which is now the blurry satellite image. A spectral classification of multiband satellite imagery would quickly generate an island-wide map of internally homogenous, spectrally distinct classes (say 20-50 in number), somewhat similar to his logic map. Each class would have distinct spectral characteristics based on (one method) maximum likelihood statistical analysis of each pixel in all spectral bands, based on the spectral variation between different landuse/landcover types.

http://www.lvc.ele.puc-rio.br/projects/interimage/images/classification.png (463 kB)

Here is a very simple map with a small number of classes:

1-s2.0-S0924271611000517-gr3.jpg

For example, one class would be dense forest veg, one shallow water, one deep water, one grasses, one bushes + grass, some bare rock, some for bare soil, pavement, etc. Then medium-range textures could be developed and assigned to each class.

Perhaps BIS did this already in making the short-range logic map? It looks that way, but I don't know.

Another super easy way to generate the medium-range logic map would be to apply a focal majority filter to the short-range logic map to simplify it, and possibly reduce the number of classes in it.

All the above could be done in a few days for the entire island using the original multiband satellite image (probably Ikonos, Quickbird or something like that). We do this kind of thing for entire countries (example partial raw image base, pre-classification, 30m pixels). What I guess would take the most time would be generating the medium-range textures for each class, but I don't really know since I am a geophysicist, not a video game developer!

Edited by OMAC

Share this post


Link to post
Share on other sites

Nord, that was an amazing explanation for your ideas, and great ideas btw. I work with movie editing and post production and another thing is used to generate more depth is an unsharp filter, of course that would be just a plus to your idea, your suggestion acctually adds more texture which is awesome and i dont know why it would be difficult to execute that.

Heres a nice exemple of the use of simple unsharp filtering to increase depth, the disavantage of this is that if its used agressivly and with a bigger radius it increases contrast which for me is a bad thing since it renders a more unatural contrasty look common in games such as bf3. But if its used only in the satmap texture and with a low contrast curve to compensate it should generate more depth without contrasting it too much. I took your Sadly bad exemple number 6 and applied it, heres the result.

http://s21.postimage.org/njpkegt7r/52_27_14_0_00_00_00.jpg (174 kB)

Edited by jefcostello
reformating the text

Share this post


Link to post
Share on other sites

Very important thread imo.

I hope a solution can be implemented-and i hope it will not burden the performance even more :/

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×