加入BLOG ADS 寫手們來加入吧!

目前日期文章:201004 (6)

瀏覽方式: 標題列表 簡短摘要

接下來就是進行實作的部分,時做的部分這邊我只說明實作可能會想問的問題,詳細內容各位可以下載原始的程式碼。

(本範例程式碼,包含使用基本的basicEffect特效將模型顯示)

模型的部分,這邊我是使用OBJ檔案格式,在XNA Creater club上面有一個範例,裡面是使用自定的content pipeline來將obj檔案資訊分析出來,這邊我們就直接運用它即可。

在renderer.cs的程式碼中,裡面有一個函數use_BasicEffect程式碼如下

teexit1224 發表在 痞客邦 PIXNET 留言(0) 人氣()

這邊推薦兩個方便實用的程式碼,這樣可以節省一些不必要的時間,一個是負責控制攝影機的類別,一個是幫你畫出平面的板子。平面的板子可以方便你做一些額外的處理(像是Deferred Shading和texture space的操作等等,相當好用)

1. Camera.cs
    camera類別主要是用來負責控制攝影機的,此類別是繼承GameComponent。
    同時,Camera.cs是在SkiningModel的範例中所使用的,藉由這個類別你可以不用再花額外的時間寫關於Camera的程式碼。
    A和D是對Y軸旋轉,W和S是對X軸做旋轉,Z和X是負責控制遠近。
    使用方式:
    這邊只是提供一種方式來使用這個類別,你可以針對你自己的需求在做更改。
    1> 在Game.cs中,先引入這個類別的命名空間。 ->using DeferredShadingTutorial;
    2> 宣告一個Camera物件。 ->Camera camera;
    3> 在建構子當中建立(new)並把它增加到Component Stack裡面。
        ->camera = new Camera(this);
        ->Component.Add(camera);
        由於本類別是GameComponent類別,所以當你把它加入Component stack的時候,XNA在每次呼叫base.Draw或是base.Update時,會幫你自動更新。
        因此,當你按下鍵盤的ASDW按鍵時候,XNA會自動幫你更新Camera狀態。
    4> 現在,Draw函數中,當你要畫模型需要使用到Camera的view、projection變數時,只要藉由camera.View和camera.Projection就可以取得相關的矩陣。

2. QuadRenderer.cs
    此類別主要是用來畫出平板。可以方便的使用在Deferred Shading和texture space相關的操作。
    畫出的平板會給定座標和貼圖座標。

這邊分享這兩個好用的程式碼,會在接下來的範例中跟各位慢慢介紹。

在右邊的"資源",有個叫做component.rar裡面包含這兩個檔案

teexit1224 發表在 痞客邦 PIXNET 留言(0) 人氣()

XNA 4.0目前是CTP版本,必須使用C# 2010,你可以到XNA的官方網站上面去做下載安裝。

安裝完畢以後即可以開始進行專案開發,開啟Visual studio C# 2010後,按下左上角的file
image

teexit1224 發表在 痞客邦 PIXNET 留言(0) 人氣()

Phong Lighting介紹:

打光模型(lighting model)有很多種,但是大致上分為兩類,具有物理根據的打光模型和以人類視覺的方式做調整的打光模型。

據物理根據的打光模型,會考量到物體的反射係數或是粗糙程度等資訊,像是blinn-phong model、BRDF等等。

teexit1224 發表在 痞客邦 PIXNET 留言(0) 人氣()

XNA 4.0 CTP已經推出一段時間了

在上次GDC的時候就已經有消息了~

 

對於4.0的部分,這次提供了WP7的平台

這點是個很不錯的消息!!!

teexit1224 發表在 痞客邦 PIXNET 留言(0) 人氣()

以前在寫xna的code,都只要簡單的使用basicEffect的效果就好了。

只是各位可能會覺得basic effect對於模型的打光效果可能不是這麼好看(或是太假了)

現行有很多種lighting model(or lighting system)

1. phong lighting

2. Blinn phong lighting

3. Cook-torrance

teexit1224 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論