Time of Update: 2018-12-06
文章目錄 資料格式純實數FFTsFFT 轉載請註明出處為KlayGE遊戲引擎,本文的永久連結為http://www.klayge.org/?p=1920 FFT鏡頭效果已 經完成,並整合入KlayGE開發版中,命名為FFTLensEffectPostProcess。除此之外,還寫了一個命令列工具,用於產生鏡頭效果的 紋理。雖然FFT的方法能在一個pass內產生各種複雜的鏡頭效果,但目前效能低於預設的多重gaussian
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2011/06/30/%e6%9c%80%e5%85%88%e8%bf%9b%e7%9a%84%e5%bc%80%e6%ba%90%e6%b8%b8%e6%88%8f%e5%bc%95%e6%93%8eklayge-3-12-0%e5%8f%91%e5%b8%83/KlayGE 3.12.0在上半年的最後一天發布了!本版的亮點是支援即時全域光照。主要更新如下:
Time of Update: 2018-12-06
在有些裝置上只有float沒有double,比如前幾代GPU、部分行動裝置等。當非得用到double精度的時候該怎麼辦?我記得去年在某個地方見到過用2個float類比double的作法,經過一番玩命地搜尋,得來全不費功夫,就在CUDA SDK的Mandelbrot例子裡找到了2個float類比double乘法的函數。甚至,GTX280上的double也是類似的方法類比出來的,所 以慢的驚人,只有float八分之一的速度。先show一下類比乘法的函數dsmul:Code highlighting
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/?p=647 老早就想寫這篇了,但一直沒空,現在抽個空寫寫吧。Motivation編譯期字串Hash的想法源於一個常見做法,字串比較。比如在KlayGE的effect系統中,有很多if ("cull_mode" == state_name)這樣的比較。加速這個操作的方法之一就是hash。但是如果改成if (0x8F1E5E5F ==
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文的永久連結為http://www.klayge.org/?p=1930 多年前就想為KlayGE做個Normal2Height的工具,一直沒時間,現在終於抽空把它完成了。緣由Normal map的來源有多種。遊戲開發中常規的做法是根據高模和低模的位置對應關係產生height map,然後用height map產生normal map。這種情況下不必擔心是否能得到高精度的height map。但很多低端的做法是讓美術直接畫normal
Time of Update: 2018-12-06
文章目錄 glBlitFramebufferEXTglClearBuffer*glBeginConditionalRenderglCopyImageSubDataNV
Time of Update: 2018-12-06
文章目錄 引言 “遊戲中基於物理的渲染”系列由4-5篇文章組成,介紹了如何在即時渲染中使用基於物理的方法。內容主要來自於SIGGRAPH 2010的course:Physically-Based Shading Models in Film and Game Production。本系列文章講述的渲染技術用在了KlayGE
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2011/08/12/%e5%85%b3%e4%ba%8ed3d11%ef%bc%8c%e4%bd%a0%e5%bf%85%e9%a1%bb%e4%ba%86%e8%a7%a3%e7%9a%84%e5%87%a0%e4%bb%b6%e4%ba%8b%e6%83%85%ef%bc%88%e4%ba%8c%ef%bc%89/上文介紹了feature level和option
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2011/10/08/driver-command-list%e7%9a%84%e6%94%af%e6%8c%81/在關於D3D11,你必須瞭解的幾件事情(二)中, 我提到過目前的驅動都不支援D3D11的Multi-threaded,而是在D3D11 runtime中通過軟體實現command list。昨天在NV Forceware R280及以上的驅動上發現,Driver Command
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文的永久連結為http://www.klayge.org/?p=1976 經過KlayGE團隊半年的通力合作,今天KlayGE 4.1正式發布了!這個版本主要注重效能的提升和現有功能的改進,為次世代評測軟體KlayMark的開發做好準備。KlayGE 4.1的主要更新如下:完全使用cmake工程字型讀寫成為獨立的庫螢幕空間反射(由王清源完成)FFT鏡頭效果效能無損的立體顯示
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/?p=755 在KlayGE中的延遲渲染(一)裡,我們推出了lighting pass裡的計算,本篇將講解G-Buffer階段和Shading pass階段。G-Buffer分配在Deferred Rendering的架構中,不管是Deferred Shading還是Deferred Lighting,G-Buffer的分配都是非常關鍵的。上一篇得出的lighting
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎 上一篇講了在KlayGE 4.0中,Deferred Rendering的流水線改進。本篇繼續講G-Buffer的變化。G-Buffer布局前面提到了G-Buffer改成了MRT,那麼現在就來比較一下新老G-Buffer的區別。老G-Buffer的安排如下: 老G-Buffer是4個通道、每個通道都是fp16的RGBA16F格式。其中normal用Spheremap
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2012/02/09/hlsl-bytecode-to-glsl%e7%bc%96%e8%af%91%e5%99%a8%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ad%a5/ 從KlayGE 4.0開始,不但有為了下一版本開發的短期任務,還有一些中長期研發的任務。其中之一就是HLSL bytecode to GLSL編譯器。
Time of Update: 2018-12-06
文章目錄 HDRAAColor grading 轉載請註明出處為KlayGE遊戲引擎 上一篇分析了KlayGE中實現即時全動態GI的方法,本篇是這個系列的完結篇,主要講流水線的最後一段:Post process。Post process在KlayGE 4.0的Deferred Rendering中,post process主要有HDR、AA和color grading。下面將分別講述它們的改進。HDR在KlayGE
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2011/05/11/filmic-tonemapping-rocks/在Napoleon314的強烈推薦下,KlayGE也改用了來自Uncharted 2的Filmic Tonemapping。雖然只要改2行代碼,但Filmic Tonemapping所帶來的鮮豔顏色和對比是其他常用tonemapping所不可比擬的,完全消除了那種灰濛濛的感覺。在http://www.klayge.org/2011/0
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎 上一篇解決了透明物體的渲染問題;本文將挑戰另一個即時渲染的神話,即時全域光照(GI)。即時全動態GI目前direct lighting在遊戲中日趨成熟,比較前衛的遊戲引擎已經不滿足於diect lighting的效果了,逐漸開始嘗試indirect lighting。早期的方法有通過離線渲染light map來實現靜態情境、靜態光源的GI。接著出現了PRT,可以處理靜態情境、動態光源。CE3用了Light Propagation
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2011/08/26/%e5%85%b3%e4%ba%8ed3d11%ef%bc%8c%e4%bd%a0%e5%bf%85%e9%a1%bb%e4%ba%86%e8%a7%a3%e7%9a%84%e5%87%a0%e4%bb%b6%e4%ba%8b%e6%83%85%ef%bc%88%e4%b8%89%ef%bc%89%ef%bc%9a%e5%ae%8c%e7%bb%93%e7%af%87/ 上文介紹了D
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2012/02/20/kfx%e6%a0%bc%e5%bc%8f%e7%9a%84%e5%a4%8d%e6%b4%bb/ 老使用者一定記得,在KlayGE 3.9之前,用來表示effect的.fxml都需要通過一個python寫成的編譯器進行離線編譯,產生.kfx格式才能給runtime使用。在
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎,本文地址為http://www.klayge.org/2011/04/28/klayge%e7%9a%84realtime-gi%e6%ad%a3%e5%bc%8f%e4%b8%8a%e7%ba%bf/GI組的atyuwen同學上個月用KlayGE實現了Multi-resolution Splatting Indirect Illumination的效果,現在開發版本的KlayGE正式加入了Realtime Global
Time of Update: 2018-12-06
轉載請註明出處為KlayGE遊戲引擎 上文講到了如何把資訊擠入有限的G-Buffer,另一個在實際中面臨的問題是如何渲染透明物體。透明物體遊戲中透明物體是不可缺少的,對於Deferred Rendering來說,透明物體一直是痛苦的。常見的做法是在deferred rendering的情境之上用forward shading來單獨渲染透明物體,但那樣就意味著必須單獨實現一整套forward shading的流水線。這對於維護和擴充都是很不利的,對效能也很有影響。在KlayGE