﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-小乌龟-随笔分类-DirectX10</title><link>http://www.cppblog.com/xiaowugui/category/16847.html</link><description>在梦想的道路上还能走多远</description><language>zh-cn</language><lastBuildDate>Mon, 09 May 2011 12:30:31 GMT</lastBuildDate><pubDate>Mon, 09 May 2011 12:30:31 GMT</pubDate><ttl>60</ttl><item><title>获取Streaming output统计信息失败</title><link>http://www.cppblog.com/xiaowugui/archive/2011/05/09/146016.html</link><dc:creator>小乌龟</dc:creator><author>小乌龟</author><pubDate>Mon, 09 May 2011 04:47:00 GMT</pubDate><guid>http://www.cppblog.com/xiaowugui/archive/2011/05/09/146016.html</guid><wfw:comment>http://www.cppblog.com/xiaowugui/comments/146016.html</wfw:comment><comments>http://www.cppblog.com/xiaowugui/archive/2011/05/09/146016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xiaowugui/comments/commentRss/146016.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xiaowugui/services/trackbacks/146016.html</trackback:ping><description><![CDATA[<p>&nbsp;<span style="FONT-SIZE: 12pt; FONT-FAMILY: Lucida Console">&nbsp;&nbsp;<span style="FONT-SIZE: 10pt; FONT-FAMILY: Lucida Console">基于GPU的粒子系统的粒子数目一般等于stream output的图元数，而stream output的统计信息可以通过ID3D10Query接口获取。步骤如下：<br>1.创建ID3D10Query查询对象</span><br></span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 10pt; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: Lucida Console; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">ID3D10Query</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;pQuery;<br></span><span style="COLOR: #008080">2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>D3D10_QUERY_DESC&nbsp;queryDesc;<br></span><span style="COLOR: #008080">3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>queryDesc.Query&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3D10_QUERY_SO_STATISTICS;<br></span><span style="COLOR: #008080">4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>queryDesc.MiscFlags&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>pD3DDevice</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CreateQuery(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">queryDesc,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">pQuery&nbsp;);</span></div>
<span style="FONT-FAMILY: Lucida Console">&nbsp;&nbsp;&nbsp;<br>2.在用DrawAuto()绘制粒子处设置查询的开始和结束标记：</span><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: Lucida Console; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span>&nbsp;<span style="COLOR: #000000">pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Begin();<br></span><span style="COLOR: #008080">2</span>&nbsp;<span style="COLOR: #000000">pD3DDevice</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">DrawAuto();&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;绘制粒子</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">3</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">End();</span></div>
<br><span style="FONT-FAMILY: Lucida Console">3. 获取Stream Output输出的图元个数：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span>&nbsp;<span style="COLOR: #000000">D3D10_QUERY_DATA_SO_STATISTICS&nbsp;streamOutBufferSize;<br></span><span style="COLOR: #008080">2</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;S_OK&nbsp;=</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetData(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">streamOutBufferSize,&nbsp;pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetDataSize(),&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)&nbsp;)&nbsp; <span style="COLOR: #008000">// 错误产生的原因<br></span></span><span style="COLOR: #008080">3</span>&nbsp;<span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">4</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;mStreamOutParticleSize&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(unsigned)streamOutBufferSize.NumPrimitivesWritten;<br></span><span style="COLOR: #008080">5</span>&nbsp;<span style="COLOR: #000000">}</span></div>
</span>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;可是试验的时候，发现获取的粒子数目不正确。调试后发现<font style="FONT-FAMILY: Lucida Console" face="Lucida Console">ID3D10Query::GetData()总返回S_FALSE，但极少数情况下也返回S_OK。参考文献1后明白，ID3D10Query接口是异步从GPU获取数据的,当GPU中繁忙或者查询的数据没有准备好，就会返回S_FALSE。正确的做法是：如果ID3D10Query::GetData()返回失败，则继续查询，直到成功为止。正确的完整代码如下：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span>&nbsp;<span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;创建ID3D10Query查询对象</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;2</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">ID3D10Query</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;pQuery;<br></span><span style="COLOR: #008080">&nbsp;3</span>&nbsp;<span style="COLOR: #000000">D3D10_QUERY_DESC&nbsp;queryDesc;<br></span><span style="COLOR: #008080">&nbsp;4</span>&nbsp;<span style="COLOR: #000000">queryDesc.Query&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3D10_QUERY_SO_STATISTICS;<br></span><span style="COLOR: #008080">&nbsp;5</span>&nbsp;<span style="COLOR: #000000">queryDesc.MiscFlags&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;6</span>&nbsp;<span style="COLOR: #000000">pD3DDevice</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CreateQuery(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">queryDesc,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">pQuery&nbsp;);<br></span><span style="COLOR: #008080">&nbsp;7</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;8</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;设置查询的开始和结束标志</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;9</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Begin();<br></span><span style="COLOR: #008080">10</span>&nbsp;<span style="COLOR: #000000">pD3DDevice</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">DrawAuto();<br></span><span style="COLOR: #008080">11</span>&nbsp;<span style="COLOR: #000000">pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">End();<br></span><span style="COLOR: #008080">12</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">13</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;获取stream&nbsp;output输出的图元个数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">14</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">D3D10_QUERY_DATA_SO_STATISTICS&nbsp;streamOutBufferSize;<br></span><span style="COLOR: #008080">15</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(&nbsp;S_OK&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetData(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">streamOutBufferSize,&nbsp;pQuery</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetDataSize(),&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)&nbsp;);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;不停循环，直到成功</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">16</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">mStreamOutParticleSize&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(unsigned)streamOutBufferSize.NumPrimitivesWritten;</span></div>
&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;参考资料：<br>&nbsp;&nbsp;&nbsp;1. Get&nbsp;streaming output statistics:&nbsp;<a href="http://www.bennychen.cn/2009/07/get-streaming-output-statistics/">http://www.bennychen.cn/2009/07/get-streaming-output-statistics/</a><br></font>
<img src ="http://www.cppblog.com/xiaowugui/aggbug/146016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xiaowugui/" target="_blank">小乌龟</a> 2011-05-09 12:47 <a href="http://www.cppblog.com/xiaowugui/archive/2011/05/09/146016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PIX Experiment File Version Mismatch</title><link>http://www.cppblog.com/xiaowugui/archive/2011/05/08/145923.html</link><dc:creator>小乌龟</dc:creator><author>小乌龟</author><pubDate>Sat, 07 May 2011 16:48:00 GMT</pubDate><guid>http://www.cppblog.com/xiaowugui/archive/2011/05/08/145923.html</guid><wfw:comment>http://www.cppblog.com/xiaowugui/comments/145923.html</wfw:comment><comments>http://www.cppblog.com/xiaowugui/archive/2011/05/08/145923.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xiaowugui/comments/commentRss/145923.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xiaowugui/services/trackbacks/145923.html</trackback:ping><description><![CDATA[<p style="FONT-FAMILY: Lucida Console">&nbsp;&nbsp;&nbsp;使用PIX调试Direct3D程序时，PIX出错不能运行，如下图所示：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img height=248 alt="" src="http://www.cppblog.com/images/cppblog_com/xiaowugui/mm.jpg" width=540 align=middle border=0><br>&nbsp;&nbsp;&nbsp;原因是PIX调试的程序的路径必须是英文，解决办法是修改被调试的程序的路径，使之不包含中文。<br><br>&nbsp;&nbsp;&nbsp;参考文献：<br>&nbsp;&nbsp;&nbsp;PIX调式shader傻瓜教程：<a href="http://blog.csdn.net/rabbit729/archive/2011/01/14/6139308.aspx">http://blog.csdn.net/rabbit729/archive/2011/01/14/6139308.aspx</a><br>&nbsp;&nbsp;&nbsp;Direct3D程序调试技巧：<a href="http://hi.baidu.com/xiexianyu/blog/item/6a6944ec84bd9fdd2f2e21ab.html">http://hi.baidu.com/xiexianyu/blog/item/6a6944ec84bd9fdd2f2e21ab.html</a><br>&nbsp;&nbsp;&nbsp;</p>
<img src ="http://www.cppblog.com/xiaowugui/aggbug/145923.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xiaowugui/" target="_blank">小乌龟</a> 2011-05-08 00:48 <a href="http://www.cppblog.com/xiaowugui/archive/2011/05/08/145923.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DirectX9获取深度缓存值</title><link>http://www.cppblog.com/xiaowugui/archive/2010/01/06/104962.html</link><dc:creator>小乌龟</dc:creator><author>小乌龟</author><pubDate>Wed, 06 Jan 2010 11:02:00 GMT</pubDate><guid>http://www.cppblog.com/xiaowugui/archive/2010/01/06/104962.html</guid><wfw:comment>http://www.cppblog.com/xiaowugui/comments/104962.html</wfw:comment><comments>http://www.cppblog.com/xiaowugui/archive/2010/01/06/104962.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xiaowugui/comments/commentRss/104962.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xiaowugui/services/trackbacks/104962.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 18pt"><span style="FONT-FAMILY: Verdana"><span style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;DirectX中，如何获取深度值，然后将它存储在一个txt文件中？其实只要修改两个地方：<br>&nbsp;&nbsp;&nbsp;第一个地方是：创建Direct3D设备时，将D3DPRESENT_PARAMETERS类型表示变量的AutoDepthStencilFormat设置为D3DFMT_D32F_LOCKABLE，代码如下：&nbsp;&nbsp;&nbsp;<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;D3DPRESENT_PARAMETERS&nbsp;d3dpp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.BackBufferWidth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;width;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.BackBufferHeight&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;height;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.BackBufferFormat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3DFMT_A8R8G8B8;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.BackBufferCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.MultiSampleType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3DMULTISAMPLE_NONE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.MultiSampleQuality&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.SwapEffect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3DSWAPEFFECT_DISCARD;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.hDeviceWindow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;hwnd;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.Windowed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;windowed;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.EnableAutoDepthStencil&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.AutoDepthStencilFormat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3DFMT_D32F_LOCKABLE;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;16位总不行</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.Flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.FullScreen_RefreshRateInHz&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3DPRESENT_RATE_DEFAULT;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d3dpp.PresentationInterval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;D3DPRESENT_INTERVAL_IMMEDIATE;</span></div>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><br>&nbsp;&nbsp;&nbsp;第二个地方是：设置锁定缓存表面，并进行读写的代码：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;获取深度模板表面</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HRESULT&nbsp;hr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Device</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetDepthStencilSurface(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">pZBuffer&nbsp;);<br><img id=Codehighlighter1_96_167_Open_Image onclick="this.style.display='none'; Codehighlighter1_96_167_Open_Text.style.display='none'; Codehighlighter1_96_167_Closed_Image.style.display='inline'; Codehighlighter1_96_167_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_96_167_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_96_167_Closed_Text.style.display='none'; Codehighlighter1_96_167_Open_Image.style.display='inline'; Codehighlighter1_96_167_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;FAILED(&nbsp;hr&nbsp;)&nbsp;)&nbsp;</span><span id=Codehighlighter1_96_167_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_96_167_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(&nbsp;NULL,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">GetDepthStencilSurface&nbsp;failure</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;打开文件</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;fopen(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ZBuffer.txt</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">w</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;);<br><img id=Codehighlighter1_248_298_Open_Image onclick="this.style.display='none'; Codehighlighter1_248_298_Open_Text.style.display='none'; Codehighlighter1_248_298_Closed_Image.style.display='inline'; Codehighlighter1_248_298_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_248_298_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_248_298_Closed_Text.style.display='none'; Codehighlighter1_248_298_Open_Image.style.display='inline'; Codehighlighter1_248_298_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;pFile&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;NULL&nbsp;)&nbsp;</span><span id=Codehighlighter1_248_298_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_248_298_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(&nbsp;NULL,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">shit</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;NULL,&nbsp;NULL);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;获取表面特性</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D3DSURFACE_DESC&nbsp;surfaceDesc;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pZBuffer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetDesc(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">surfaceDesc&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;锁定表面</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D3DLOCKED_RECT&nbsp;lockRect;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;pZBuffer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">LockRect(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">lockRect,&nbsp;NULL,&nbsp;D3DLOCK_READONLY&nbsp;);<br><img id=Codehighlighter1_515_578_Open_Image onclick="this.style.display='none'; Codehighlighter1_515_578_Open_Text.style.display='none'; Codehighlighter1_515_578_Closed_Image.style.display='inline'; Codehighlighter1_515_578_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_515_578_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_515_578_Closed_Text.style.display='none'; Codehighlighter1_515_578_Open_Image.style.display='inline'; Codehighlighter1_515_578_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;FAILED(&nbsp;hr&nbsp;)&nbsp;)&nbsp;</span><span id=Codehighlighter1_515_578_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_515_578_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(&nbsp;NULL,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">GetDepthStencilSurface</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;获取指向表面区域指针</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;pData&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)lockRect.pBits;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;将深度信息输出到文件中</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_711_890_Open_Image onclick="this.style.display='none'; Codehighlighter1_711_890_Open_Text.style.display='none'; Codehighlighter1_711_890_Closed_Image.style.display='inline'; Codehighlighter1_711_890_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_711_890_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_711_890_Closed_Text.style.display='none'; Codehighlighter1_711_890_Open_Image.style.display='inline'; Codehighlighter1_711_890_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;y&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;surfaceDesc.Height;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">y&nbsp;)&nbsp;</span><span id=Codehighlighter1_711_890_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_711_890_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_762_858_Open_Image onclick="this.style.display='none'; Codehighlighter1_762_858_Open_Text.style.display='none'; Codehighlighter1_762_858_Closed_Image.style.display='inline'; Codehighlighter1_762_858_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_762_858_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_762_858_Closed_Text.style.display='none'; Codehighlighter1_762_858_Open_Image.style.display='inline'; Codehighlighter1_762_858_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;x&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;surfaceDesc.Width;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">x&nbsp;)&nbsp;</span><span id=Codehighlighter1_762_858_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_762_858_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;index&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;y&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;lockRect.Pitch&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;x;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fprintf(&nbsp;pFile,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%f&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;pData[index]&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fprintf(&nbsp;pFile,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;解锁表面锁定</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pZBuffer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">UnlockRect();&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;释放接口和文件</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pZBuffer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Release();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose(&nbsp;pFile&nbsp;);</span></div>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><br></span></span></p>
<img src ="http://www.cppblog.com/xiaowugui/aggbug/104962.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xiaowugui/" target="_blank">小乌龟</a> 2010-01-06 19:02 <a href="http://www.cppblog.com/xiaowugui/archive/2010/01/06/104962.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>