Clipmap中方顯SM3頂點Texture的真劍用場!

Shader Model 3.0中一個顯著的新機能就是頂點shader中的texture參照機能,而且關於這個機能,還是NVIDIA GeForce 6系列以來所獨有支持的(不過作為SM4的基本規範,ATI的HD 2000系列在D3D10+SM4下也可以支持頂點texture)而著稱。雖然如此,一直以來偶卻始終未覺此nv所實現的「難能可貴」的新機能的保貴之處:若是為了從高度map生成地形的話,預先對地形頂點進行改變即可,沒必要realtime去改變吧(地形一般不會變化吧?) 況且據說這個texture參照的過程比通常的pixel shader中的texture參照廢時(顯然的,能提供就不錯了,肯定慢)

直到了解到clipmap的LOD地形描繪手法,才覺豁然開朗:原來有了頂點texture可以這樣!以往的LOD都是在CPU中對world座標系中固定的primitive進行裁減判斷和mip層的設定,這也是很自然最直接的想法了。然而clipmap提供了一種全新的手法:只專注描畫視點周圍的primitive,在頂點Shader中動態算出他們對應的頂點座標,隨著視點的移動,這些頂點在水平方向上也跟隨著視點移動(與視點其實水平上保持相對靜止),而在shader中根據實際的頂點位置換算出texture座標,由此參照高度map來獲得當前頂點的高度,也就是講變成頂點跟著視點動,但高度由高度map來確定,當視點移動時,所有頂點都「高底起伏」來模擬地形位置的轉移。這種LOD思路有兩個革命性的優勢:不管視點如何移動,真正描畫的primitive永遠只是固定的有限的那一團,是死的,不用管真實world座標系中的頂點評估裁剪,對那一團頂點的布局可以隨心所欲,不受真實地形所影響;另一好處就是所有的動態描畫計算幾乎全部在shader(亦即GPU)中完成,cpu可以大大減壓,符合目前技術趨勢所向。而頂點Texture是實現這一方法的核心必要機能,NVIDIA果然沒白搞。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值