Time of Update: 2018-12-03
最近幾個月在實現規模比較大的底層系統(這也是一直沒有論文閱讀更新的原因)。記錄下反思中的點點滴滴(後面會有更新)。 挑戰:大型系統的最大挑戰的根源在於其規模,以及規模帶來的複雜度,它會在幾個方面帶來挑戰:它不能一下在在腦袋裡全部浮現出來,也就是說一次只能關照一個部分(包括樹狀結構的至上而下的思考)對於體力和意志力也是一個挑戰,尤其是有deadline的情況下容易出現受迫性失誤(沒有按照完美的方法去實現)目標: “平衡”往常我們會說是“完美”才是目標,實現一個功能效率俱佳的系統,但是在實際項目中,
Time of Update: 2018-12-03
這個文章要解決的問題其實不算是這個generation的,但是裡面帶來一些思想或許有一些啟發,也提到不少知識,也算是複習和加深理解了。但對於實際遊戲開發來說營養甚小。我們正常做env mapping的時候是不帶occlusion資訊的,實際使用中tri
Time of Update: 2018-12-03
http://msdn.microsoft.com/en-us/magazine/cc301698.aspx在link時刻做的代碼最佳化。平時接觸的編譯器最佳化基本是compile time最佳化,比如inline這樣的工作。其限制就是可以做的東西就是在一個編譯單元裡,一旦調用的一個函數在另外一個編譯單元,就只有跳轉著一個選擇,至於跳轉的細節就是在link time來決定了。 link time
Time of Update: 2018-12-03
http://www.programmer.com.cn/4515/ 不錯的訪談,第一線戰鬥的資深同學的總結,給我的感覺特樸實無華,這哥們既沒有特聰明的頭腦,也沒有很盛的氣勢,就是一點點孜孜不倦的做,最後做得很好。no magic, just
Time of Update: 2018-12-03
原帖在下文,筆記:DxFlag:像D3DUSAGE_DYNAMIC, D3DPOOL_DEFAULT, D3DPOOL_MANAGED, D3DPOOL_SYSTEMMEM這些都是給driver一些提示說我們想這樣用這些資源(靜態,動態。。。),到底這些資源會被如何管理還是driver來說了算。一些傾向是:POOL:D3DPOOL_DEFAULT:會根據usage來放置資源,基本是video mem和AGP
Time of Update: 2018-12-03
matrix定義:float(row)x(column) matrix。比如float 3x4 matrix就是3行4列的matrix。 在彙編級表現是一個column一個register。mul(vector, matrix)要求matrix的row num和vector的dimention對應,如果是:mul(float4,
Time of Update: 2018-12-03
CallOfJuarez:BoundInBlood,中文名是《狂野西部:生死同盟》,很棒的一個渲染技術回顧。開發商是techland,以前沒太聽過,查了下是建立於1991年,現在還在開發nextgen的遊戲,not bad!有自己的engine,還在不停地發展。這篇文章非常精彩,緊湊含金量高。deferred shading這裡techland認為deferred shading最大的好處就是可以簡化render
Time of Update: 2018-12-03
http://www.guerrilla-games.com/presentations/GDC09_Valient_Rendering_Technology_Of_Killzone_2.pptxhttp://www.guerrilla-games.com/presentations/GDC09_Valient_Rendering_Technology_Of_Killzone_2_Extended_Presenter_Notes.pdf一個老文章了,不過有一些細節很不錯。killzone2,開發
Time of Update: 2018-12-03
平常時候說的宏,一般指preprocessor,google的時候用這個比較合適,否則各種macro會悲劇。 msdn裡面有比較全:http://msdn.microsoft.com/en-us/library/wy090hkc(v=VS.80).aspx 歸檔一下以前的相關post:http://blog.csdn.net/ccanan/archive/2007/06/06/1641409.aspx變參的宏:http://blog.csdn.net/ccanan/archive/2010/11
Time of Update: 2018-12-03
“do not pray for easy life, pray for stronger man"隨著甘迺迪喊出這句話,終於把cod7通關了。cod7
Time of Update: 2018-12-03
git越來越喜歡git,git本身理念上的提升還沒太用到,但是對於常常要offline工作的情況,裡面的push功能很好,相當於local有一個小型server,在offline情況下可以把改動存在著裡面。然後online情況下在commit到想github這種代碼託管的地方。 git extention對於不愛用命令列的同學可以用這個,各方面功能很方便。git scc provider:http://gitscc.codeplex.com/,vs
Time of Update: 2018-12-03
經過n次的重演之後,又來一個n+1次的重演。就是對於知識理解的不透徹,結果耗費了更多時間。在學習和閱讀的過程中還是要慢一些,理解透徹才好,否則不該快的地方快了,反而後面加倍償還。回顧之前學習和閱讀的經曆,還是潛意識裡的浮躁和想走捷徑作怪,這兩點某些時候會省一點,但是更多時候則更費,實在不可取。 然後就是對知識點理解的透徹對最終效果的展現也是巨重要,最近做的東西,演算法都比較好的實現出來了,但是效果還是比較差。需要調出一個比較好的資料才行,但是這個資料調試的效率就取決於對演算法的理解程度,理解的好
Time of Update: 2018-12-03
http://article.yeeyan.org/view/5599/168692這個文章很不錯,裡面是講教育小孩的,但是卻反射了更多社會和人的現象。 關於大腦運作的這個特點:“威靈漢姆還指出:“一件事情如果一遍一遍地反覆,最後就會變得自然而然。大腦會變得讓你不假思索就完成它。”到了這一步,大腦就會發展出地區進行更進階的活動:比如,解析文學作品,而不只是逐字解讀;探索音樂的情感涵義,而不只是敲擊每一個音符。對受試者大腦的掃描表明受試者進行一連串動作時,如果這串動作重複,大腦中與運動有關的部位活
Time of Update: 2018-12-03
這個文章很cool。result顧名思義(btw,tetrahedron意思是四面體),是講的點光源陰影,直接看和傳統omnidirectional shadow map對比的資料吧:cubemap:230fpsdual-paraboloid:276fpstetrahedron with stencil:418fps對rendertarget的要求:但是這裡需要注意兩點:rendertarget上面tetrahedron需求是最小的但是render
Time of Update: 2018-12-03
http://developer.amd.com/media/gpu_assets/Nehab-Accelerating_Real-Time_Shading_with_Reverse_Reprojection_Caching(GH07).ppt http://www.cs.virginia.edu/~jdl/papers/reproj/nehab_gh07_slides.pdf 原本是sig10上crytek說他們ssao
Time of Update: 2018-12-03
實用性不太好的一篇,裡面對image space的一些操作的介紹和應用倒是不錯。主要是講對pcss(percentage closer soft shadow)進行最佳化的一個思路。pcss本身在遊戲裡面的意義就比較小,性價比太低。tech這篇文章是在scene的螢幕空間裡面,根據shadow receiver到occluder的距離,來進行不同kernel大小的gaussian blur來達到變半影區的軟影的效果。最佳化點就是使用gaussian blur是separatable
Time of Update: 2018-12-03
最近開始做一些profile工作,出了使用內部開發的profile資訊搜集之外,也開始安裝使用parallel studio xe 2011. 首先使用介面比較好看 amplifier,屬於vtune的延續或者進入parallel studio的整合,提供了很多不錯的feature。但是目前來看在profile game上還是有相當的路要走。比較好的是可以在一個frame裡用樹狀結構來把嵌套的event圖形化的顯示出來,使用顏色區分不同,滑鼠移上去可以看見event
Time of Update: 2018-12-03
存到自己的微雲裡面,串連:http://url.cn/EcYTwc(話說微雲還是方便多了,在國內付費什麼的都比較容易,速度也快,之前用的google drive和skydrive就是速度和付費太麻煩了。)guerilla的lead tech
Time of Update: 2018-12-03
在遊戲開發,確切的講是engine開發中什麼時候使用smart pointer?現代遊戲engine開發幾個特點:規模很大效率是核心競爭力多線程等由硬體定製的特點那麼在考慮是否使用smart pointer的時候,效率不可避免。 smart pointer的屬性就是:自己管理自己,當沒人需要,就銷毀。 這樣看來:在資源的所有者不明的時候,應該使用smart pointer。資源所有者明確的時候(也就是不需要自我管理),就由所有者來負責記憶體的管理。作為memory
Time of Update: 2018-12-03
link:http://www.nvidia.com/content/PDF/GDC2011/Epic.pdf deferred shading輕描淡寫的提了一下,實在是在業界已經普及了,epic大肆宣揚就沒意思了,只是更新下大家的knowledge base,unreal engine 3現在也defer了。 short hair 使用camera aligned triangle strip, 然後配上貼圖,很類似grass的渲染。重點在alias的處理,在單純的1x