21使用
direct3d
2.1
1.1最簡單三角形顯示
前面已經學習了頂點、平面以及平面的法向量。接著下面就帶你進入奇幻的
3d世界,由你去創造這個美好的
3d世界。任何美好的事物都是簡單的東西組成的,所以也需要從最簡單的物體構造開始。這裡主要顯示乙個三角形,其它關於視窗和初始化
d3d的裝置都已經由
mm3d
引擎做好了,目前只要設定頂點、世界座標變換矩陣、觀察變換矩陣、投影變換矩陣,然後渲染這個三角形,就可以顯示螢幕裡了。最終顯示效果如下圖:
1、
頂點格式
頂點格式是可變的,是靈活的。由前面可知,頂點肯定是有三個值的,就是三個座標軸的值。下面先來看看最簡單的頂點格式,它定義如下:
//定義頂點緩衝區裡用到的頂點格式。
struct vt_cai******** ;
這裡使用乙個結構來定義頂點的格式,後面就可使用這個結構來定義頂點了。看到這個結構裡第乙個成員vposition是很熟悉的吧,前面已經說明過使用乙個向量來表示乙個頂點的。最簡單的頂點格式,就是只有乙個向量值,其它什麼也沒有。後面乙個成員dwfvf是說明頂點的有什麼樣資料,這裡只有頂點的座標,所使用了巨集定義d3dfvf_xyz。其實頂點還可以有其它資料在裡面的,比如要表示這個頂點的法向量,就需要加入法向量的成員,比如要顯示紋理在這個表面上,就需要設定紋理座標。
3D遊戲從入門到精通 31
當我們看到現實世界裡,有很多山地。那麼這種山地,在 3d世界裡又是怎麼樣顯示出來的呢?要模擬現實中的山地,就需要研究它怎麼樣構成,然後採用各種方法建立出來。在遊戲的世界裡,對於地形的要求是不嚴謹的,只要看起來像山地,就行了,而不像其它地理系統,一定要精確到跟現實世界里山比例一樣。因此,在這裡建立的 ...
3D遊戲從入門到精通 21 22
2.10.1 燈光與材質 在現實的世界裡,沒有光線,是什麼東西也看不見的。在d3d的世界裡,也是一樣的。但是在d3d裡有一種光線,是非常奇怪的,這種光線是沒有方向,沒有位置,整個世界全可以照亮的光線,它就是環境光,它其實有點像我們現實生活裡的無影燈。在d3d裡光線分為三種型別,分別是點光源 聚光燈和...
3D遊戲從入門到精通 11
2.10.1 索引緩衝區 上面已經學習了最簡單的三角形顯示,了解了整個3d物體的顯示流程,下面來學習乙個複雜一點的物體顯示,使用12個三角形構造成的正方體顯示。並且通過個例子學會使用索引緩衝區,提高圖形繪製的速度和效率。1 使用三角形構造立方體 由前面可知,任何複雜的物體,都是由三角形組成的。現在就...