去年,也就是2008的
3D遊戲中,以HDR、動態影子、NormalMap,為三大神器。
而新世代的技術,
也就是PS3和Xbox360常用的技術:GI(Global Illumination)
也就是我今年的最後目標。
以「ソニック ワールドアドベンチャー」(簡稱ソニックWA)的遊戲中,
大量使用GI技術、「放射輝度ボリューム 」(Irradiance Volume)兩種。
這兩種技術,讓我滿驚訝!
因為除了逼真之外,也可以讓美術減少許多功夫。
不過這要研究的話,要花大量的時間,
因為要從底層到工具層開始打造,而且這當中有許多的技術去組合而成。
只能慢慢來(笑)
2009年7月12日 星期日
PSSM(Parallel-Split Shadow Maps)
今天總算把PSSM完成了差不多了,
用了512*512的大小,就可以做出很高品質的全場景影子。
在製作的過程,遇到不少問題,
不過也因此而對shadow map有相當的認知,
以前遇到這個都會刻意避開,這演算法算是我第一次作shdow map的經驗。
現在render engine已經全面支援動態「光影」了,我想上司一定很高興XD。
接下來還剩下一個問題,就是在某一光源向量時,
shadow map會全跑掉不見。
以下是我在看的資料,有興趣者可以去看:
Parallel-Split Shadow Maps on Programmable GPUs
Parallel-Split Shadow Maps
PS:未來有時間的話,會嘗試導入VSM,也就是PSSM + VSM。
//////////2009 / 7 / 20
已經把「shadow map會全跑掉不見」的bug修正完畢了,
果然是projection matrix那邊的問題。
至於效能上,大致上會跟nvidia文件所說的,receive方面,只有terrain。
要做到receive object的話,效能上要多多考量,並不是作不到。
現在engine上,已經有靜態光影和動態光影,只要這兩種相互輔助,
在場景設計上,會有相當大的彈性。
比如:非副本的場景,只有靜態光影;反之,副本就是全方面動態光影。
用了512*512的大小,就可以做出很高品質的全場景影子。
在製作的過程,遇到不少問題,
不過也因此而對shadow map有相當的認知,
以前遇到這個都會刻意避開,這演算法算是我第一次作shdow map的經驗。
現在render engine已經全面支援動態「光影」了,我想上司一定很高興XD。
接下來還剩下一個問題,就是在某一光源向量時,
shadow map會全跑掉不見。
以下是我在看的資料,有興趣者可以去看:
Parallel-Split Shadow Maps on Programmable GPUs
Parallel-Split Shadow Maps
PS:未來有時間的話,會嘗試導入VSM,也就是PSSM + VSM。
//////////2009 / 7 / 20
已經把「shadow map會全跑掉不見」的bug修正完畢了,
果然是projection matrix那邊的問題。
至於效能上,大致上會跟nvidia文件所說的,receive方面,只有terrain。
要做到receive object的話,效能上要多多考量,並不是作不到。
現在engine上,已經有靜態光影和動態光影,只要這兩種相互輔助,
在場景設計上,會有相當大的彈性。
比如:非副本的場景,只有靜態光影;反之,副本就是全方面動態光影。
2009年6月26日 星期五
重大巨變
因為公司最上層的命令,導致次世代引擎要暫時終止開發,
而將主力人才放在重要的專案上。(唉~說起來很複雜)
個人估計最快大概要一年之後,最晚是明年年底才能繼續開發。
我們依造scrum的敏捷開發流程中,跑了8次sprint,
如果繼續跑下去是可以達到我們目標了,唉~可惜。
看著大陸的技術崛起,以劍俠3 OL和天驕3為例,
開始不禁擔心起台灣的水準了。
等到他們的render engine已經達到定位了,就會開始往其他方向發展了,
我們連第一步還沒踏出去,何來的下一步。
個人這幾天都在思考,自己必須要為更遠的目標而踏下第一步。
而將主力人才放在重要的專案上。(唉~說起來很複雜)
個人估計最快大概要一年之後,最晚是明年年底才能繼續開發。
我們依造scrum的敏捷開發流程中,跑了8次sprint,
如果繼續跑下去是可以達到我們目標了,唉~可惜。
看著大陸的技術崛起,以劍俠3 OL和天驕3為例,
開始不禁擔心起台灣的水準了。
等到他們的render engine已經達到定位了,就會開始往其他方向發展了,
我們連第一步還沒踏出去,何來的下一步。
個人這幾天都在思考,自己必須要為更遠的目標而踏下第一步。
2009年6月10日 星期三
Memory leak!
這幾天我的同事(JC)遇到關於記憶體的bug,
我就推薦給他這個工具去找找:Memory Validator。
這工具滿神的,可以找出哪一個物件沒有被釋放完整之外,
還可以紀錄到那一個物件總共幾個尚未被釋放。
還可以看到source code!it's good
可惜我只能拿30天去玩Orz。
我就推薦給他這個工具去找找:Memory Validator。
這工具滿神的,可以找出哪一個物件沒有被釋放完整之外,
還可以紀錄到那一個物件總共幾個尚未被釋放。
還可以看到source code!it's good
可惜我只能拿30天去玩Orz。
工具終於快出第一版了!
事隔兩個月多,第一個版本的工具要釋出了!
這是我的處女作,因為這是我第一次作工具XD。
此工具是給美術人員去使用的。
除了作一些compress texture之外,還想要作debug的功能。
就是檢查uv coordinate,還有檢查texture的size要多大才是「正確」。
不過要作debug的功能的話,必須要修改render的元件,
當然shader code也是要寫。
恩...只能慢慢來,這工具短期不需要功能完整,最基本的compress是必須的。
看看六月底能作多少算多少。
這是我的處女作,因為這是我第一次作工具XD。
此工具是給美術人員去使用的。
除了作一些compress texture之外,還想要作debug的功能。
就是檢查uv coordinate,還有檢查texture的size要多大才是「正確」。
不過要作debug的功能的話,必須要修改render的元件,
當然shader code也是要寫。
恩...只能慢慢來,這工具短期不需要功能完整,最基本的compress是必須的。
看看六月底能作多少算多少。
2009年4月8日 星期三
好忙呀~
近一個月沒更新文章了。
最近有在忙修正舊引擎的效能,還有新增一些功能。
效能上有提升到三倍,新增功能方面是自己挖洞下去的XD。
其實花大部分時間在於看一堆compression文件。
texture在遊戲上是扮演很重要的角色,也是美術的功力展現之一。
我想很多遊戲都將texture作compress動作。
所以身為圖學工程師,要幫他們作把關,
盡量將原圖或近似原圖展現在玩家眼中之外,
又為每種硬體設備做出很棒的調整,
尤其是大量使用normalmap的texture。
這次的backlog的質量相當重,有太多的東西要去研究。
希望這backlog能夠在五月底能夠產生出來。
最近有在忙修正舊引擎的效能,還有新增一些功能。
效能上有提升到三倍,新增功能方面是自己挖洞下去的XD。
其實花大部分時間在於看一堆compression文件。
texture在遊戲上是扮演很重要的角色,也是美術的功力展現之一。
我想很多遊戲都將texture作compress動作。
所以身為圖學工程師,要幫他們作把關,
盡量將原圖或近似原圖展現在玩家眼中之外,
又為每種硬體設備做出很棒的調整,
尤其是大量使用normalmap的texture。
這次的backlog的質量相當重,有太多的東西要去研究。
希望這backlog能夠在五月底能夠產生出來。
2009年3月15日 星期日
about the Graphics Memory
為了掌控texture的品質,最近再看關於Graphics Memory的相關資料。
並且去瞭解內部的運作是怎樣的。
BIOS中可以去調整AGP Aperture size,一般玩家覺得調那個可以
加快遊戲執行的速度,其實調那個是並不會增加遊戲速度,
有興趣者請看這份資料:What is AGP Aperture size。
而且在DirectX SDK中,有個Video Memory的sample,
可以教我們如何show出關於video memory的資訊。
除此之外,Window Vista對於Graphics Memory的管理又是另一套方式,
名叫:Windows Vista Display Driver Model(WDDM)
他的相關資料在這:Graphics Memory Reporting through WDDM
最後,
如何去檢查剩餘的Graphics Memory?
可以用RivaTuner和Video Memory Watcher。
以上!
並且去瞭解內部的運作是怎樣的。
BIOS中可以去調整AGP Aperture size,一般玩家覺得調那個可以
加快遊戲執行的速度,其實調那個是並不會增加遊戲速度,
有興趣者請看這份資料:What is AGP Aperture size。
而且在DirectX SDK中,有個Video Memory的sample,
可以教我們如何show出關於video memory的資訊。
除此之外,Window Vista對於Graphics Memory的管理又是另一套方式,
名叫:Windows Vista Display Driver Model(WDDM)
他的相關資料在這:Graphics Memory Reporting through WDDM
最後,
如何去檢查剩餘的Graphics Memory?
可以用RivaTuner和Video Memory Watcher。
以上!
訂閱:
文章 (Atom)
