quick geomorphing question

Started by
4 comments, last by mrbastard 17 years, 1 month ago
Hi, I'm trying to implement geomorphing, I've got the general idea of the algorithm which is to gradually rise the height of vertices so no popping will occur. If vertices are disable, how we're supposed to rise their height? Morphing Cheers :D
Advertisement
I think the point you are missing is that the morphing takes place in space and not in time. That is to say that your interpolation instantaneously generates an appropriately shifted vertex to be used at a given terrain location. This means that the underlying geometry remains unaltered throughout, so if a point isn't being rendered it's not "missing it's chance to be shifted" but rather not having a location calculated for that frame as it's not visible. In the next frame it is visible its location is calculated directly from it's initial location and position in the scene are necessary.
Hope this helps,

Dan
Quote:Original post by mrcheesewheel
I think the point you are missing is that the morphing takes place in space and not in time. That is to say that your interpolation instantaneously generates an appropriately shifted vertex to be used at a given terrain location. This means that the underlying geometry remains unaltered throughout, so if a point isn't being rendered it's not "missing it's chance to be shifted" but rather not having a location calculated for that frame as it's not visible. In the next frame it is visible its location is calculated directly from it's initial location and position in the scene are necessary.
Hope this helps,

Dan



If I understand correctly then, even when not rendered, the disable vertices can still be shifted? So it's not rendered but it's still there? :/ arghh now i'm really confused :D
Try thinking about it in reverse. Instead of going from a low resolution to a higher resolution mesh, go from the high res to low res.

Imagine your high res is halfway through its morphing and you want to take towards a low res version. The additional vertices are morphed slowly down towards a point where eventually the high res looks exactly the same as the low res mesh, just with more vertices. At this point you can switch meshes and not see any popping.
Quote:Original post by noisecrime
Try thinking about it in reverse. Instead of going from a low resolution to a higher resolution mesh, go from the high res to low res.

Imagine your high res is halfway through its morphing and you want to take towards a low res version. The additional vertices are morphed slowly down towards a point where eventually the high res looks exactly the same as the low res mesh, just with more vertices. At this point you can switch meshes and not see any popping.


Thx, I understand now. But what about going from low res to high res. How could we get access to a disable vertex to raise its high?

[Edited by - Tutukun on April 19, 2007 7:57:22 AM]
You're absolutely right. You can't alter a vertex you're not rendering.

While doing the morph, you render the higher detail mesh, but morph the vertices that should be disabled. So at the start of the morph even though you're rendering the high detail mesh, it looks like the low detail one because you've morphed the extra verts onto the edges.

To be clear: during the morph you're always rendering the higher detail mesh, not the low detail one.
[size="1"]

This topic is closed to new replies.

Advertisement