Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

Terrain silhouette


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 TiagoCosta   Crossbones+   -  Reputation: 1064

Like
0Likes
Like

Posted 05 May 2011 - 03:10 PM

Ive implented GPU Geometry clipmaps, but this technique doesn't seem to handle far terrain silhouettes very well... Since the distance between vertices increases far from the view point, when the camera moves the silhouette of the terrain far from the view point keeps changing (is very unstable).

How can I increase the stability of silhouettes without increasing the number of triangles?
Tiago Costa
Aqua Engine - my DirectX 11 game "engine" - In development

Ad:

#2 PrestoChung   Members   -  Reputation: 127

Like
0Likes
Like

Posted 05 May 2011 - 04:17 PM

Usually the outer levels of the clipmap should only change half as frequently as the next closer level.
Are you shifting all the outer levels at the same time as the innermost level?

#3 TiagoCosta   Crossbones+   -  Reputation: 1064

Like
0Likes
Like

Posted 06 May 2011 - 01:01 PM

Are you shifting all the outer levels at the same time as the innermost level?

Yes.

But if I update the half as frequently as the next closer level, the levels will overlap each other right?
Tiago Costa
Aqua Engine - my DirectX 11 game "engine" - In development

#4 intyuh   Members   -  Reputation: 165

Like
0Likes
Like

Posted 06 May 2011 - 04:11 PM


Are you shifting all the outer levels at the same time as the innermost level?

Yes.

But if I update the half as frequently as the next closer level, the levels will overlap each other right?


If you implemented geometry clipmaps correctly (as in http://research.microsoft.com/en-us/um/people/hoppe/geomclipmap.pdf) then it shouldn't ...
(sorry if this is not really usefull, but apparently what you implemented is NOT geometry clipmaps, so until you explain your algorithm/implementation, we won't be able to help much :))

#5 TiagoCosta   Crossbones+   -  Reputation: 1064

Like
0Likes
Like

Posted 08 May 2011 - 07:45 AM

Ive read the paper again, and it seems my implementation is missing somethings :blink:

For what, Ive understood the coarser levels are only updated when the next vertex position is exactly in the position of the old vertex (well I didnt explained it very well :huh:)

"The choice of grid size n = 2k−1 has the further advantage that the finer level is never
exactly centered with respect to its parent next-coarser level. In other words, it is always
offset by 1 grid unit either left or right, as well as either top or bottom (see Figure 2-4),
depending on the position of the viewpoint."


This 1 grid unit offset is the L-shaped strip right? But how do this prevent levels from overlapping?
Tiago Costa
Aqua Engine - my DirectX 11 game "engine" - In development

#6 intyuh   Members   -  Reputation: 165

Like
1Likes
Like

Posted 09 May 2011 - 10:21 AM

Ive read the paper again, and it seems my implementation is missing somethings :blink:

For what, Ive understood the coarser levels are only updated when the next vertex position is exactly in the position of the old vertex (well I didnt explained it very well :huh:)

"The choice of grid size n = 2k−1 has the further advantage that the finer level is never
exactly centered with respect to its parent next-coarser level. In other words, it is always
offset by 1 grid unit either left or right, as well as either top or bottom (see Figure 2-4),
depending on the position of the viewpoint."


This 1 grid unit offset is the L-shaped strip right? But how do this prevent levels from overlapping?


Quick answer : there always is a gap between 2 levels. This gap allow you to move the finer level one unit without moving the next coarser one. The L-shape is there to fill the gap. When your finer level move so that it will overlap the next coarser level, then and only then you move your coarser level.

Long answer : English is not my primary language, so explaining something like this in english is a bit above my abilities :) (I've had a bit of trouble understanding the whole geometry mipmapping stuff myself :P)
What I would advice is : take a pen, a paper with a grid, and draw a sample case. This is what I did, and it helped me visualize the whole thing.
It's not so difficult, but explaining it by words is :)

#7 TiagoCosta   Crossbones+   -  Reputation: 1064

Like
0Likes
Like

Posted 09 May 2011 - 11:52 AM

Your english is ok and thank you for trying to help me ;)

there always is a gap between 2 levels. This gap allow you to move the finer level one unit without moving the next coarser one. The L-shape is there to fill the gap. When your finer level move so that it will overlap the next coarser level, then and only then you move your coarser level.


So the finer level always has to move two units right? Because the height of the L-shape of the next coarser level is always twice of height of each finer level quad...
Tiago Costa
Aqua Engine - my DirectX 11 game "engine" - In development

#8 intyuh   Members   -  Reputation: 165

Like
0Likes
Like

Posted 11 May 2011 - 10:06 AM

Your english is ok and thank you for trying to help me ;)


there always is a gap between 2 levels. This gap allow you to move the finer level one unit without moving the next coarser one. The L-shape is there to fill the gap. When your finer level move so that it will overlap the next coarser level, then and only then you move your coarser level.


So the finer level always has to move two units right? Because the height of the L-shape of the next coarser level is always twice of height of each finer level quad...


Yep, that's right.
if you haven't already, take a look at http://research.microsoft.com/en-us/um/people/hoppe/gpugcm.pdf
It explains things in a different manner, and it helped me understand a few things (I used both papers to fully understand the geometry clipmap algorithm)




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS