<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18831327</id><updated>2011-04-22T07:53:57.841+08:00</updated><category term='製作規格'/><category term='3D Engine'/><category term='隨筆'/><category term='程式技巧'/><title type='text'>Coding for life</title><subtitle type='html'>3D Engine 研發手札</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codefield.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18831327.post-7543929229620483651</id><published>2008-10-05T23:20:00.003+08:00</published><updated>2008-10-06T00:33:15.764+08:00</updated><title type='text'>建構 Build Server</title><summary type='text'>做遊戲一段時間了, 到現在才準備導入build server. 若不是為了建立當機回報系統, 可能也不會慎重思考製作這樣的東西. 目前使用的build 工具是MSBuild,  加上免費的The MSBuild Community Tasks 所提供存取source safe /Subversion的tasks, 另外自己寫了更新Symbol Server的Task..整個build的功能算是大致完成接下來要導入的釋出版本編號的管理, 以及比較好的build server的Web介面 (為了讓build過程可以立即看到log, 找看看有沒有好的Ajax 版的Listview元件了 )建立好build server之後, 就是要建立client端minidump回送機制. 這部分目前有再看的是google-breakpad 以及 bugTrap, 感覺bugTrap比較VC </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/7543929229620483651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/7543929229620483651'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2008/10/build-server.html' title='建構 Build Server'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-8655069082833851749</id><published>2008-09-14T15:25:00.003+08:00</published><updated>2008-09-14T15:39:06.408+08:00</updated><title type='text'>Source Server建構</title><summary type='text'>了解建構symbol server的方式之後, 下一步就是要把symbol和source code建立鏈結關係.這樣在除錯的時候, 可以透過source server和關聯資訊向source code版本控制軟體(VSS, SVN, ...)提取相關聯的code. 這樣可以做到在進行mindump除錯的時候, 除了有symbol server可以存取到適當的symbol 檔案, 透過source server亦可存取到關聯的source code.看了這個網頁Source Server Helps You Kill Bugs Dead In Visual Studio 2005之後, 也了解如何建立source server. 下一步是要看如何建立build server, 希望從專案的build到symbol server/source server的建制可以自動化.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/8655069082833851749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/8655069082833851749'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2008/09/source-server.html' title='Source Server建構'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-7111109125365775334</id><published>2008-09-10T22:46:00.004+08:00</published><updated>2008-09-10T22:50:53.172+08:00</updated><title type='text'>建立Symbol Server</title><summary type='text'>想要建制一個symbol server以方便管理symbol 檔案以便於minidump除錯找到一篇不錯的文章http://entland.homelinux.com/blog/2006/07/06/setting-up-a-symbol-server/研究一下哇.. 2008年首篇文章... XD</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/7111109125365775334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/7111109125365775334'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2008/09/symbol-server.html' title='建立Symbol Server'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-8713416452831858069</id><published>2007-12-11T22:47:00.000+08:00</published><updated>2007-12-11T23:18:45.033+08:00</updated><title type='text'>建置 Wiki</title><summary type='text'>最近花了一點時間wiki的架設. 原本公司內已經有個wiki了, 但是覺得不夠好用, 且版本很舊. 所以決定選一個更好用方便的wiki.  在WikiMatrix 看到許多wiki軟體的介紹, 花了一些時間比較之後最後選擇 DokuWiki. 主要的原因是架設容易,  功能也算完備. 有了Wiki, 接下來就是要能夠在上面建立公司內部資訊分享的資料庫了.這部分或許需要學習. 就想寫blog一樣.  資訊分享還是要有心才能夠達成.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/8713416452831858069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/8713416452831858069'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/12/wiki.html' title='建置 Wiki'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-3134771119384533653</id><published>2007-04-25T23:20:00.000+08:00</published><updated>2007-04-26T00:04:59.339+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='製作規格'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Normal map[結語]</title><summary type='text'>這次仔細研究normal map的製作，算是把整個normal map完全了解了。把整理的心得放在這邊除了是做紀錄外，也是想說透過這個方式把心得分享出來，可以對其他人有幫助。希望這不是野人獻曝 :)</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/3134771119384533653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/3134771119384533653'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/04/normal-map_25.html' title='Normal map[結語]'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-7370571228963904550</id><published>2007-04-21T00:51:00.000+08:00</published><updated>2007-04-26T09:31:28.471+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='製作規格'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Normal map[參考資料]</title><summary type='text'>技術文件Bump map compression Normal map compression with 3Dc相關工具Zbrush官方網站有免費試用版本可下載，可是功能有限，可以拿來先熟悉了解一下雕塑功能。Mudbox 有完整功能15天試用版本供下載。&lt;?xml:namespace prefix = o /&gt;Nvidia Photoshop plugin ( Normal map filter &amp; DDS importer/expoter)Normal map filter說明文件 ATI the Compressornator (DDS&amp; 3Dc generator)normal map製作Normal map製作設定 (產生Y-up的normal map)Normal map製作心得 : Create Next Generating Materials for LairNormal</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/7370571228963904550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/7370571228963904550'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/04/normal-map_3658.html' title='Normal map[參考資料]'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-6707593752281804652</id><published>2007-04-21T00:48:00.000+08:00</published><updated>2007-04-26T09:29:45.396+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='製作規格'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Normal map[壓縮]</title><summary type='text'>現在的3D遊戲幾乎都使用DDS的壓縮材質，主要原因是壓縮效率品質都不錯。可是normal map直接壓縮為DXT1~5這些格式, 效果都很不好。於是研究了一下目前一般常用的技術。&lt;?xml:namespace prefix = o /&gt;大致上目前使用的技術都是只儲存X/Y值，而Z值都在pixel shader裡面計算..Z = sqrt( 1 – x*x – y*y)這樣的方式有些限制：必須是tangent space normal map。因為在world/object space下，Z有可能是正值或是負值，這個做法只能取正值(或是只取負值)。normal必須是normalize 的。一般我們會希望normal 都是normalize，所以不算很大的限制。pixel shader版本必須是1.4以上。這個方式下有幾個常用的normal map格式：使用V8U8/CxV8U8格式：效果和</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/6707593752281804652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/6707593752281804652'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/04/normal-map_6771.html' title='Normal map[壓縮]'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_x6_POjCoVE0/RijvMCbRrNI/AAAAAAAAABc/te5h7qcTs0w/s72-c/normalmapcompression.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-2555224887744083451</id><published>2007-04-21T00:27:00.000+08:00</published><updated>2007-04-26T09:27:58.087+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='製作規格'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Normal map[製作]</title><summary type='text'>normal map的座標系確定後，接下來整理一下normal map的製作方式。一般製作normal map的方式大概有以下幾種：製作 bump map轉normal map製作高面數物件以及低面數物件來產生 normal map。拍照法第3的方法可參考 http://zarria.net/nrmphoto/nrmphoto.html。以下針對1, 2做法做個說明。 製作bump map轉normal map&lt;?xml:namespace prefix = o /&gt;製作bump灰階高低圖透過轉換工具產生normal map。這個方法只適合產生tangent space的normal map。製作的流程如下：製作bump圖。圖必須是RGB channel, 長寬必須是2的冪次方。使用normal map轉換工具產生Y-up的normal mapNVIDIA Photoshop </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/2555224887744083451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/2555224887744083451'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/04/normal-map_957.html' title='Normal map[製作]'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_x6_POjCoVE0/RijssybRrII/AAAAAAAAAA0/g5chMJUsF8U/s72-c/a_bump2normal_ui.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-3866521534261506113</id><published>2007-04-21T00:08:00.000+08:00</published><updated>2007-04-26T00:01:39.933+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='製作規格'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Normal map[規格制定]</title><summary type='text'>normal map是使用RGB來儲存normal 的XYZ向量值，所以必須定義normal儲存的座標系。座標系就包括了world/object/tangent space，其中還分成左/右手系統。不同的座標系統在處理lighting計算時候會需要不同的處理方式, 因此程式人員需要制定normal map所在的座標系，才能夠正確的處理normal map效果。目前最常使用到是tangent space的normal map．它的優缺點如下：    優處：可以共用normal map貼圖（不同物件間的共用或是mirror物件共用）。目前一些normal map壓縮技術也只能使用tangent space的normal map  (這部分在normal map壓縮會詳細說明) 。缺點： 需要 vertex normal/tangent的資料, 在計算lighting時候, </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/3866521534261506113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/3866521534261506113'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/04/normal-map_21.html' title='Normal map[規格制定]'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_x6_POjCoVE0/RijoaSbRrGI/AAAAAAAAAAk/0lafvMdeaOQ/s72-c/coordsys.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-653558050092815336</id><published>2007-04-21T00:06:00.000+08:00</published><updated>2007-04-26T00:04:11.251+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='製作規格'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Normal map[前言]</title><summary type='text'>normal map是目前3D遊戲最常使用的技術之一。之前參與過的專案有嘗試使用normal map，但是由於程式人員對normal map技術沒有完全了解，以及美術人員無法負擔因為製作normal map所帶來的的製作量，最後也就放棄了這個技術。    最近花了一些時間仔細研究一下normal map的製作規格以及製作方式。以下分成幾部分做個歸納整理：           normal map規格制定normal map製作normal map壓縮normal map參考資料normal map結語</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/653558050092815336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/653558050092815336'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/04/normal-map.html' title='Normal map[前言]'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-1149322831185009967</id><published>2007-03-30T23:04:00.000+08:00</published><updated>2007-04-21T00:03:38.228+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Shadow map 初版</title><summary type='text'>之前參與的專案就有做過shadow map了, 不過之前實作的方法一種是假shadow map, 就是shadow map只是shadow的形狀, 然後透過projective texturing的方式投射到場景中. 另一種是depth shadow map, 就是shadow map紀錄的是物件最靠近光源的depth值. 不過當時在DX8/XBOX的硬體上, 要輸出高精確depth 值並不容易. 主要是render target都是8bit/channel. 不過nvidia的卡因為硬體就支援depth texture以及shadow map的計算, 所以當時很快的就轉上去了..而且可以得到幾乎免費的2xPCF的柔化效果.這次實作的shadow map的方式應該算是比較正規的做法. 只要支援shader model2.0以上的卡應該都支援.  概念還是一樣. 首先還是要先產生depth</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/1149322831185009967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/1149322831185009967'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/03/shadow-map.html' title='Shadow map 初版'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_x6_POjCoVE0/Rg04pleHUGI/AAAAAAAAAAU/wybXzZ5NUIw/s72-c/shadowmap.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-5224175735511824742</id><published>2007-03-28T21:53:00.000+08:00</published><updated>2007-03-28T22:30:00.572+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式技巧'/><title type='text'>Try to Inline shader text into C/C++ code</title><summary type='text'>在Nvidia Devloper Blog看到Inlining shader text into C/C++ code這篇文章. 今天嘗試把一些預設的shader code使用這個方式載入.方式很簡單, 就是在resource editor使用import shader .fx檔案的方式產生新的 resource, resource type定為RCDATA即可.這樣在使用D3DXCreateEffectFromResource時候, 就可以載入成功.不過一開始測試的時候卻載入失敗. 原因是我把Graphics相關的部分寫成一個graphices.lib. 而resource的定義也是放在graphics.lib的project內. 但是在編譯主程式的時候, 雖然有link到graphics.lib..但是定義的resource卻不會自動link. 所以執行的時候就找不到相關的</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/5224175735511824742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/5224175735511824742'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2007/03/try-to-inline-shader-text-into-cc-code.html' title='Try to Inline shader text into C/C++ code'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-116109052034089935</id><published>2006-10-17T21:08:00.000+08:00</published><updated>2007-03-19T23:49:10.025+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='隨筆'/><title type='text'>Joel on Software</title><summary type='text'>這幾天偶然看到有人介紹Joel on Software中譯版網頁. Joel是一個很有經驗的程式開發者, 和專案管理人, 曾經待過微軟參與Excel製作. 老實說一開始還在想這傢伙的文章真的有份量嗎..值得我花時間讀嗎? 後來大概上班時遇到瓶頸, 沒有動力作事情, 就稍稍用了一點時間看...一開始看覺得這位老兄的文筆挺有趣的, 看了之後發現許多論點真的是很值得參考. 從軟體的需求規格, 除錯, UI設計..時程管理, 不要讓老闆對進度有錯誤認知等等.. 我想開發遊戲程式也是軟體開發範疇內, 許多觀點是值得參考的. 有幾點我學到的  不要輕易說重寫整個程式. (似乎程式設計師常犯的..特別是接別人的系統後)  撰寫規格文件是重要的  時程的規劃必須是以小時為單位  在除錯未完成前, 不寫新功能 既然學到了, 那就做看看吧!  Joel on Software(原文)  Joel on </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/116109052034089935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/116109052034089935'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2006/10/joel-on-software.html' title='Joel on Software'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-115945654121372353</id><published>2006-09-28T23:15:00.000+08:00</published><updated>2007-03-19T23:47:50.809+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Before next step</title><summary type='text'>研究了PRT Lighting一段時間了...覺得PRT Lighting效果真是不錯啦....但是目前的演算法有很多限制..最大的限制就是不能處理Local Lighting, 所以目前最主要的運用就是模擬太陽光... 為了能夠打破這個限制..看了一些PRT 的paper. 思考了一些做法, 也嘗試著實作看看..不過目前並沒有一個理想的結果.即使如此, 還是學習到一些新東西或是把遺忘的東西找回來(像是PCA 用到的eigenvalue/eigenvector) . 本來想做個完整的紀錄, 但是自己很懶惰, 所以只把一些看過的鏈結做個整理.  Precomputed Radiance Transfer : Theory and Practice (Siggraph 2005 Course)   Calculating diffuse SH coefficients on GPU  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/115945654121372353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/115945654121372353'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2006/09/before-next-step.html' title='Before next step'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-115047511851137758</id><published>2006-06-16T23:57:00.000+08:00</published><updated>2007-03-19T23:47:58.562+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>加入KDTree和HDR light probe</title><summary type='text'>加入了KDTree來加速ray cast的計算. 這個KDTree算是基本款. 目前是依據polygon數目條件來決定是否切割空間, 且切割平面是取XYZ軸最長軸中間切一半. 不過即使如此, 效能倒是提升不少.現在也加上載入light probe image 作為光源資訊, 效果就更好了.light probe image 是下載自這裡以下是使用不同的light probe 的測試結果 看起來還不錯. 接下來可能會看看D3DX的PRT Engine. 了解一下D3DX PRT Engine提供了哪些更進階演算方式. 這些演算如果都自己做, 可能會暈倒吧orz</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/115047511851137758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/115047511851137758'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2006/06/kdtreehdr-light-probe.html' title='加入KDTree和HDR light probe'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-18831327.post-114848535757609579</id><published>2006-05-24T23:13:00.000+08:00</published><updated>2007-03-19T23:50:22.804+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D Engine'/><title type='text'>Spherical Harmonics Lighting</title><summary type='text'>看了SH Lighting的paper一段時間了, 總算開始coding了. 其實對於裡面的數學推導還是沒有完全了解. 但是對於SH function 的特性已經有所了解了.其實目前的code主要還是參考這個網站所提供的範例程式改寫的. 而且使用硬幹的方式作ray casting的計算.貼上取樣50*50的sample, 4 bands 的SH function, 約花了40~50分鐘計算出的結果(真是有夠慢)以下是對照組: 使用標準的phong lighting (per-pixel diffuse lighting)看起來有點樣子了, 不過效能不佳, 所以接下來要先把那個硬幹的ray casting修改掉, 打算使用KD Tree來作加速.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/114848535757609579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18831327/posts/default/114848535757609579'/><link rel='alternate' type='text/html' href='http://codefield.blogspot.com/2006/05/spherical-harmonics-lighting.html' title='Spherical Harmonics Lighting'/><author><name>codefield</name><uri>http://www.blogger.com/profile/03307187902211697738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
