Jump to content

Thermal Vision Improvements From A Physicist


127 replies to this topic

#1 CnlPepper

    Member

  • PipPip
  • Knight Errant
  • 41 posts

Posted 02 April 2013 - 02:41 PM

**UPDATE**: See page 2 for some mocked up images
**UPDATE 2**: I've posted a simple fragment shader model that should produce a reasonable thermal effect: http://mwomercs.com/...ost__p__2188498
**UPDATE 3**: I've posted a further mockup that uses an alternate scheme to pixelation that meets the same goals but should be more aesthetically appealing: http://mwomercs.com/...ost__p__2192493

I've had quite a few games with the new thermal now and while I understand what you were hoping to achieve with the current shader modifications, however it is currently very unphysical and behaves non-intuitively. I find the new thermal to be quite a jarring mode to play with (particularly for a physicist with considerable experience working with thermal cameras)!

Rather than moan about it, I will offer you an alternative implementation that is 1) physically correct and 2) will achieve your desired goal. I've written a lot of opengl shaders in the past so I know what is practically achievable and I hope you will find my suggestions helpful.

Looking though the current shader I see you are currently just attenuating the intensity by object depth:

// In new thermal vision limit the max range of visible mechs to 700m
fDepth = clamp(fDepth,0.0f,700.0f);
fEdotN *= 1.0f - saturate(((fDepth / 700.f) * 0.9f));
fEdotN = max(VisionMtlParams.y,fEdotN);


So effectively you are simulating a crude linear "fog". The problem with this approach is that it is completely inconsistent with the other viewing modes. In particular you can see mechs using normal vision that are invisible in thermal, something that is literally physically impossible (unless the air is filled with some exotic material that only absorbs long wavelength IR... not likely!). This behaviour is confusing and unintuitive. It has also made thermal all but useless!

Here is an alternative approach, grounded in real physics: simulate a low resolution thermal sensor.

By lowering the effective spatial resolution of the sensor the objects that are distant will average towards the background by virtue of the fact that they occupy only a small fraction of the solid angle subtended by the thermal cameras pixel. This effect would be particularly effective on hot maps where a mech would be much harder to see long range as the background heat is of a similar intensity thus averaging out its signal.

How would this be implemented? I can see to approaches:

1) Render the thermal scene to a low resolution texture eg 192x108 pixel and then stretch it across the view window. In practice this will need to be oversampled to prevent aliasing, so say a 768x432 buffer and resample to 192x108.

2) render the thermal scene in full and downsample to required resolution.

How you display this downsampled image is a matter of preference, it could be scaled using nearest neighbour or interpolated to give a smoother image. Something draws me to the pixelated version as it will make interpretation of small heat sources a bit more challenging.

So what resolution should the "sensor" be, well that's up to you. The lower the resolution the lower the effective range by virtue of the spatial averaging!

You could also reduce the effectiveness of zooming in thermal mode by simply "digitally zooming" the image rather than performing an "analogue" lens based zoom simulation as is currently done.

A fully physically accurate thermal sensor that achieves the goal you intended: to reduce the effective range of the thermal vision.

It does offer some interesting upgrade module possibilities for example:

1) Enhanced thermal camera: has double (or otherwise increased) pixel resolution for those who want to see further.

2) Themal overlay module: overlays the thermal image over the normal vision (blocky pixels for the thermal would make this very visually interesting).

I hope my post is useful/interesting and I would be interested in your feed back.

-Alex

Edited by CnlPepper, 10 April 2013 - 02:14 PM.


#2 CnlPepper

    Member

  • PipPip
  • Knight Errant
  • 41 posts

Posted 02 April 2013 - 03:02 PM

On another note, again related to thermal imaging. I would be happy to give you a hand adding a set of realistic emissivity values to the various game objects - in particular the terrain. The observed thermal IR output of a body is not just a function of the bodies temperature, it is also modified by the emissivity of the surface emitting the IR. This is the reason you can still see structural details on objects that are a single temperature. Shiny metals have very different emissivities to rough metals for example. The following table is quite useful:

http://www.engineeri...ents-d_447.html

#3 MadAndrew

    Member

  • PipPip
  • 45 posts

Posted 02 April 2013 - 03:05 PM

Oh dude, I so hope they listen to you. Thumbs up! Completely agree with all your points.

#4 Krzysztof z Bagien

    Member

  • PipPipPipPipPipPipPip
  • Giant Helper
  • 710 posts
  • LocationUć, Poland

Posted 02 April 2013 - 03:13 PM

+1
That's like the best idea to do this.

#5 ohtochooseaname

    Member

  • PipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 440 posts
  • LocationSan Jose, CA

Posted 02 April 2013 - 03:15 PM

Great analysis! I'm an optical engineer, and I'll add my weight in that their thermal was far too detailed/modeled incorrectly. It never made sense how resolvable rock and ground were. Really, if you can't resolve the terrain well, you won't be running around in thermal mode all the time. Using it for sniping only makes sense (because that's what it's really useful for IRL, but the reduced resolution is a real drawback for real systems. For example, background room temperature emissions are in the 10 micron range. This has a resolution of 1/20th that of visual resolution. In other words, add a 20 pixel blur function (blur functions already being a part of the cryengine), and you are probably headed in the right direction. This will also cause distant hot objects to blur into the background. If you add Shott noise like the original night vision had due to low signal, and you can sufficiently degrade it that it won't work well at long range. The current implementation is more what you'd see from an IR headset with lamp (given that Mechs are probably pretty reflective)

Edited by ohtochooseaname, 02 April 2013 - 03:17 PM.


#6 HeavyRain

    Member

  • PipPipPipPipPipPip
  • 281 posts
  • LocationAthens, Greece

Posted 02 April 2013 - 03:18 PM

You should post your very interesting ideas in the Suggestions forum, because i am afraid this thread is going to get buried under a thousand rage threads about all the terrible bugs this patch brought us.

#7 Flak Kannon

    Member

  • PipPipPipPipPipPipPip
  • Overlord
  • Overlord
  • 581 posts

Posted 02 April 2013 - 03:26 PM

Please post this in 'Game Suggestions' one the first day of every month until they listen to you...


If you don't, I might...



Great input.

#8 Kashaar

    Member

  • PipPipPip
  • Overlord
  • Overlord
  • 75 posts

Posted 02 April 2013 - 03:49 PM

This is an awesome post. I love that approach and, as it's becoming a cliché to say, would pay to have it in game. But yes, the Suggestions forum might be a good idea! Can you post the link to that new thread in this one then?

#9 Nekomimi

    Member

  • PipPipPipPipPipPip
  • Little Helper
  • Little Helper
  • 300 posts
  • LocationOklahoma

Posted 02 April 2013 - 04:16 PM

Great idea : )

#10 Cest7

    Member

  • PipPipPipPipPipPipPipPip
  • Philanthropist
  • 1,781 posts
  • LocationMaple Ditch

Posted 02 April 2013 - 04:23 PM

Oversampling the scene and then downsampling the render seems like a lot of extra processing.

#11 Krzysztof z Bagien

    Member

  • PipPipPipPipPipPipPip
  • Giant Helper
  • 710 posts
  • LocationUć, Poland

Posted 02 April 2013 - 04:48 PM

So this scene:
Posted Image

Instead of looking like this in thermal (like now):
Posted Image

could look like this:
Posted Image

(it's just a quick mock-up)

#12 TheGeek

    Member

  • PipPip
  • Elite Founder
  • Elite Founder
  • 29 posts
  • Google+: Link
  • Facebook: Link
  • LocationGallifrey

Posted 02 April 2013 - 05:47 PM

+100!

Want to see more mock ups. This is an awesome idea. Hope the Devs at least consider implementing it

#13 CnlPepper

    Member

  • PipPip
  • Knight Errant
  • 41 posts

Posted 03 April 2013 - 07:21 AM

Thanks for the mock up, that is the look I was considering. Hopefully I'll get some time tonight to produce a few mockups on different levels for different target ranges.

One major improvement I was considering last night was to stop treating the whole mech as hot. If specific areas were hot on the mechs, rather than the whole mech, this would also act to reduce the heat signature. It would also be more realistic and require a bit of skill to interpret at range as the mechs heat profile would not necessarily be the same as its visual profile.

As a brief aside, I thought up an alternative (or additional) method to defeat thermal snipers without horrifically nerfing thermal. A module that gives the player low emissivity paint i.e. a paint that produces less IR for a given temperature. Low emissivity paint and clothing exist already in reality for this exact purpose. Either paint or an "active" system (that would probably fit better with the module concept). BAE has demonstrated a tank covered with little peltier coolers/heaters that is used to mask the tanks thermal signature. I.e. a thermal stealth module.

I think a link to this topic from the suggestions forum might be a good idea.

#14 Elder Thorn

    Member

  • PipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 1,422 posts
  • LocationGermany

Posted 03 April 2013 - 07:35 AM

even if i liked the new mode, this sounds fantastic.
PGI, look what you got here: constructive feedback, in a positive language by someone with not even a handfull of posts. If you aren't going to at least consider what is written here, you can end closed beta right now and tell us this game was final.

#15 shellashock

    Member

  • PipPipPipPipPipPip
  • Little Helper
  • 439 posts

Posted 03 April 2013 - 07:50 AM

this is one of the best ideas i have seen so far about the new thermal vision. make sure to put this in suggestions so the devs can see this. because they are still tuning both nightvision and thermal vision, this will have a pretty high chance of getting accepted if the devs get ahold of this and think it is feasible!

#16 Calamus

    Member

  • PipPipPipPipPipPip
  • The Partisan
  • The Partisan
  • 383 posts

Posted 03 April 2013 - 08:45 AM

I can't say I followed the details of this, but it sounds worth listening to. I hope PGI takes gives this post a fair shake.

#17 Least Action Jackson

    Member

  • PipPipPip
  • Bad Company
  • Bad Company
  • 92 posts
  • LocationJust outside the Bomb Factory

Posted 03 April 2013 - 09:06 AM

As a fellow physicist, I'm glad somebody thought deeply about this. Being in condensed matter, I have no expertise on the matter, but I'm glad that somebody does. I just looked at it and thought, "Well, I'm glad people can't snipe me anymore, but this looks rather crude and bland."

#18 Prezimonto

    Member

  • PipPipPipPipPipPipPipPipPip
  • Survivor
  • Survivor
  • 2,017 posts
  • LocationKufstein FRR

Posted 03 April 2013 - 09:12 AM

This is excellent!

In additionI love the idea of a low IR emission paint being a module to help offset thermal vision.

Edited by Prezimonto, 03 April 2013 - 09:13 AM.


#19 Frozenrose

    Member

  • Pip
  • 15 posts

Posted 03 April 2013 - 09:28 AM

I love the mock up you made and would love to see more of them from other distances. I think this resembles a bit too much BlueWarrior tho, making the target pop out of the enviroment a bit too much. What I understand most of the heat exhaust is in the back where the engine exhaust ports are, in the weapon slots and where heatsinks are. Making those pop out a bit more could be useful to determ the hotter parts of the body ie: You see a firefight in the distance and are more able to distinct the 'mechs. Seeing a scout running 'cold', haven't fired it weapons so you should see a less of a IR signature.

Then taking into account stuff like overlarge engine in a small chassis or too small of an engine in a heavy/atlas of course eminates more heat as the engine is struggling to keep the 'mech functional on max RPMs.

I love Prezimonto's idea about low-IR emission paint, making the chassis a bit harder to spot with the cost that heat sinks emit and weapons pop out bit more making it harder to see what chassis it it before you get a lock and target information.

#20 Prezimonto

    Member

  • PipPipPipPipPipPipPipPipPip
  • Survivor
  • Survivor
  • 2,017 posts
  • LocationKufstein FRR

Posted 03 April 2013 - 09:32 AM

It's not my idea, I'm just commenting on CnlPepper's idea a few posts in. It's wonderful.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users