📄 像素着色器 (pixel shaders).htm
字号:
<P class=MsoNormal
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">m_pd3dDevice->SetRenderState(
D3DRS_LIGHTING, FALSE );<o:p></o:p></SPAN></P>
<P class=MsoNormal
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p> </o:p></SPAN></P>
<P class=MsoNormal
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">m_pd3dDevice->SetStreamSource(
0, m_pQuadVB, sizeof(CUSTOMVERTEX) );<o:p></o:p></SPAN></P>
<P class=MsoNormal
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">m_pd3dDevice->SetFVF(
D3DFVF_CUSTOMVERTEX );<o:p></o:p></SPAN></P>
<P class=MsoNormal
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">m_pd3dDevice->SetPixelShader(
m_pPixelShader );<o:p></o:p></SPAN></P>
<P class=MsoNormal
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">m_pd3dDevice->DrawPrimitive(
D3DPT_TRIANGLEFAN, 0, 2 );<o:p></o:p></SPAN></P>
<P><SPAN style="mso-fareast-language: ZH-CN">源顶点数据由<SPAN
lang=EN-US>SetStreamSource设置。本例中,<I
style="mso-bidi-font-style: normal">SetFVF</I>使用在声明顶点数据时定义的FVF码告诉Direct3D进行固定功能顶点处理。顶点着色器和像素着色器既可以一起使用,也可以分开使用。可以用固定功能流水线代替这两者。<I
style="mso-bidi-font-style: normal">SetPixelShader</I>设置像素着色器,而<I
style="mso-bidi-font-style: normal">DrawPrimitive</I>则绘制四边形。<o:p></o:p></SPAN></SPAN></P>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><SPAN lang=EN-US>
<HR align=center width="100%" SIZE=1>
</SPAN></DIV>
<H1><A name=_确认对像素着色器的支持></A><SPAN
style="mso-fareast-language: ZH-CN">确认对像素着色器的支持<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></H1>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><SPAN lang=EN-US>
<HR align=center width="100%" SIZE=1>
</SPAN></DIV>
<P><SPAN style="mso-fareast-language: ZH-CN">应用程序可以查询<U><SPAN
lang=EN-US>D3DCAPS9</SPAN></U>的成员以确定硬件对像素着色器所涉及的操作的支持程度。下表列出了与可编程像素处理有关的设备能力。<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<TABLE class=MsoNormalTable style="mso-cellspacing: 1.5pt" cellSpacing=3
cellPadding=0 border=0>
<TBODY>
<TR style="mso-yfti-irow: 0">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal style="TEXT-ALIGN: center" align=center><B><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">设备能力</SPAN></B><B><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></B></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal style="TEXT-ALIGN: center" align=center><B><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">描述</SPAN></B><B><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></B></P></TD></TR>
<TR style="mso-yfti-irow: 1">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><B><SPAN
lang=EN-US>PixelShader1xMaxValue</SPAN></B><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">寄存器中可存储的值的范围为</SPAN><SPAN
lang=EN-US>[-PixelShader1xMaxValue, PixelShader1xMaxValue]</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">。这个值只对版本</SPAN><SPAN
lang=EN-US style="mso-fareast-language: ZH-CN">1.1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">到</SPAN><SPAN
lang=EN-US style="mso-fareast-language: ZH-CN">1.4</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">有效。</SPAN><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 2">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><B><SPAN
lang=EN-US>MaxSimultaneousTextures</SPAN></B><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">用于固定功能流水线,纹理取样器的数量为</SPAN><SPAN
lang=EN-US>MaxTextureBlendStages</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">除以</SPAN><SPAN
lang=EN-US>MaxSimultaneousTextures</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">。用于像素着色器的纹理取样器的数量在接下来的表中显示。</SPAN><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 3; mso-yfti-lastrow: yes">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><B><SPAN lang=EN-US>PixelShaderVersion</SPAN></B><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">硬件支持的像素着色器的版本。版本号小于或等于该值的像素着色器被支持。</SPAN><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD></TR></TBODY></TABLE>
<P><SPAN style="mso-fareast-language: ZH-CN">可用于像素着色器的纹理取样器的数量取决于像素着色器的版本。<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<TABLE class=MsoNormalTable style="mso-cellspacing: 1.5pt" cellSpacing=3
cellPadding=0 border=0>
<TBODY>
<TR style="mso-yfti-irow: 0">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal style="TEXT-ALIGN: center" align=center><B><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">像素着色器版本</SPAN></B><B><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></B></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal style="TEXT-ALIGN: center" align=center><B><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">纹理取样器的数量</SPAN></B><B><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></B></P></TD></TR>
<TR style="mso-yfti-irow: 1">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN lang=EN-US>ps_1_1 - ps_1_3</SPAN><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN lang=EN-US
style="mso-fareast-language: ZH-CN">4</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">个纹理取样器</SPAN><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 2">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN lang=EN-US>ps_1_4</SPAN><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN lang=EN-US
style="mso-fareast-language: ZH-CN">6</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">个纹理取样器</SPAN><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 3">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN lang=EN-US>ps_2_0 - ps_3_0</SPAN><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN lang=EN-US
style="mso-fareast-language: ZH-CN">16</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">个纹理取样器</SPAN><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 4; mso-yfti-lastrow: yes">
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN lang=EN-US>Fixed function pixel
shader</SPAN><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt">
<P class=MsoNormal><SPAN
lang=EN-US>MaxTextureBlendStages/MaxSimultaneousTextures</SPAN><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -