Sign in to follow this  

how to draw threat dome

This topic is 2007 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

[color=#000000][font=verdana, arial, helvetica][size=2][left]Hi [/left][/size][/font][/color]

[color=#000000][font=verdana, arial, helvetica][size=2][left]I want to implement a threat dome.[/left][/size][/font][/color][color=#000000][font=verdana, arial, helvetica][size=2][left]So I am hoping some one could help me on this.[/left][/size][/font][/color]

[color=#000000][font=verdana, arial, helvetica][size=2][left]Thanks in advance[/left][/size][/font][/color]

Share this post


Link to post
Share on other sites
[quote name='amrin' timestamp='1340007883' post='4950169']
[left][color=#000000][font=verdana, arial, helvetica][size=2]I want to implement a threat dome.[/size][/font][/color][/left]
[left][color=#000000][font=verdana, arial, helvetica][size=2]So I am hoping some one could help me on this.[/size][/font][/color][/left]
[/quote]
Please explain what a threat dome is, and what your requirements on functionality are.

Share this post


Link to post
Share on other sites
[quote name='amrin' timestamp='1340014218' post='4950191']Threat Dome displays the volume that is visible from a given point on the terrain. Threat Dome looks like top half of a sphere that accurately displays the areas viewable from the defined point. Any point inside the [color=#FFFFFF][background=#0a246a]threat dome[/background][/color] can be viewed from the dome’s pivot point.
[/quote]

I think this is what is called [url="http://en.wikipedia.org/wiki/Frustum"]frustum [/url]then?

If you use OpenGL, the projection matrix will compute it for you.

Share this post


Link to post
Share on other sites
If I understand correctly what you want, this is all but trivial.

You basically want to construct a dome from the visible horizon from some arbitrary point. This is easy if you know the horizon (just extrude towards +Z and scale, repeat a few times, and there's your dome), but [i]finding [/i]the horizon line is not easy.

Assuming a heightmap terrain (you didn't specify, but otherwise it is still a lot harder!) this means you have to ray-march over the terrain heightmap up to a maximum viewing distance and ignore everything that is less than your maximum value (because something that is below a higher elevation won't be visible). So basically, you only ever care about values that are higher than any ones (including the point you're standing on) you've seen before. Anything less isn't visible as long as the terrain isn't transparent and doesn't have holes. Eventually you will have reached a maximum distance (either practical because it's no longer of interest, or for effects like atmospheric attenuation, earth curvature, etc.).

Do that for, say, a dozen cardinal directions. This is a very coarse approximation. If the terrain between two rays is sufficiently "similar", your estimate is good, the distance that you find on two sibling rays is identical or more or less the same. If it is not, then your estimate is not accurate, so shoot another ray at the half angle between the two, repeating this recursively until you are happy with the accuracy. Edited by samoth

Share this post


Link to post
Share on other sites
[quote name='samoth' timestamp='1340023414' post='4950226']
If I understand correctly what you want, this is all but trivial.

You basically want to construct a dome from the visible horizon from some arbitrary point. This is easy if you know the horizon (just extrude towards +Z and scale, repeat a few times, and there's your dome), but [i]finding [/i]the horizon line is not easy.

Assuming a heightmap terrain (you didn't specify, but otherwise it is still a lot harder!) this means you have to ray-march over the terrain heightmap up to a maximum viewing distance and ignore everything that is less than your maximum value (because something that is below a higher elevation won't be visible). So basically, you only ever care about values that are higher than any ones (including the point you're standing on) you've seen before. Anything less isn't visible as long as the terrain isn't transparent and doesn't have holes. Eventually you will have reached a maximum distance (either practical because it's no longer of interest, or for effects like atmospheric attenuation, earth curvature, etc.).

Do that for, say, a dozen cardinal directions. This is a very coarse approximation. If the terrain between two rays is sufficiently "similar", your estimate is good, the distance that you find on two sibling rays is identical or more or less the same. If it is not, then your estimate is not accurate, so shoot another ray at the half angle between the two, repeating this recursively until you are happy with the accuracy.
[/quote]

Thank You...

Share this post


Link to post
Share on other sites

This topic is 2007 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this