WOW渲染中的紋理壓縮

2021-09-19 12:36:07 字數 2209 閱讀 1390

一直沒玩台服,國服也停留在72級。 成都的天氣一天天嚴峻,更是不想動了,於是用nvperfhud掛了下wow,看看它到底啥樣。

用nvperfhud掛程式需要被掛的程式自身支援,但是網上有乙個老兄寫的乙個nvperfhud any程式可以幫你完成這個功能。對大多數d9的都有效。除非本身做了破解。

完美時空的引擎很不錯,依然堅挺地用著d8。其實挺想掛來看看的,可惜市面上主流的工具都不支援d8,只有d9以及以後的版本。

wow在ctm的版本中公升級了它的渲染引擎,光從水面和火焰就看得出來。 但wow一向是以負載和流暢度為主,並且wow本身賣的不是畫面。所以若不能幫助提公升遊戲性的渲染損耗基本上被無視了。 其實吧,個人覺得,做遊戲無非就三種了。 一種是追求畫面,這一點棒子很有心得。二是追求可玩性,這一點我想wow應該遙遙領先了吧。 另外一種追求就顯得很單純了---錢。 這一點國內許多遊戲做得很好,在此就不列名字了,因為比較多。

由於上星期在公司測試新寫好的材質和資源管理時,發現alpha測試的草叢效果很不理想,於是將草的alpha混合開啟了,一時間,感覺世界被顛倒了。因為草是按簇畫的,排序也只能是按簇排序,當開啟了alpha混合後,草叢與草叢之間沒有太多問題,只是草叢本身出現了畫素渲染錯誤。 不管是z寫和z測試如何選擇開啟和關閉。都會有問題。

突然發現草這個東西很特別。

草叢的建模和gpu gems 1上的建模方式一樣, 三個矩形交叉的方式。

1、它需要用alpha混合來實現效果

用alpha混合的效果是很不錯的。因為可以使邊緣柔和。畢竟alpha測試會因為alpha值取樣引起的誤差導致嚴重的巨齒。其次就是對美術要求太高了,需要嚴格控制alpha與非alpha交界處。

2、但它的行為屬性卻是乙個非透明物體。

這是因為它必須有深度關係,必需寫z。 因為只有寫了z,才能夠正確地與特效等透明物混合,並且也只有寫了z,同一草中的多個麵片才能夠正常混合。

在忽略其它情況下,我試過了z測試和z寫的四種組合,也未能達到草叢本身和單棵草都同時達到正確的效果。

還是多看看別人怎麼做的吧,所以上來就比較關心wow的植被渲染了。 當看到下面這樣的紋理的時候,我笑了。沒想到blz的美術資源節約到了這樣的程度,真是細緻入微啊(這不是拍馬屁,試問有多少美術資源是這樣做的)。 可以看出,若不採用這樣的半張,而用整張,那麼就是128x128的大小。

左邊為原圖,右邊為alpha通道檢視圖

而對於樹的渲染,則很普通了。設定好紋理,設定好資料和渲染狀態,提交繪製即可。

為了看到alpha混合的效果,我強忍著把wow在我7300的顯示卡上開完了效果。以為會咋的,結果啥也沒發生。

wow的植被的確沒有用到alpha混合。我失望了。

可能許多人覺得,把多張紋理整合在一張上更好吧。 當然了,這是自然的。 下面就是wow中經常一起出現的植被的紋理打包圖。

大家可以看到,右邊的圖並沒有被裁剪,其原因不言而諭(因為想以非對稱營造感覺,並且小件物體紋理本身比較小。)。

發現這草用的是兩片,並且大小還不一樣。 不知是否真的有此必要。

我最後要說明的是,這文章就算完了。沒有結論,也沒有感言。因為那樣太俗套!

posted @

2011-01-23 21:54

麒麟子(alex) 閱讀(

...)

編輯收藏

手遊中的紋理壓縮

移動裝置記憶體有限,為了節省記憶體,一般都會對貼圖進行壓縮。一張4mb的貼圖,在移動裝置中壓縮之後只有1 8 安卓裝置中算上alpha貼圖是1 4 也就是0.5mb。假如有一張1024px 1024px的4通道 rgba8888,每個通道都為8bit 貼圖。一般來說,一張紋理所占用的記憶體的計算方式...

Opengl中的FBO渲染到紋理

渲染到紋理用途 遊戲中水的倒影,汽車的反光鏡,gpgpu必備。實現參見紅皮書的 至於ogre中的渲染到紋理可以參考翻譯文件第八章 ogre渲染目標 渲染到紋理 技術,本質上來說就是一次對場景中幾何體的渲染過程。它本身要花費一些執行時間,進而導致幀速的下降。當你渲染複雜耗時的內容的時候,你不得不考慮相...

個人理解的 紋理壓縮

2.壓縮紋理的必要性 1 首先要說一下影象檔案格式和紋理格式的區別。常用的影象檔案格式有bmp,tga,jpg,gif,png等 常用的紋理格式有r5g6b5,a4r4g4b4,a1r5g5b5,r8g8b8,a8r8g8b8等。檔案格式是影象為了儲存資訊而使用的對資訊的特殊編碼方式,它儲存在磁碟中...