📄 directx sdk 2006学习笔记3——索引缓冲.mht
字号:
Initialize=20
the font</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">V_RETURN</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">( <SPAN style=3D"COLOR: =
black">D3DXCreateFont</SPAN>(=20
<SPAN style=3D"COLOR: black">pd3dDevice</SPAN>, 15, 0, <SPAN=20
style=3D"COLOR: black">FW_BOLD</SPAN>, 1, <SPAN=20
style=3D"COLOR: black">FALSE</SPAN>, <SPAN=20
style=3D"COLOR: black">DEFAULT_CHARSET</SPAN>, </SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> &n=
bsp; =20
</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: =
black">OUT_DEFAULT_PRECIS</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">, <SPAN=20
style=3D"COLOR: black">DEFAULT_QUALITY</SPAN>, <SPAN=20
style=3D"COLOR: black">DEFAULT_PITCH</SPAN> | <SPAN=20
style=3D"COLOR: black">FF_DONTCARE</SPAN>, </SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> &n=
bsp; =20
</SPAN><SPAN style=3D"FONT-SIZE: 9pt; COLOR: black">L</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">"Arial", &<SPAN=20
style=3D"COLOR: black">g_pFont</SPAN> ) );</SPAN></DIV>
<DIV align=3Dleft> </DIV>
<DIV align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt; COLOR: green">// =
Initialize=20
vertices for rendering a triangle</SPAN></DIV>
<DIV align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt; COLOR: =
black">CUSTOMVERTEX=20
</SPAN><SPAN style=3D"FONT-SIZE: 9pt; COLOR: =
black">vertices</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">[] =3D</SPAN></DIV>
<DIV align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt">{</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> =20
{ 0.0f, 0.0f, 0.5f, 1.0f, 0xffff0000, }, </SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: green">// x, y, z, rhw, =
color</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> =20
{ (</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: blue">float</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">)<SPAN=20
style=3D"COLOR: black">pBackBufferSurfaceDesc</SPAN>-><SPAN=20
style=3D"COLOR: black">Width</SPAN>, 0.0f, 0.5f, 1.0f, 0xff00ff00, =
},</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> =20
{ (</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: blue">float</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">)<SPAN=20
style=3D"COLOR: black">pBackBufferSurfaceDesc</SPAN>-><SPAN=20
style=3D"COLOR: black">Width</SPAN>, (<SPAN=20
style=3D"COLOR: blue">float</SPAN>)<SPAN=20
style=3D"COLOR: black">pBackBufferSurfaceDesc</SPAN>-><SPAN=20
style=3D"COLOR: black">Height</SPAN>, 0.5f, 1.0f, 0xffff00ff,=20
},</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> =20
{ 0.0f, (</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: blue">float</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">)<SPAN=20
style=3D"COLOR: black">pBackBufferSurfaceDesc</SPAN>-><SPAN=20
style=3D"COLOR: black">Height</SPAN>, 0.5f, 1.0f, 0xff0000ff,=20
},</SPAN></DIV>
<DIV align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt">};</SPAN></DIV>
<DIV align=3Dleft> </DIV>
<DIV align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt; COLOR: green">// =
Create the=20
vertex buffer</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">V_RETURN</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">( <SPAN=20
style=3D"COLOR: black">pd3dDevice</SPAN>-><SPAN=20
style=3D"COLOR: black">CreateVertexBuffer</SPAN>( <SPAN=20
style=3D"COLOR: blue">sizeof</SPAN>(<SPAN=20
style=3D"COLOR: black">vertices</SPAN>),</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> &n=
bsp; =20
0, </SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: =
black">D3DFVF_CUSTOMVERTEX</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">,</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> &n=
bsp; =20
</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">D3DPOOL_MANAGED</SPAN><SPAN =
style=3D"FONT-SIZE: 9pt">, &<SPAN style=3D"COLOR: =
black">g_pVB</SPAN>,=20
<SPAN style=3D"COLOR: black">NULL</SPAN> ) );</SPAN></DIV>
<DIV align=3Dleft> </DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">VOID</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">* <SPAN=20
style=3D"COLOR: black">pVertices</SPAN>;</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">V_RETURN</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">( <SPAN style=3D"COLOR: =
black">g_pVB</SPAN>-><SPAN=20
style=3D"COLOR: black">Lock</SPAN>( 0, <SPAN=20
style=3D"COLOR: blue">sizeof</SPAN>(<SPAN=20
style=3D"COLOR: black">vertices</SPAN>), (<SPAN=20
style=3D"COLOR: blue">void</SPAN>**)&<SPAN=20
style=3D"COLOR: black">pVertices</SPAN>, 0 ) );</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">memcpy</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">( <SPAN style=3D"COLOR: =
black">pVertices</SPAN>,=20
<SPAN style=3D"COLOR: black">vertices</SPAN>, <SPAN=20
style=3D"COLOR: blue">sizeof</SPAN>(<SPAN=20
style=3D"COLOR: black">vertices</SPAN>) );</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">g_pVB</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">-><SPAN=20
style=3D"COLOR: black">Unlock</SPAN>();</SPAN></DIV>
<DIV align=3Dleft> </DIV>
<DIV align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt; COLOR: green">//=20
Initialize</SPAN><SPAN style=3D"FONT-SIZE: 9pt; COLOR: green"> =
index buffer=20
for rendering</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">WORD</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">wIndeces</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">[] =3D {0,1,2,0,2,3};</SPAN></DIV>
<DIV align=3Dleft> </DIV>
<DIV align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt; COLOR: green">// =
Create the=20
index buffer</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">V_RETURN</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">( <SPAN=20
style=3D"COLOR: black">pd3dDevice</SPAN>-><SPAN=20
style=3D"COLOR: black">CreateIndexBuffer</SPAN>( <SPAN=20
style=3D"COLOR: blue">sizeof</SPAN>(<SPAN=20
style=3D"COLOR: black">wIndeces</SPAN>),</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> 0,=20
</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">D3DFMT_INDEX16</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">,</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: =
9pt"> =20
</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">D3DPOOL_MANAGED</SPAN><SPAN =
style=3D"FONT-SIZE: 9pt">, &<SPAN style=3D"COLOR: =
black">g_pIB</SPAN>,=20
<SPAN style=3D"COLOR: black">NULL</SPAN>) );</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">VOID</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">* <SPAN style=3D"COLOR: =
black">pIndeces</SPAN>;=20
</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">V_RETURN</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">( <SPAN style=3D"COLOR: =
black">g_pIB</SPAN>-><SPAN=20
style=3D"COLOR: black">Lock</SPAN>( 0, <SPAN=20
style=3D"COLOR: blue">sizeof</SPAN>(<SPAN=20
style=3D"COLOR: black">wIndeces</SPAN>), &<SPAN=20
style=3D"COLOR: black">pIndeces</SPAN>, 0) );</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">memcpy</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">( <SPAN style=3D"COLOR: =
black">pIndeces</SPAN>, <SPAN=20
style=3D"COLOR: black">wIndeces</SPAN>, <SPAN=20
style=3D"COLOR: blue">sizeof</SPAN>(<SPAN=20
style=3D"COLOR: black">wIndeces</SPAN>) );</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">g_pIB</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">-><SPAN=20
style=3D"COLOR: black">Unlock</SPAN>();</SPAN></DIV>
<DIV align=3Dleft> </DIV>
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 1pt; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext =
1pt solid">
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium =
none"><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: blue">return</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">S_OK</SPAN><SPAN=20
style=3D"FONT-SIZE: 9pt">;</SPAN></DIV></DIV>
=
<DIV>OnRender=E4=B8=ADBeginScene=E5=92=8CEndScene=E4=B9=8B=E9=97=B4</DIV>=
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: =
black">pd3dDevice->SetStreamSource(0,=20
g_pVB, 0, sizeof(CUSTOMVERTEX) );</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">pd3dDevice->SetFVF(=20
D3DFVF_CUSTOMVERTEX );</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: black">pd3dDevice->SetIndices( =
g_pIB=20
);</SPAN></DIV>
<DIV align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: =
black">//pd3dDevice->DrawPrimitive(=20
D3DPT_TRIANGLEFAN, 0, 2 );</SPAN></DIV>
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 1pt; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext =
1pt solid">
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none"=20
align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: =
black">pd3dDevice->DrawIndexedPrimitive(=20
D3DPT_TRIANGLELIST, 0, 0, 4, 0, 2 );</SPAN></DIV></DIV>
<DIV>OnDestroyDevice</DIV>
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 1pt; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext =
1pt solid">
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none"=20
align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt; COLOR: =
black">SAFE_RELEASE( g_pVB=20
);</SPAN></DIV>
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none"=20
align=3Dleft><SPAN style=3D"FONT-SIZE: 9pt; COLOR: =
black">SAFE_RELEASE( g_pIB=20
);</SPAN></DIV></DIV>
=
<DIV>=E4=B8=8B=E9=9D=A2=E6=98=AF=E8=BF=99=E6=AE=B5=E4=BB=A3=E7=A0=81=E7=9A=
=84=E6=95=88=E6=9E=9C=E5=9B=BE=EF=BC=9A</DIV>
<DIV align=3Dcenter><IMG alt=3D""=20
=
src=3D"http://p.blog.csdn.net/images/p_blog_csdn_net/mikefeng/234914/r_ap=
pindex.jpg"></DIV>
<DIV> =E6=8C=BAPP=E7=9A=84=E5=90=A7=EF=BC=9F</DIV>
<DIV></DIV>
<DIV=20
style=3D"TEXT-INDENT: =
21pt">=E8=BF=99=E6=AE=B5=E4=BB=A3=E7=A0=81=E5=92=8C=E9=A1=B6=E7=82=B9=E7=BC=
=93=E5=86=B2=E6=9C=80=E9=87=8D=E8=A6=81=E7=9A=84=E4=B8=8D=E5=90=8C=E5=9C=A8=
=E4=BA=8EDrawIndexedPrimitive=E5=87=BD=E6=95=B0=E3=80=82=E8=BF=99=E4=B8=AA=
=E5=87=BD=E6=95=B0=E7=9A=84=E4=BD=BF=E7=94=A8=E6=96=B9=E6=B3=95=E8=AF=B7=E7=
=9C=8B=E4=B8=8B=E9=9D=A2=E7=9A=84=E4=BE=8B=E5=AD=90=EF=BC=88=E6=95=B4=E7=90=
=86=E8=87=AASDK=E6=96=87=E6=A1=A3Rendering=20
from Vertex and Index Buffers=EF=BC=89=EF=BC=9A</DIV>
<DIV> </DIV>
<DIV>Scenario =
1=EF=BC=9A=E7=94=BB=E4=B8=A4=E4=B8=AA=E6=B2=A1=E6=9C=89=E7=B4=A2=E5=BC=95=
=E7=BC=93=E5=86=B2=E7=9A=84=E4=B8=89=E8=A7=92=E5=BD=A2=EF=BC=88=E4=B8=BA=E4=
=BA=86=E6=96=B9=E4=BE=BF=E7=8E=B0=E5=9C=A8=E4=BB=85=E5=88=97=E5=87=BA=E4=B8=
=89=E7=BB=B4=E5=9D=90=E6=A0=87=E7=9A=84x,y=E5=80=BC=EF=BC=8C=E4=B8=8B=E5=90=
=8C=EF=BC=89</DIV>
<DIV align=3Dcenter><SPAN><IMG alt=3D""=20
=
src=3D"http://p.blog.csdn.net/images/p_blog_csdn_net/mikefeng/234914/r_DI=
P_fig1.gif"> =20
<IMG alt=3D""=20
=
src=3D"http://p.blog.csdn.net/images/p_blog_csdn_net/mikefeng/234914/r_DI=
P_fig2.gif"></SPAN></DIV>
=
<DIV>=E3=80=80=E3=80=80=E5=B7=A6=E5=9B=BE=E4=B8=8A=E7=9A=84=E6=AD=A3=E6=96=
=B9=E5=BD=A2=E7=94=B1=E4=B8=A4=E4=B8=AA=E4=B8=89=E8=A7=92=E5=BD=A2=E7=BB=84=
=E6=88=90=EF=BC=8C=E4=BB=8E=E5=8F=B3=E5=9B=BE=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=
=87=BA=E9=A1=B6=E7=82=B9=E7=BC=93=E5=86=B2=E7=A8=8B=E5=BA=8F=E9=87=87=E7=94=
=A8=E4=BA=86TRIANGLELIST=E7=9A=84=E5=9B=BE=E5=85=83=E6=96=B9=E5=BC=8F=E5=88=
=86=E5=88=AB=E7=94=BB=E5=87=BA=E4=BA=86=E4=B8=A4=E4=B8=AA=E4=B8=89=E8=A7=92=
=E5=BD=A2=EF=BC=8C=E4=BB=A3=E7=A0=81=E5=A6=82=E4=B8=8B=EF=BC=9A</DIV>
<DIV><SPAN style=3D"FONT-SIZE: 9pt; COLOR: black">DrawPrimitive(=20
D3DPT_TRIANGLELIST, // PrimitiveType</SPAN></DIV>
<DIV><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: =
black"> =
=20
=
0,  =
; =20
// StartVertex</SPAN></DIV>
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 1pt; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext =
1pt solid">
<DIV=20
style=3D"BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; =
BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; =
BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium =
none"><SPAN=20
style=3D"FONT-SIZE: 9pt; COLOR: =
black"> =
=20
2=20
=
);  =
; =20
// PrimitiveCount</SPAN></DIV></DIV>
<DIV>Scenario =
2=EF=BC=9A=E7=94=A8=E7=B4=A2=E5=BC=95=E7=BC=93=E5=86=B2=E7=94=BB=E4=B8=A4=
=E4=B8=AA=E4=B8=89=E8=A7=92=E5=BD=A2</DIV>
<DIV align=3Dcenter><IMG alt=3D""=20
=
src=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -