#include
//附加依賴項 d3d9.lib
//利用頂點緩衝區繪製三角形
const tchar szclassname[max_path]
=text
("冒險島class");
const tchar sztiltename[max_path]
=text
("冒險島");
lpdirect3d9 g_pd3d =
null
;//direct3d物件
lpdirect3ddevice9 g_pd3ddevice =
null
;//direct3d裝置物件
lpdirect3dvertexbuffer9 g_pvb =
null
;//頂點緩衝區物件
struct customvertex
;#define d3dfvf_customvertex (d3dfvf_xyzrhw| d3dfvf_diffuse)
//頂點格式
hresult init3d
(hwnd hwnd)
hresult initvb()
,,,}
; hresult hr = g_pd3ddevice-
>
createvertexbuffer
(sizeof
(customvertex)*3
,0, d3dfvf_customvertex, d3dpool_default,
&g_pvb,
null);
if(failed
(hr)
)return e_fail;
void* pvertices;if(
failed
(g_pvb-
>
lock(0
,sizeof
(vertices),(
void**
)&pvertices,0)
))return e_fail;
memcpy
(pvertices, vertices,
sizeof
(vertices));
g_pvb-
>
unlock()
;return s_ok;
}void cleanup()
void render()
//將在後台緩衝區繪製的圖形提交到前台緩衝區顯示
g_pd3ddevice-
>
present
(null
,null
,null
,null);
}lresult callback wndproc
(hwnd hwnd, uint msg, wparam wparam, lparam lparam)
return
defwindowproc
(hwnd, msg, wparam, lparam);}
int winapi wwinmain
(hinstance hinstance,
hinstance hprevinstance,
lptstr lpcmdline,
int ncmdshow)
else}}
}unregisterclass
(szclassname, hinstance)
;return0;
}
抄的**
效果圖
記得在此處新增附加依賴項
D3D 9和D3D 11繪製流水線對比
繪製流水線 pipline 是圖形學程式設計中屬於各種圖形學框架的骨架。windows平台下3d遊戲開發幾乎都會用到d3d來進行遊戲引擎的設計。d3d 9是使用比較廣泛的乙個版本,d3d 9 中比較核心的就是固定渲染管線 fixed function pipline 下圖是從官方的sdk中翻譯的,從...
(一)D3D9渲染原理
su ce和texture。使用su ce相對來說比使用texture要簡單一些,但是不如使用texture靈活。抽象概念 direct3d的抽象概念包括 devices 裝置 swap chains 交換鏈 和resources 資源 device 裝置 用於渲染3d場景。例如單色裝置就會渲染黑白...
D3D9學習筆記之顏色
學習目標 顏色的表示 在 direct3d 中,顏色用 rgb 三元組來表示。將顏色分解為紅色 red 綠色 green 藍色 blue 這三個分量的加性混合決定了最終的顏色。我們可用該三個分量的不同組合來表示上百萬種顏色。rgb資料可用兩種不同的結構來儲存 第一種是結構是 d3dcolor,它實際...