2011年10月25日 星期二
2011年10月15日 星期六
2011年7月28日 星期四
UNITY Motion Trail Script!!
Dear All:
原理:
遊戲用到的Motion Trail原理其實很簡單,就是利用一個Queue,將兩參考點於每個Frame的位置記錄下來,這記錄通常是有條件的,也許是兩參考點與上一個Frame的紀錄比較距離,若高過某一threadhould就push in,此外在每個Frame裡也檢查已經在Queue中的其它點,生命周期是不是已經到了,如果是就將這次的紀錄pop out。Pseudo Code如下所示:
原理:
遊戲用到的Motion Trail原理其實很簡單,就是利用一個Queue,將兩參考點於每個Frame的位置記錄下來,這記錄通常是有條件的,也許是兩參考點與上一個Frame的紀錄比較距離,若高過某一threadhould就push in,此外在每個Frame裡也檢查已經在Queue中的其它點,生命周期是不是已經到了,如果是就將這次的紀錄pop out。Pseudo Code如下所示:
2011年6月21日 星期二
Irrlicht Collision Performance Tuning
Dear All:
這陣子因為工作上的需要開始看Irrlicht這套Open Source的Engine,就使用上來說,真的不得不佩服它直覺與乾淨的API介面,比起OGRE你會感覺OGRE是Ogre。當然Irrlicht也不是沒缺點,最嚴重就是Animation 、Collision與Rendering這三個系統。首先,Animation沒有GPU的Skin mesh,一切交由CPU、Collision System效能過慢,而Rendering 架構上沒特別為Shader做設計,還停留在Fixed Render Pipeline時代。
2011年5月18日 星期三
Log... Logging... Logger...
Dear All:
在經過了一段漫長的歲月(其實是一直在偷懶...XD),小弟我終於把Porman-gl的log系統確定下來了,在此做些記錄。
從定義開始:
甚麼是Log system?? 定義: Log system是輔助debug的系統或工具,當Programmer在撰寫程式的過程中,希望在某些可能發生錯誤或做測試的地方,ouput出一些有義意的文字訊息到檔案或者console視窗裡,來幫助執行期間或事後追蹤使用。
在經過了一段漫長的歲月(其實是一直在偷懶...XD),小弟我終於把Porman-gl的log系統確定下來了,在此做些記錄。
從定義開始:
甚麼是Log system?? 定義: Log system是輔助debug的系統或工具,當Programmer在撰寫程式的過程中,希望在某些可能發生錯誤或做測試的地方,ouput出一些有義意的文字訊息到檔案或者console視窗裡,來幫助執行期間或事後追蹤使用。
2011年2月9日 星期三
Boost::SmartPtr Sample,以ResourceManager為例
Dear All:
最近這幾天玩了一下Boost::SmartPointer,感覺還不錯用,順手寫了些Sample Code,主要的內容是說:一各ResourceManager要如何精確管理Resource?確定Resource何時可以被release?換句話說,Resource在出生後傳遞給外界被使用,參考來參考去,Manager必須知道Resource到底已經被參考過幾次了,到這第一各想法就是Smart Pointer,藉由Smart Pointer本身的Reference Count即可解決問題所在。
最近這幾天玩了一下Boost::SmartPointer,感覺還不錯用,順手寫了些Sample Code,主要的內容是說:一各ResourceManager要如何精確管理Resource?確定Resource何時可以被release?換句話說,Resource在出生後傳遞給外界被使用,參考來參考去,Manager必須知道Resource到底已經被參考過幾次了,到這第一各想法就是Smart Pointer,藉由Smart Pointer本身的Reference Count即可解決問題所在。
2011年1月20日 星期四
如何利用RGBA_8888,壓縮浮點RGBA [0.0, 1.0]數值
Dear All:
這各部分是很久以前遇到的問題,問題是:“要將GPU所算出的rgba三原色,存入一張dds圖檔,當成Lightmap使用”,很直覺的問題在如何將[0.0, 1.0]的數值存到8bit中?其實這不算什麼新鮮的問題,翻開HDR的歷史,過去舊時代的GPU(如Ps2、XBox)因沒有支援浮點格式的RenderTarget,所以必須想辦法將浮點數壓縮存在一張整數格式的RenderTarget上,來達到HDR的效果,來看看我找到的方法吧!
這各部分是很久以前遇到的問題,問題是:“要將GPU所算出的rgba三原色,存入一張dds圖檔,當成Lightmap使用”,很直覺的問題在如何將[0.0, 1.0]的數值存到8bit中?其實這不算什麼新鮮的問題,翻開HDR的歷史,過去舊時代的GPU(如Ps2、XBox)因沒有支援浮點格式的RenderTarget,所以必須想辦法將浮點數壓縮存在一張整數格式的RenderTarget上,來達到HDR的效果,來看看我找到的方法吧!
訂閱:
文章 (Atom)