天涯 发表于 2013-3-7 16:03:55

地形渲染中消除POP的方法(转载)

在地形渲染中为了减轻渲染负担其中一个技术是就LOD,但其带了的一个问题就是会产生地形”跳动”,因为地形的LOD精度发生变化时镶嵌的密度也发生了变化。要解决这个问题有一个方法就是当高精的模型向底精模型变化时不是突然变化过去的,而是慢慢渐变而来,这样可以极大的减少”跳动”。通过设置适当的渐变距离可以做到让观察者感觉不到地形的变化。 关于这个问题在一篇文章里面也有介绍www.dgdaming.com:TerrainGeomorphingintheVertexShader,但是原文介绍的方法过于复杂而且不适合用硬件加速,但是这仍然是一篇学习地形渲染的好文章。下面提出一种更加简单,快速的方法来解决这个问题。使用这个方法有一个前提条件就是地形块之间的LOD级别相差不能大于1。
解决这个问题最基本的思想就是:对高精度的地形块进行形变来模拟低精度的地形块,当高精地形和低精地形的形态完全一样时,地形块的LOD才变为低精度的。设置高精度地形块的高度为H1,低精度的地形块的高度为H2,最后根据渐变距离求出一个插值t,最后地形的高度就为H=lerp(H1,H2,t)。
为了加速渲染顶点形变的过程由vs去计算。设置地形的最大LOD级别为5,也就说有4种形变可能:0->1,1->2,2
页: [1]
查看完整版本: 地形渲染中消除POP的方法(转载)