﻿<?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++博客-AstaTus</title><link>http://www.cppblog.com/AstaTus/</link><description>       -- 夏天不热。。</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:06:45 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:06:45 GMT</pubDate><ttl>60</ttl><item><title>火炬之光的模型资源获取...</title><link>http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Sun, 11 Apr 2010 14:41:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/112271.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/112271.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/112271.html</trackback:ping><description><![CDATA[<span class="Apple-tab-span" style="white-space:pre">	</span><div><span class="Apple-tab-span" style="white-space:pre"></span><span class="Apple-tab-span" style="white-space:pre">	</span>火炬之光是用Ogre开发的一款单机游戏,所以他的资源是可以再度利用的.但是在加载模型时他的动画信息没有导入进来,所以要将他的Skeleton文件动下手脚，以火炬之光中 Model/Goust为例,先将Goust.Skeleton文件拖放到OgreXmlConverter.exe工具图标上,然后就会在Goust.Skeleton目录上生成一个Goust.Skeleton.XML文件,该在中间插入&lt;animationlinks&gt;标记,然后将所有的动画Skeleton文件Link进来.然后将xml文件拖到OgreXmlConverter.exe工具图标上,便自动又生成一个oust.Skeleton，该文件内就会link动画文件了</div><div><br></div><div><span  style="font-family: monospace; font-size: 13px; white-space: pre; "><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">skeleton</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">bones</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">bones</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">bonehierarchy</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">bonehierarchy</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animations</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">animations</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">skeleton</span></span></div><div><span ><span><br></span></span></div><div><span ><span><table id="Table1" class="tb" cellspacing="0" cellpadding="3" border="0" style="font-size: 13px; "><tbody><tr><td><pre><div><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Attack1.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Attack2.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Die.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Idle.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Run.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="spawn.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="special_teleport.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Special_Gen_AOE.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Walk.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
    </span><span style="color: rgb(0, 0, 255); ">&lt;</span><span style="color: rgb(128, 0, 0); ">animationlink </span><span style="color: rgb(255, 0, 0); ">skeletonName</span><span style="color: rgb(0, 0, 255); ">="Special_summon.SKELETON"</span><span style="color: rgb(255, 0, 0); "> scale</span><span style="color: rgb(0, 0, 255); ">="1"</span><span style="color: rgb(255, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">/&gt;</span><span style="color: rgb(0, 0, 0); ">
  </span><span style="color: rgb(0, 0, 255); ">&lt;/</span><span style="color: rgb(128, 0, 0); ">animationlinks</span><span style="color: rgb(0, 0, 255); ">&gt;</span></div></pre></td></tr></tbody></table></span></span></div><img src ="http://www.cppblog.com/AstaTus/aggbug/112271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2010-04-11 22:41 <a href="http://www.cppblog.com/AstaTus/archive/2010/04/11/112271.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>声源和多缓冲绑定的问题</title><link>http://www.cppblog.com/AstaTus/archive/2009/09/20/96767.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Sun, 20 Sep 2009 03:17:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2009/09/20/96767.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/96767.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2009/09/20/96767.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/96767.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/96767.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;一个声源与多个缓冲绑定时，这几个缓冲中的声音Format需要一致，否则<br>alSourceQueueBuffers函数会得到 0xA004的错误，然后在Sourceplay时声源状<br>态不会改变为AL_PLAYING而一直都会在AL_INITAL的状态<br>&nbsp;&nbsp;
<img src ="http://www.cppblog.com/AstaTus/aggbug/96767.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2009-09-20 11:17 <a href="http://www.cppblog.com/AstaTus/archive/2009/09/20/96767.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>点相对与平面的位置判断的证明~</title><link>http://www.cppblog.com/AstaTus/archive/2009/02/25/74915.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Wed, 25 Feb 2009 13:01:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2009/02/25/74915.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/74915.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2009/02/25/74915.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/74915.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/74915.html</trackback:ping><description><![CDATA[问题背景：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;很早就觉得数学很重要，但斌没有静下心来好好看~ 最近重写都D3D框架的结构，打算从基础类一个个写起。。<br>&nbsp;&nbsp;&nbsp;今天写到射线的相交，在射线与平面相交的判断上，由于射线的的单方向性，所以可能存在射线的反向延长线和平<br>&nbsp;&nbsp;&nbsp;面相交，但是正真的射线没&nbsp;&nbsp;有&nbsp;&nbsp;和平面相交，所以设：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;平面的单位法向量:N,；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;射线的起始点：Origin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;射线的方向：Dir<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果Dir，N的点积为正 且Origin在平面的背面，或Origin在平面的正面，且Dir，N的点积为负，则他们相交<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其他情况则不想交<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但关键是Origin在平面的哪一面该怎么算呢？下面来小证一下<br><br>证明：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N,Origin,Dir均为矢量，其他为标量<br>&nbsp;&nbsp;平面方程为 N(x, y, z) = D；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;射线方程为 P(t) = Origin + Dir*t;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N为平面的单位法向量，&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;求N与Origin的点积<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&#8226;Origin = |N| * |Origin|cos<span style="FONT-FAMILY: symbol">F</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为N为单位向量 则求出来的值为Origin向量在N上的投影且有方向<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(这个有向长度相于当该平面经过原点时的有向长度，既D为0时),(D的几何意义是平面到原点的有向距离，<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;既D为负则 原点在平面背面，反之在反面)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所以N&#8226;Origin&nbsp;+ D为最后Origin在正真的有偏移的N上的投影的有向长度，为负则在背<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;面，为正则在正面<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 貌似讲的不怎么清楚 -_- ~~~ <span style="FONT-FAMILY: symbol"><br></span>
<img src ="http://www.cppblog.com/AstaTus/aggbug/74915.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2009-02-25 21:01 <a href="http://www.cppblog.com/AstaTus/archive/2009/02/25/74915.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>phong 光照模型。。</title><link>http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Mon, 16 Feb 2009 02:10:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/73911.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/73911.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/73911.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 前些日子 乘着有闲功夫，慢慢的hlsl看了起来，发现以前学的数学知识全用上了，只可惜忘得都差不多了，又要恶补数学了。<br>&nbsp;&nbsp;&nbsp;做了个比较简单的 phong 光照模型。<br>&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/images/cppblog_com/astatus/phong.jpg" border=0><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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">float4x4&nbsp;Scal;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;World;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;View;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;projection;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;WorldViewProjection;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float3&nbsp;EyePosition;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float3&nbsp;LightDir;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4&nbsp;LightColor;<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></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;VertexInput<br><img id=Codehighlighter1_173_257_Open_Image onclick="this.style.display='none'; Codehighlighter1_173_257_Open_Text.style.display='none'; Codehighlighter1_173_257_Closed_Image.style.display='inline'; Codehighlighter1_173_257_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_173_257_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_173_257_Closed_Text.style.display='none'; Codehighlighter1_173_257_Open_Image.style.display='inline'; Codehighlighter1_173_257_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_173_257_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_173_257_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;&nbsp;Position&nbsp;:&nbsp;POSITION;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float2&nbsp;&nbsp;Tex&nbsp;:&nbsp;TEXCOORD0;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;&nbsp;Normal&nbsp;:&nbsp;NORMAL;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<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><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;VertexOutput<br><img id=Codehighlighter1_282_397_Open_Image onclick="this.style.display='none'; Codehighlighter1_282_397_Open_Text.style.display='none'; Codehighlighter1_282_397_Closed_Image.style.display='inline'; Codehighlighter1_282_397_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_282_397_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_282_397_Closed_Text.style.display='none'; Codehighlighter1_282_397_Open_Image.style.display='inline'; Codehighlighter1_282_397_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_282_397_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_282_397_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;&nbsp;Position&nbsp;:&nbsp;POSITION;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float2&nbsp;&nbsp;&nbsp;&nbsp;Tex&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;TEXCOORD0;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;&nbsp;&nbsp;&nbsp;Normal&nbsp;:&nbsp;TEXCOORD1;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;&nbsp;View&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;TEXCOORD2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<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><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>VertexOutput&nbsp;VertexMain(VertexInput&nbsp;input)<br><img id=Codehighlighter1_445_774_Open_Image onclick="this.style.display='none'; Codehighlighter1_445_774_Open_Text.style.display='none'; Codehighlighter1_445_774_Closed_Image.style.display='inline'; Codehighlighter1_445_774_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_445_774_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_445_774_Closed_Text.style.display='none'; Codehighlighter1_445_774_Open_Image.style.display='inline'; Codehighlighter1_445_774_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_445_774_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_445_774_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;VertexOutput&nbsp;output&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(VertexOutput)</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WorldViewProjection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mul(mul(View,&nbsp;World),&nbsp;projection);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.Position&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mul(mul(input.Position,&nbsp;Scal),&nbsp;WorldViewProjection);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.Tex&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;input.Tex;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.Normal&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mul(input.Normal,&nbsp;World);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.View&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;EyePosition&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;mul(input.Position,&nbsp;&nbsp;World);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;output;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><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>float4&nbsp;PixelMain(VertexOutput&nbsp;input)&nbsp;:&nbsp;COLOR0<br><img id=Codehighlighter1_823_1344_Open_Image onclick="this.style.display='none'; Codehighlighter1_823_1344_Open_Text.style.display='none'; Codehighlighter1_823_1344_Closed_Image.style.display='inline'; Codehighlighter1_823_1344_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_823_1344_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_823_1344_Closed_Text.style.display='none'; Codehighlighter1_823_1344_Open_Image.style.display='inline'; Codehighlighter1_823_1344_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_823_1344_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_823_1344_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;diffsum;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;specularsum;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;color;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;sunshinepower;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;amibent&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;float4(</span><span style="COLOR: #000000">0.1f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0.1f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0.1f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">1.0f</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sunshinepower&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">16.0f</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;diffsum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;specularsum&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/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">漫反射</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;LightDir&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;normalize(LightDir);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;diffsum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;saturate(dot(LightDir,&nbsp;input.Normal));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">镜面反射</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;L&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">LightDir;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;R&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;normalize(reflect(L,&nbsp;input.Normal));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;V&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;normalize(input.View);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;specularsum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;pow(saturate(dot(R,&nbsp;V)),&nbsp;sunshinepower);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;specularsum&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;diffsum&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;LightColor&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;amibent;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;color;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><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>technique&nbsp;techR&nbsp;<br><img id=Codehighlighter1_1364_1471_Open_Image onclick="this.style.display='none'; Codehighlighter1_1364_1471_Open_Text.style.display='none'; Codehighlighter1_1364_1471_Closed_Image.style.display='inline'; Codehighlighter1_1364_1471_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1364_1471_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1364_1471_Closed_Text.style.display='none'; Codehighlighter1_1364_1471_Open_Image.style.display='inline'; Codehighlighter1_1364_1471_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1364_1471_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_1364_1471_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;pass&nbsp;p0<br><img id=Codehighlighter1_1376_1469_Open_Image onclick="this.style.display='none'; Codehighlighter1_1376_1469_Open_Text.style.display='none'; Codehighlighter1_1376_1469_Closed_Image.style.display='inline'; Codehighlighter1_1376_1469_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1376_1469_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1376_1469_Closed_Text.style.display='none'; Codehighlighter1_1376_1469_Open_Image.style.display='inline'; Codehighlighter1_1376_1469_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1376_1469_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_1376_1469_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;VertexShader&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;compile&nbsp;vs_2_0&nbsp;VertexMain();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PixelShader&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;compile&nbsp;ps_2_0&nbsp;PixelMain();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/AstaTus/aggbug/73911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2009-02-16 10:10 <a href="http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无限地形~</title><link>http://www.cppblog.com/AstaTus/archive/2009/02/16/73907.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Mon, 16 Feb 2009 01:59:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2009/02/16/73907.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/73907.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2009/02/16/73907.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/73907.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/73907.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;终于把无限地形调试好了，但纹理部分还没做。那个恼人的BUG总是把机器搞成蓝屏，微软的东西用起来就是不放心啊。-_-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下一步要做鼠标拾取，但发现扩展比较乱，打算重构下，具体思路是：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.把四叉树拿出来单独做成一个类，节点是node，只标管理坐标等方位属性，然后再用entity类attach上去，貌似现在大多数引擎都是这样做的。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.node用composite 模式 可以自己create节点 四叉树的那个类就是把node 和entity封装成树，以后如果有其他的场景管理模式就不需要改动node和entity类了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;暂且只想了这些，具体细节还有很多的考虑，只能慢慢来了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.打算以后在编辑器里将场景直接导出成一个文件，然后在游戏里导入文件就行了~<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;额，貌似还有很多事情~<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;纹理没做 样子比较难看 不贴图了。
<img src ="http://www.cppblog.com/AstaTus/aggbug/73907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2009-02-16 09:59 <a href="http://www.cppblog.com/AstaTus/archive/2009/02/16/73907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dx 与 mfc 整合 成功！</title><link>http://www.cppblog.com/AstaTus/archive/2009/01/24/72552.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Sat, 24 Jan 2009 14:18:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2009/01/24/72552.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/72552.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2009/01/24/72552.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/72552.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/72552.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;整合成功已将近1个星期了，但并不是很开心。因为先前的那个LOD效率太低&nbsp; 潘永亮的pdf里说他有100~200+的帧率，而我的只是在30上下徘徊而且还是512 * 512的高度图，他说他的是1024* 1024的 ，所以无比的郁闷+ 仇视~后来感觉算法的瓶颈可能是在到最后分的节点太细了，导致在渲染时 渲染队列里的节点过多，（我的笔记cpu是1.66G的，虽然双核，但单线程的程序最多也不会超过1.8G吧）后来看到ogre里的terrain的那里例子里，LOD变化时是一大块一大块的，一个节点代表一大块的mesh ，后来看了下是65*65的网格 而我的最细只有3*3.&nbsp; -.-!<br>&nbsp;&nbsp;&nbsp; 所以这些日子都在弄那个地形&nbsp;，看到tonykee boss的博客里的那个无限地形非常的HAPPY，所以依据他的思路在写，后来发现这个地形代码非常的庞大，但可以想象，用起来将是非常的爽啊，因为tonykee boss只给了个大概的思路，细节方面有很多要考虑的，尤其是效率方面的(不知道是不是以前写过单片机的程序的原因，时间和空间的开销我都过分的关注-。-)，所以导致已将近写了1个星期，不过还差点，快的话明天估计可以展开全面的调试了。。。<br>&nbsp;&nbsp;&nbsp;明天年三十，希望能1次调试成功~~ </p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/AstaTus/aggbug/72552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2009-01-24 22:18 <a href="http://www.cppblog.com/AstaTus/archive/2009/01/24/72552.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LOD地形。。</title><link>http://www.cppblog.com/AstaTus/archive/2008/12/25/70360.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Thu, 25 Dec 2008 14:54:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2008/12/25/70360.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/70360.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2008/12/25/70360.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/70360.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/70360.html</trackback:ping><description><![CDATA[&nbsp;参考了潘永亮的lod的资料后，终于将LOD给实现了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOD地形的实现面临有2个问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1：网格的裂缝问题，我是用取消那条与低分辨块相邻的边来做的，这样的话有个缺点既每相邻的块分辨率做多只能相差1；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2：生成网格时的遍历次数，用潘永亮的方法只需遍历一次<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具体参见潘永亮的PDF：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.cppblog.com/Files/AstaTus/largeLOD.pdf">/Files/AstaTus/largeLOD.pdf</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我的效果图：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/images/cppblog_com/astatus/11.jpg" border=0><br>
<img src ="http://www.cppblog.com/AstaTus/aggbug/70360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2008-12-25 22:54 <a href="http://www.cppblog.com/AstaTus/archive/2008/12/25/70360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DX.纠错本。</title><link>http://www.cppblog.com/AstaTus/archive/2008/12/22/70053.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Mon, 22 Dec 2008 05:06:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2008/12/22/70053.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/70053.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2008/12/22/70053.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/70053.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/70053.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;DX学习中总是在一些小问题上纠缠不清，所以特开一篇，记录下自己的错误。<br><br>1， 内存访问异常：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;遇到该问题时，可能错误并非在报错的那个语句上，而是在前面的运行语句中，数组越界访问，或其他关于内存的错误。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我就是在用vector时 越界访问了（虽然vector可以自动开辟空间，但[]运算符貌似不能访问当前所占有的内存之后的内存，<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我是先resiz&nbsp;&nbsp;&nbsp;e的，&nbsp;&nbsp;&nbsp;这&nbsp;&nbsp;样可以提高效率） 导致后面createtexturefromfile的函数无法创建纹理 。<br><br>2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建的实体渲染后不显示<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个问题至今遇到了2次，都是因为变量的类型原因<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1).索引的类型默认是WORD类型,但是在创建Indexbuffer时可以将索引的类型设置为DWORD。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2).自定义的顶点格式的xyz必定需要float型 <br><br>3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;换了个dx的SDK(June 2008)&nbsp;发现原来的shader代码出了点问题，在用到全局变量的代码处报<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global variables are implicitly constant, enable compatibility mode to allow modification 错误<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;也就是说全局变量是extern也是常量，在shader里面不能修改，但可以从宿主程序里改。
<img src ="http://www.cppblog.com/AstaTus/aggbug/70053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2008-12-22 13:06 <a href="http://www.cppblog.com/AstaTus/archive/2008/12/22/70053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>重新封装DX。。。</title><link>http://www.cppblog.com/AstaTus/archive/2008/11/17/67148.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Mon, 17 Nov 2008 14:21:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2008/11/17/67148.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/67148.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2008/11/17/67148.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/67148.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/67148.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 好久没写了，前些日子去搞文件系统了，是单片机的文件系统，完全不能调试，累啊，现在用起2005 那一个爽字了得。。哈哈<br><br><br>现在已经完成相机，地形，框架三个类了，不过功能还不是很完善，还需待改进。。<br><br><br><img height=479 alt="" src="http://www.cppblog.com/images/cppblog_com/astatus/LL.jpg" width=601 border=0><br><br>贴张图<br>
<img src ="http://www.cppblog.com/AstaTus/aggbug/67148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2008-11-17 22:21 <a href="http://www.cppblog.com/AstaTus/archive/2008/11/17/67148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>像素着色器的疑惑。。</title><link>http://www.cppblog.com/AstaTus/archive/2008/10/16/64212.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Thu, 16 Oct 2008 14:39:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2008/10/16/64212.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/64212.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2008/10/16/64212.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/64212.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/64212.html</trackback:ping><description><![CDATA[<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 id=Codehighlighter1_0_18_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_18_Open_Text.style.display='none'; Codehighlighter1_0_18_Closed_Image.style.display='inline'; Codehighlighter1_0_18_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_18_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_18_Closed_Text.style.display='none'; Codehighlighter1_0_18_Open_Image.style.display='inline'; Codehighlighter1_0_18_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_18_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">/**/</span><span id=Codehighlighter1_0_18_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">//pixel&nbsp;shader：</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">sampler&nbsp;BaseTex;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>sampler&nbsp;SpotLightTex;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>sampler&nbsp;StringTex;<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><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></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;PS_INPUT<br><img id=Codehighlighter1_96_183_Open_Image onclick="this.style.display='none'; Codehighlighter1_96_183_Open_Text.style.display='none'; Codehighlighter1_96_183_Closed_Image.style.display='inline'; Codehighlighter1_96_183_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top></span><span id=Codehighlighter1_96_183_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_183_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float2&nbsp;</span><span style="COLOR: #0000ff">base</span><span style="COLOR: #000000">&nbsp;:&nbsp;TEXCOORD0;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float2&nbsp;spotlight&nbsp;:&nbsp;TEXCOORD1;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float2&nbsp;text&nbsp;:&nbsp;TEXCOORD2;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<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></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;PS_OUTPUT<br><img id=Codehighlighter1_204_236_Open_Image onclick="this.style.display='none'; Codehighlighter1_204_236_Open_Text.style.display='none'; Codehighlighter1_204_236_Closed_Image.style.display='inline'; Codehighlighter1_204_236_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_204_236_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_204_236_Closed_Text.style.display='none'; Codehighlighter1_204_236_Open_Image.style.display='inline'; Codehighlighter1_204_236_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_204_236_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_204_236_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vector&nbsp;finalcolor&nbsp;:&nbsp;COLOR;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<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>PS_OUTPUT&nbsp;Main(PS_INPUT&nbsp;input)<br><img id=Codehighlighter1_271_521_Open_Image style="DISPLAY: inline" onclick="this.style.display='none'; Codehighlighter1_271_521_Open_Text.style.display='none'; Codehighlighter1_271_521_Closed_Image.style.display='inline'; Codehighlighter1_271_521_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_271_521_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_271_521_Closed_Text.style.display='none'; Codehighlighter1_271_521_Open_Image.style.display='inline'; Codehighlighter1_271_521_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_271_521_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_271_521_Open_Text style="DISPLAY: inline"><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;PS_OUTPUT&nbsp;&nbsp;output&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(PS_OUTPUT)</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vector&nbsp;b&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tex2D(BaseTex,&nbsp;input.</span><span style="COLOR: #0000ff">base</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vector&nbsp;s&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tex2D(SpotLightTex,&nbsp;input.spotlight);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vector&nbsp;t&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tex2D(StringTex,&nbsp;input.text);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vector&nbsp;c&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;b&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;s&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;t;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.1f</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;output.finalcolor&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;c;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;output;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><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><br><img id=Codehighlighter1_525_551_Open_Image onclick="this.style.display='none'; Codehighlighter1_525_551_Open_Text.style.display='none'; Codehighlighter1_525_551_Closed_Image.style.display='inline'; Codehighlighter1_525_551_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_525_551_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_525_551_Closed_Text.style.display='none'; Codehighlighter1_525_551_Open_Image.style.display='inline'; Codehighlighter1_525_551_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_525_551_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">/**/</span><span id=Codehighlighter1_525_551_Open_Text><span style="COLOR: #808080">/////////////////////</span><span style="COLOR: #008000">//主程序</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/dot.gif">..</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>BT&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;PSConstantTable</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetConstantByName(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">BaseTex</span><span style="COLOR: #000000">"</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;ST&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;PSConstantTable</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetConstantByName(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SpotLightTex</span><span style="COLOR: #000000">"</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;TT&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;PSConstantTable</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetConstantByName(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">StringTex</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/dot.gif">..</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>BT,&nbsp;ST,&nbsp;TT&nbsp;为D3DXHANDLE类型，调试到这里时<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>这三个都为错误指针，PSConstantTable为获取正常的静态数据表指针，pixel&nbsp;shader编译也没问题，到底是哪里错了，抓狂。。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
为什么编译没出错，获取静态数据表也没出错，就是在获取着色器里的sampler句柄时出错。。。谜团至今未解。。<br><br>
<img src ="http://www.cppblog.com/AstaTus/aggbug/64212.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2008-10-16 22:39 <a href="http://www.cppblog.com/AstaTus/archive/2008/10/16/64212.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>