﻿<?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>博客园-忙碌的小猪崽</title><link>http://www.cnblogs.com/gogoplayer/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 28 Aug 2008 14:09:00 GMT</lastBuildDate><pubDate>Thu, 28 Aug 2008 14:09:00 GMT</pubDate><ttl>60</ttl><item><title>Overlay中文显示</title><link>http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189874.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Fri, 09 May 2008 05:43:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189874.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/1189874.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189874.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/1189874.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/1189874.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal" style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">近日很多朋友咨询<span lang="EN-US">Overlay</span>中文显示问题，回答的多了想索性再写个文档算了，放在网上共享，于是就有了本篇。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: '微软雅黑','sans-serif'">在<span lang="EN-US">Ogre1.2.5</span>版本中，通过与<span lang="EN-US">Ogre</span>官方论坛的开发者讨论实现了<span lang="EN-US">Overlay</span>的中文显示，当初的实现非常的怪异，具体的实现可以参见<span lang="EN-US">Ogre</span>官方论坛。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">随着<span lang="EN-US">Ogre</span>的更新，现在<span lang="EN-US">Ogre</span>已经发布了<span lang="EN-US">1.4.7</span>，<span lang="EN-US">1.4</span>系列版本有一个重要的改进，就是加入了<span lang="EN-US">UTFString</span>，这为<span lang="EN-US">Ogre</span>中文显示予以很大的帮助。为了便于演示，我直接使用<span lang="EN-US">Ogre</span>自带的<span lang="EN-US">Overlay</span>，也就是大家熟悉的<span lang="EN-US">DebugOverlay</span>，测试工程我选择<span lang="EN-US">Demo_ParticleFX</span>，选择其他的也没有关系。现在编译它，运行后得到下图：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-no-proof: yes"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></span><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span style="font-family: '微软雅黑','sans-serif'"><img height="634" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/Ogre/overlay_eng.JPG" width="808" border="0" /><br />
图的最左下角显示的就是英文<span lang="EN-US">DebugOverlay</span>，接下来我们的任务就是把它编程中文的，<span lang="EN-US">^_^</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-indent: 21pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">Overlay</span><span style="font-family: '微软雅黑','sans-serif'">中文化操作步骤如下<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 0; mso-list: l0 level1 lfo1" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑"><span style="mso-list: Ignore">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: '微软雅黑','sans-serif'">打开<span lang="EN-US">OgreSDK\media\packs\</span></span><span lang="EN-US"> </span><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">OgreCore.zip</span><span style="font-family: '微软雅黑','sans-serif'">。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 0; mso-list: l0 level1 lfo1" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑"><span style="mso-list: Ignore">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: '微软雅黑','sans-serif'">打开<span lang="EN-US">C:\WINDOWS\Fonts</span>，把<span lang="EN-US">simhei.ttf</span>添加到<span lang="EN-US">OgreCore.zip</span>，（什么，没有<span lang="EN-US">simhei.ttf</span>这个文件，那就还其他的中文<span lang="EN-US">ttf</span>字体吧）。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 0; mso-list: l0 level1 lfo1" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑"><span style="mso-list: Ignore">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: '微软雅黑','sans-serif'">打开<span lang="EN-US">OgreCore.zip</span>中的<span lang="EN-US">Ogre.fontdef</span>，里面有<span lang="EN-US">BlueHighway</span>这个字体定义块，在他的下面添加我们的<span lang="EN-US">SimHei</span>，<span lang="EN-US">code_points</span>里面的一大堆数字看不明白没关系，随后文章会解释。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">SimHei<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">{<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>type <span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>truetype<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>source <span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>simhei.ttf<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>size <span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>16<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>resolution <span style="mso-tab-count: 1">&nbsp; </span>96<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>code_points 33-166 24403-24403 21069-21069 24103-24103 36895-36895 29575-29575 24179-24179 22343-22343 26368-26368 39640-39640 20302-20302 19977-19977 35282-35282 24418-24418 25968-25968 37327-37327 25209-25209 27425-27425 <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 4.0gd" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">}<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 0; mso-list: l0 level1 lfo1" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑"><span style="mso-list: Ignore">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: '微软雅黑','sans-serif'">打开<span lang="EN-US">OgreCore.zip</span>中的<span lang="EN-US">OgreDebugPanel.overlay</span>，把<span lang="EN-US">BlueHighway</span>全部替换成<span lang="EN-US">SimHei</span>，我们要使用中文字体了，嘿嘿。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 0; mso-list: l0 level1 lfo1" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑"><span style="mso-list: Ignore">5.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: '微软雅黑','sans-serif'">修改完成后，确保所做的修改已经保存到<span lang="EN-US">OgreCore.zip</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 0; mso-list: l0 level1 lfo1" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑"><span style="mso-list: Ignore">6.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: '微软雅黑','sans-serif'">进入<span lang="EN-US">Ogre</span>解决方案，打开文件<span lang="EN-US">ExampleFrameListener.h</span>，把<span lang="EN-US">54-59</span>行的代码替换如下：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> String currFps = <span style="color: #a31515">"Current FPS: "</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> String avgFps = <span style="color: #a31515">"Average FPS: "</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> String bestFps = <span style="color: #a31515">"Best FPS: "</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> String worstFps = <span style="color: #a31515">"Worst FPS: "</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> String tris = <span style="color: #a31515">"Triangle Count: "</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> String batches = <span style="color: #a31515">"Batch Count: "</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> DisplayString currFps = L<span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">当前帧速率<span lang="EN-US">: "</span></span><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> DisplayString avgFps = L<span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">平均帧速率<span lang="EN-US">: "</span></span><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> DisplayString bestFps = L<span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">最高帧速率<span lang="EN-US">: "</span></span><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> DisplayString worstFps = L<span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">最低帧速率<span lang="EN-US">: "</span></span><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> DisplayString tris = L<span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">三角形数量<span lang="EN-US">: "</span></span><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">static</span> DisplayString batches = L<span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">批次<span lang="EN-US">: "</span></span><span lang="EN-US" style="font-size: 9pt; font-family: '微软雅黑','sans-serif'; mso-no-proof: yes; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">;</span><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 0; mso-list: l0 level1 lfo1" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑"><span style="mso-list: Ignore">7.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: '微软雅黑','sans-serif'">最后重新编译工程，下面是我运行的截图，是不是已经显示中文了，<span lang="EN-US">^_^</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1"><img height="634" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/Ogre/overlay_chinese.JPG" width="808" border="0" /><br />
</span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span style="font-size: 10.5pt; font-family: '微软雅黑','sans-serif'; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">现在再来看看<span lang="EN-US">SimHei</span>中的<span lang="EN-US">code_points</span>是如何生成的，这个可以参考我上次写的这篇文章<span lang="EN-US"><a href="http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189795.html">http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189795.html</a></span>，至此，实现<span lang="EN-US">Overlay</span>中文显示。</span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span style="font-family: '微软雅黑','sans-serif'">转载请注明出处：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span style="font-family: '微软雅黑','sans-serif'">作者：<span lang="EN-US">gogoplayer<o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">E-mail : gogoplayer@163.com<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">QQ : 78939328<o:p></o:p></span></p>
<span lang="EN-US" style="font-size: 10.5pt; font-family: 'Calibri','sans-serif'; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"><a href="http://www.gogoplayer.com.cn/"><span style="font-family: '微软雅黑','sans-serif'">http://www.gogoplayer.com.cn</span></a></span>
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/1189874.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41940/" target="_blank">[新闻]惠普139亿美元完成对EDS的收购</a>]]></description></item><item><title>Ogre字体code_points生成工具</title><link>http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189795.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Fri, 09 May 2008 05:03:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189795.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/1189795.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189795.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/1189795.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/1189795.html</trackback:ping><description><![CDATA[<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">今天在做Ogre中文显示时，遇到了Ogre字体code_points生成问题，下面来看一下我使用的黑体定义。</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">SimHei</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">{</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; truetype</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; simhei.ttf</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resolution &nbsp;96</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; code_points 33-166 24403-24403 21069-21069 24103-24103 36895-36895 29575-29575 24179-24179 22343-22343 26368-26368 39640-39640 20302-20302 19977-19977 35282-35282 24418-24418 25968-25968 37327-37327 25209-25209 27425-27425 </span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">}</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">字体code_points就是你要使用的Unicode字符编码，例如&#8216;当&#8217;这个字的编码用16进制表示是5F53，转换成10进制就是24403，在Ogre字体定义中使用的是10进制，根据Ogre字体定义文档的描述，这个&#8216;当&#8217;字需要在文件中描述成这样24403-24403，你可以到<a href="http://www.chi2ko.com/tool/CJK.htm">http://www.chi2ko.com/tool/CJK.htm</a>查看每个字符对应的编码。</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'">为了自动生成Ogre字体code_points，网上转了一圈没有找到合适的软件，那就自己动手吧，软件界面如下：<br />
</span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'"><img height="468" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/Ogre/codepoint_app_ui.JPG" width="704" border="0" /><br />
&nbsp;&nbsp;&nbsp;&nbsp;软件中分隔线以上是单字符转换，对应上述网站的编码查找功能；分隔线以下是字符串转换，可以用他来生成Ogre字体需要的code_points格式。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a title="点击这里下载" href="/Files/gogoplayer/Ogre/UnicodeViewer.rar">点击这里下载</a>，注：软件需要.Net2.0 Framework。<br />
</span><span style="font-family: '微软雅黑','sans-serif'"></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US"><a href="http://www.gogoplayer.com.cn/"></a></span><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p>&nbsp; </p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span style="font-family: '微软雅黑','sans-serif'">转载请注明出处：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span style="font-family: '微软雅黑','sans-serif'">作者：<span lang="EN-US">gogoplayer<o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">E-mail : gogoplayer@163.com<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">QQ : 78939328<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><a href="http://www.gogoplayer.com.cn/">http://www.gogoplayer.com.cn/</a><o:p></o:p></span></p>
</o:p></span></span>
<p><span style="font-family: '微软雅黑','sans-serif'">&nbsp;</p>
<p style="text-indent: 21pt"><br />
<br />
</p>
</span>
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/1189795.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41940/" target="_blank">[新闻]惠普139亿美元完成对EDS的收购</a>]]></description></item><item><title>QuickGUI编辑器系列---从文件中读取并解析</title><link>http://www.cnblogs.com/gogoplayer/archive/2008/04/24/1169745.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Thu, 24 Apr 2008 10:14:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2008/04/24/1169745.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/1169745.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2008/04/24/1169745.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/1169745.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/1169745.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal" style="text-indent: 21pt; text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>QuickGUI</span><span style="font-family: '微软雅黑','sans-serif'">是<span lang="EN-US">Ogre</span>引擎下的一种用户界面，如果你使用的<span lang="EN-US">Ogre</span>，而<span lang="EN-US">Ogre</span>自带的<span lang="EN-US">Overlay</span>无法满足你的需求时，你可以考虑<span lang="EN-US">QuickGUI</span>，相对于<span lang="EN-US">CEGUI</span>，他小巧，并且完全基于<span lang="EN-US">Ogre</span>设计，这点比<span lang="EN-US">CEGUI</span>要好，但是没有<span lang="EN-US">CEGUI</span>支持那么多的控件，不过对于一般的用户，<span lang="EN-US">QuickGUI</span>提供的控件还是够用的，下面是<span lang="EN-US">QuickGUI</span>目前支持的控件『<span lang="EN-US">V0.97</span>版本』。</span><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></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 alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">Button&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />CheckBox&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />ComboBox&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Console&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Image&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Label&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />List&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />ListItem&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Menu&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />MenuList&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />NStateButton&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Panel&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />ProgressBar&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />RadioButton&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Sheet&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />TextBox&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />TrackBar&nbsp;(Horizontal</span><span style="color: #000000">/</span><span style="color: #000000">Vertical)&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />ScrollBar&nbsp;(Horizontal</span><span style="color: #000000">/</span><span style="color: #000000">Vertical)&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Window&nbsp;(with&nbsp;TitleBar)</span></div>
<p class="MsoNormal" style="text-align: left" align="left"></o:p></span>&nbsp;</p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; text-align: left" align="left"><span style="font-family: '微软雅黑','sans-serif'">目前<span lang="EN-US">QuickGUI</span>编辑器还没有开始做，主要是想使用<span lang="EN-US">C</span>＃来做<span lang="EN-US">UI</span>，<span lang="EN-US">C</span>＋＋只负责解析，这样的话会比较容易，虽然<span lang="EN-US">C</span>＃<span lang="EN-US">UI</span>那部分要重写读取和保存模块，比直接用<span lang="EN-US">C</span>＋＋多了一个步骤，但是<span lang="EN-US">C</span>＃开发<span lang="EN-US">UI</span>的简便还是让我选择了这样做。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: '微软雅黑','sans-serif'">了解了这些，就可以知道，现在一定先做<span lang="EN-US">C</span>＋＋的<span lang="EN-US">XML</span>解析部分，现在让我们把目光集中在<span lang="EN-US">QuickGUI XML</span>的文件格式上。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><span style="mso-tab-count: 1"></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"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">QuickGUILayout&nbsp;</span><span style="color: #ff0000">ActiveSheet</span><span style="color: #0000ff">="MainSheet"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Widget&nbsp;</span><span style="color: #ff0000">Type</span><span style="color: #0000ff">="Sheet"</span><span style="color: #ff0000">&nbsp;Name</span><span style="color: #0000ff">="MainSheet"</span><span style="color: #ff0000">&nbsp;Skin</span><span style="color: #0000ff">="qgui"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Widget&nbsp;</span><span style="color: #ff0000">Type</span><span style="color: #0000ff">="Window"</span><span style="color: #ff0000">&nbsp;Name</span><span style="color: #0000ff">="MainWindow"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Property&nbsp;</span><span style="color: #ff0000">Dimension</span><span style="color: #0000ff">="10&nbsp;10&nbsp;320&nbsp;180"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Widget</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Widget&nbsp;</span><span style="color: #ff0000">Type</span><span style="color: #0000ff">="Window"</span><span style="color: #ff0000">&nbsp;Name</span><span style="color: #0000ff">="TestWindow"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Property&nbsp;</span><span style="color: #ff0000">Dimension</span><span style="color: #0000ff">="10&nbsp;220&nbsp;320&nbsp;180"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Widget</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Widget</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">QuickGUILayout</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></div>
<p class="MsoNormal" style="text-align: left" align="left"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>xml</span><span style="font-family: '微软雅黑','sans-serif'">解析使用了<span lang="EN-US">tinyXML</span>库，目前只支持<span lang="EN-US">Sheet</span>和<span lang="EN-US">Window</span>，以后会逐渐增加对其他控件的支持，其它的控件格式是类似的，<span lang="EN-US">XML</span>文件描述很简单，下面放上一张截图：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'; mso-no-proof: yes"><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype></span><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p>&nbsp;<img height="634" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/Ogre/qguiScreenShoot0.JPG" width="808" border="0" /></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span style="font-family: '微软雅黑','sans-serif'">最后再简单说一下<span lang="EN-US">QuickGUI</span>的事件绑定和注入：</span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">QuickGUI</span><span style="font-family: '微软雅黑','sans-serif'">支持事件绑定，用法和<span lang="EN-US">CEGUI</span>类似：<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
</span></span></span></p>
<p class="MsoNormal" style="text-align: left" align="left">&nbsp;</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"><span style="color: #008080">1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mCloseButton</span><span style="color: #000000">-&gt;</span><span style="color: #000000">addEventHandler(QuickGUI::EVENT_MOUSE_CLICK,</span><span style="color: #000000">&amp;</span><span style="color: #000000">Window::hide,dynamic_cast</span><span style="color: #000000">&lt;</span><span style="color: #000000">Window</span><span style="color: #000000">*&gt;</span><span style="color: #000000">(mParentWidget));&nbsp;<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mCloseButton</span><span style="color: #000000">-&gt;</span><span style="color: #000000">addEventHandler(QuickGUI::EVENT_MOUSE_BUTTON_UP,</span><span style="color: #000000">&amp;</span><span style="color: #000000">Window::hide,dynamic_cast</span><span style="color: #000000">&lt;</span><span style="color: #000000">Window</span><span style="color: #000000">*&gt;</span><span style="color: #000000">(mParentWidget));&nbsp;<br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></div>
<p class="MsoNormal" style="text-align: left" align="left">&nbsp;</p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">QuickGUI</span><span style="font-family: '微软雅黑','sans-serif'">可以和<span lang="EN-US">OIS</span>共用，支持注入：<br />
<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><o:p>&nbsp;</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"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectChar(</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;c);&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectKeyDown(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;KeyCode</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;kc);&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectKeyUp(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;KeyCode</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;kc);&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectMouseButtonDown(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;MouseButtonID</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;button);&nbsp;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectMouseButtonUp(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;MouseButtonID</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;button);&nbsp;<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectMouseLeaves(</span><span style="color: #0000ff">void</span><span style="color: #000000">);&nbsp;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectMouseMove(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;xPixelOffset,&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;yPixelOffset);&nbsp;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectMousePosition(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;xPixelPosition,&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;yPixelPosition);&nbsp;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;injectMouseWheelChange(</span><span style="color: #0000ff">float</span><span style="color: #000000">&nbsp;delta);&nbsp;<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;injectTime(Ogre::Real&nbsp;time);&nbsp;&nbsp;<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></div>
<p class="MsoNormal" style="text-align: left" align="left">&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><a href="http://www.ogre3d.org/phpBB2addons/viewforum.php?f=13&amp;sid=34f06b6dbda0da66ea952c938bb744e9"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">QuickGUI</span><span style="font-family: '微软雅黑','sans-serif'">官方论坛</span></a></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'"><a href="http://petwars.net/downloads/QuickGUIv0.9.7.zip"><span lang="EN-US" style="font-family: '微软雅黑','sans-serif'">QuickGUI</span><span style="font-family: '微软雅黑','sans-serif'">下载地址</span></a></span><span style="font-family: '微软雅黑','sans-serif'"><br />
<br />
<span style="font-size: 10.5pt; font-family: '微软雅黑','sans-serif'; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><a href="http://www.cnblogs.com/Files/gogoplayer/Ogre/QuickGUIDemo.rar"><span style="font-size: 10.5pt; font-family: '微软雅黑','sans-serif'; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">从文件中读取并解析代码</span></a></span></span></p>
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/1169745.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41939/" target="_blank">[新闻]搜狗五笔输入法发布</a>]]></description></item><item><title>翻译前言</title><link>http://www.cnblogs.com/gogoplayer/archive/2008/04/21/1164332.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Mon, 21 Apr 2008 10:17:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2008/04/21/1164332.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/1164332.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2008/04/21/1164332.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/1164332.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/1164332.html</trackback:ping><description><![CDATA[<p align="left"><font face="Verdana">Shawn Hargreaves Blog</font>的blog对我很有帮助，翻译高手的文章，诚惶诚恐，一定做到认真仔细，保持原汁原味，基于外语和水平的限制，难免会有纰漏，到时还望各位指正。</p>
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/1164332.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41938/" target="_blank">[新闻]新学年开始 大学生适用的十大互联网应用</a>]]></description></item><item><title>Lsge ---2D引擎介绍</title><link>http://www.cnblogs.com/gogoplayer/archive/2008/03/28/1127658.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Fri, 28 Mar 2008 06:42:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2008/03/28/1127658.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/1127658.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2008/03/28/1127658.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/1127658.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/1127658.html</trackback:ping><description><![CDATA[&nbsp;
<p style="text-align: center" align="center"><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">Lsge ---2D</span><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">引擎介绍</span></p>
<p><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lsge</span><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">全称为Light Shadow Game Engine，和Ogre有点像，因为这个2D引擎使用了很多Ogre的代码，因此得名。</span></p>
<p style="text-indent: 21pt"><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">引擎使用VS2005构建，支持Unicode，工程附带三个演示，可以帮助开发人员迅速了解，Lsge最大的特点是使用简单，内置了很多兼而易用的功能。</span></p>
<p><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lsge</span><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">是我大一、大二时的作品，设计的初衷是为了能快速写出小游戏，使开发者把注意力放在创造上，这个引擎的渲染效率不高，但是没有关系，引擎目标是小游戏，简单的演示，不是大规模游戏，在我设计期间，网络给了我所需要的大多数资料，让我有机会接触到Ogre，zlib，audiere，ois等巨人，有了他们的帮助，才有这个引擎的发展，引擎有完整的注释，文档比较完善。</span></p>
<p><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">很早就想开放Lsge，回报网络，只有开放才能避免固步自封，我始终认为我所了解的只是沧海一粟。在Lsge完成的很长一段时间里，我差点忘了他的存在，前几天我想起了他，认为我改写点东西，整理出来，让他不只是在我的硬盘中，这对一些开发者可能有帮助，发表出来，将让他重获新生，最后，再次感谢Ogre，zlib，audiere，ois等巨人，感谢网络，没有你们就没有Lsge。<br />
<br />
&nbsp;<span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>附上一张引擎演示图（^_^）：<br />
<img height="632" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/LsgeRender.JPG" width="806" border="0" /><br />
&nbsp; </p>
<p><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">附加说明：</span></p>
<p><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">选项配置：Lsge自带所需要的库，需要注意的是Lsge所需要的DX库需要特殊配置。<br />
<img height="356" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/LsgeIncludeConfig.JPG" width="644" border="0" /><br />
<img height="356" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/LsgeLibConfig.JPG" width="644" border="0" /><br />
&nbsp; </p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">项目属性配置：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: '微软雅黑','sans-serif'">需要把调试<span lang="EN-US">-&gt;</span>工作目录设为<span lang="EN-US">../Bin/$(ConfigurationName)<o:p></o:p></span></span></p>
<p><img height="461" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/ProjectWorkDocConfig.JPG" width="674" border="0" /><br />
<br />
VS2005版本较多，主要分为sp1和非sp1版本，配置比较麻烦，经常会出现应用程序没有初始化之类的错误，这些可以通过安装正确地库一一排除。<br />
<br />
Lsge下载：<br />
blog不支持大文件，还要分割成五份，麻烦啊。<br />
<a title="Lsge第一部分" href="/Files/gogoplayer/Lsge/Lsge.part01.rar">Lsge第一部分</a><br />
<a title="Lsge第二部分" href="/Files/gogoplayer/Lsge/Lsge.part02.rar">Lsge第二部分</a><br />
<a title="Lsge第三部分" href="/Files/gogoplayer/Lsge/Lsge.part03.rar">Lsge第三部分</a><br />
<a title="Lsge第四部分" href="/Files/gogoplayer/Lsge/Lsge.part04.rar">Lsge第四部分</a><br />
<a title="Lsge第五部分" href="/Files/gogoplayer/Lsge/Lsge.part05.rar">Lsge第五部分</a><br />
</span></p>
</span>
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/1127658.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41937/" target="_blank">[新闻]Google拟在9月发布自有浏览器 或采用火狐内核</a>]]></description></item><item><title>招人才</title><link>http://www.cnblogs.com/gogoplayer/archive/2008/01/24/1051627.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Thu, 24 Jan 2008 07:02:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2008/01/24/1051627.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/1051627.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2008/01/24/1051627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/1051627.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/1051627.html</trackback:ping><description><![CDATA[1：XNA2.0做UI，场景编辑工具，粒子编辑工具的3D人才<br />
2：场景布局策划，使用工具<br />
3：网络开发，服务器构架<br />
4：音频传输，网络大规模音频传输<br />
<br />
以上四个各招一人，招贤纳士啦<br />
<br />
公司：杭州汉宜信息技术有限公司<br />
工作地点：杭州滨江区恒生大楼301，303<br />
电话：0571－28937318<br />
QQ:78939328
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/1051627.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41936/" target="_blank">[新闻]微软正在构思将Wi-Fi带入汽车</a>]]></description></item><item><title>CEGUI字符串转换问题</title><link>http://www.cnblogs.com/gogoplayer/archive/2007/12/12/992647.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Wed, 12 Dec 2007 12:20:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2007/12/12/992647.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/992647.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2007/12/12/992647.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/992647.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/992647.html</trackback:ping><description><![CDATA[<font face="Courier New">CEGUI支持中文字体是不用说了，需要中文显示时所需的配置可以参见网络上其他相关文章，这里说得是字符串转换问题，应为CEGUI有自己的字符串类（CEGUI::String），显示时需要把char*转换为CEGUI::String，下面这个小算法可以实现这个功能，具体就不多说了，各位复制粘贴即可，^_^。</font><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><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">CEGUI::String</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;encode(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;c)<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_38_293_Open_Image" onclick="this.style.display='none'; Codehighlighter1_38_293_Open_Text.style.display='none'; Codehighlighter1_38_293_Closed_Image.style.display='inline'; Codehighlighter1_38_293_Closed_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_38_293_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_38_293_Closed_Text.style.display='none'; Codehighlighter1_38_293_Open_Image.style.display='inline'; Codehighlighter1_38_293_Open_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_38_293_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 alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_38_293_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;CEGUI::String&nbsp;str;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;WCHAR&nbsp;e;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;str.clear();<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&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;7</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(c[i])<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_117_277_Open_Image" onclick="this.style.display='none'; Codehighlighter1_117_277_Open_Text.style.display='none'; Codehighlighter1_117_277_Closed_Image.style.display='inline'; Codehighlighter1_117_277_Closed_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_117_277_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_117_277_Closed_Text.style.display='none'; Codehighlighter1_117_277_Open_Image.style.display='inline'; Codehighlighter1_117_277_Open_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_117_277_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 alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_117_277_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(unsigned&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">(c[i])</span><span style="color: #000000">&gt;=</span><span style="color: #000000">161</span><span style="color: #000000">)<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img id="Codehighlighter1_152_227_Open_Image" onclick="this.style.display='none'; Codehighlighter1_152_227_Open_Text.style.display='none'; Codehighlighter1_152_227_Closed_Image.style.display='inline'; Codehighlighter1_152_227_Closed_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_152_227_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_152_227_Closed_Text.style.display='none'; Codehighlighter1_152_227_Open_Image.style.display='inline'; Codehighlighter1_152_227_Open_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_152_227_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 alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_152_227_Open_Text"><span style="color: #000000">{&nbsp;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MultiByteToWideChar(</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">,c</span><span style="color: #000000">+</span><span style="color: #000000">i,</span><span style="color: #000000">2</span><span style="color: #000000">,</span><span style="color: #000000">&amp;</span><span style="color: #000000">e,</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str.append(</span><span style="color: #000000">1</span><span style="color: #000000">,e);<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000">+=</span><span style="color: #000000">2</span><span style="color: #000000">;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_239_274_Open_Image" onclick="this.style.display='none'; Codehighlighter1_239_274_Open_Text.style.display='none'; Codehighlighter1_239_274_Closed_Image.style.display='inline'; Codehighlighter1_239_274_Closed_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_239_274_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_239_274_Closed_Text.style.display='none'; Codehighlighter1_239_274_Open_Image.style.display='inline'; Codehighlighter1_239_274_Open_Text.style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_239_274_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 alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_239_274_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str.append(</span><span style="color: #000000">1</span><span style="color: #000000">,c[i]);<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;str;<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
 <img src ="http://www.cnblogs.com/gogoplayer/aggbug/992647.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41935/" target="_blank">[新闻]对比测试：IE8 Beta 2 VS Firefox 3.0.1</a>]]></description></item><item><title>HLSL小技巧</title><link>http://www.cnblogs.com/gogoplayer/archive/2007/12/03/980984.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Mon, 03 Dec 2007 05:59:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2007/12/03/980984.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/980984.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2007/12/03/980984.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/980984.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/980984.html</trackback:ping><description><![CDATA[<span style="font-family: 微软雅黑"><span style="font-size: 12pt">&nbsp; </span></span>
<p style="text-indent: 21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt"><span style="font-family: 宋体">研究</span>HLSL<span style="font-family: 宋体">也有些日子了，其中犯了很多错误，现将沿途所遇略作纪录，以次时刻提醒自己不要重蹈覆辙。</span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Effect<span style="font-family: 宋体">文件</span>(.fx)<span style="font-family: 宋体">是标准格式，要妥善利用其接口与应用程序通讯，理解语意（</span>Semantic<span style="font-family: 宋体">）和注释（</span>Annoation<span style="font-family: 宋体">）是关键。<br />
<img height="353" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/SAS.JPG" width="587" border="0" /><br />
</span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HLSL<span style="font-family: 宋体">指令集要倒背如流，切不可做出重写标准库的蠢事，当初我就写了一个</span></span></span><a href="mk:@MSITStore:D:"  dx_graphics_hlsl_distance.htm? Program%20Files?Microsoft%20DirectX%20SDK%20(August%202007)?Documentation?DirectX9?directx_sdk.chm::><span style="color: windowtext; text-decoration: none; text-underline: none"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">distance</span></span></a></span><span style="font-family: 微软雅黑"><span style="font-size: 12pt"><span style="font-family: 宋体">函数来求距离，熟不知标准库里早有这个函数，仔细一研究，标准库里不仅支持三维向量，其它的诸如二维也以考虑在内，汗</span>^_^<span style="font-family: 宋体">，完整的指令集可以参见</span>DX<span style="font-family: 宋体">帮助文件，路径为</span>DirectX Graphics-&gt;HLSL-&gt;Reference-&gt;Intrinsic Functions<span style="font-family: 宋体">。</span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">不仅指令既要倒背如流，还要注意指令的限制，尤其是</span>Shader Model<span style="font-family: 宋体">（</span>SM<span style="font-family: 宋体">），像</span>ddx<span style="font-family: 宋体">，</span>ddy<span style="font-family: 宋体">这样的指令是不能用在</span>Shader Model 1 <span style="font-family: 宋体">中的，这个我感觉是比较令人沮丧的事情，程序员的代码和逻辑都正确，却限制于硬件配置的问题，还好现在硬件发展迅速，</span>SM3.0<span style="font-family: 宋体">甚至</span>SM4.0<span style="font-family: 宋体">的显卡都已经进入主流市场，这些限制会逐渐消失的。具体的限制可以查看</span>DirectX Graphics-&gt;HLSL-&gt;Reference-&gt; Shader Models<span style="font-family: 宋体">。</span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">编译</span>Effect<span style="font-family: 宋体">的时候能用低配置的</span>Profile<span style="font-family: 宋体">就用低的，举例来说能用</span>vs_1_1<span style="font-family: 宋体">的就不要用</span>vs_2_0<span style="font-family: 宋体">，</span>ps<span style="font-family: 宋体">也是一样的道理，</span>Profile<span style="font-family: 宋体">选的越低，你的</span>Effect<span style="font-family: 宋体">兼容性就越好，如果不分清楚直接就用最高</span>Profile<span style="font-family: 宋体">，到了客户那因为显卡配置不够报错的概率就大了，至少我现在还没听说某款</span>PC<span style="font-family: 宋体">游戏只能在</span>SM4.0<span style="font-family: 宋体">下才能用，游戏机，测试程序自然不算了，以后没准等</span>SM5.0<span style="font-family: 宋体">都普及的时候，我这话也自然过时了</span>^_^<span style="font-family: 宋体">。</span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">5.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">在</span>VS<span style="font-family: 宋体">中计算屏幕坐标时要把坐标先转换成齐次坐标</span></span></span></p>
<p style="margin-left: 42pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">a)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">这样写是有问题的，</span>mul(input.Position, WorldViewTransform);</span></span></p>
<p style="margin-left: 42pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">b)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">要改成</span>mul(float4(input.Position,1), WorldViewTransform);</span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">6.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">文件最后一行要在最后加一个空格或一个空行，要不有时会有</span>error X3000: syntax error: unexpected end of file<span style="font-family: 宋体">，这样的错误信息，这种错误信息有时莫明其妙发生，例如在加了一条注释后，总之是在编写</span>Effect<span style="font-family: 宋体">的时候要格外小心谨慎。</span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">7.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">前几天还遇到了这样的错误，在</span>ps<span style="font-family: 宋体">中写了个</span>if<span style="font-family: 宋体">语句返回某种颜色，不料产生错误，错误信息如下</span>error X3500: asymetric returns from if statements not yet implemented<span style="font-family: 宋体">。现在把</span>Effect<span style="font-family: 宋体">文件内容张帖出来，为了搞清楚问题本质，我把不相关代码全部删除了，只留下必要地解释性代码。<span style="font-family: 宋体">一开始没注意看错误信息，以为是那里写错了，就几十行代码折腾半天不见好转，后来仔细看错误信息后才恍然大悟，原来是</span><font face="微软雅黑">Effect</font><span style="font-family: 宋体">编译器不支持这种</span><font face="微软雅黑">if</font><span style="font-family: 宋体">用法，虽然</span><font face="微软雅黑">HLSL</font><span style="font-family: 宋体">支持以</span><font face="微软雅黑">c</font><span style="font-family: 宋体">的语法来写</span><font face="微软雅黑">shader</font><span style="font-family: 宋体">，但毕竟和</span><font face="微软雅黑">c</font><span style="font-family: 宋体">还是有区别的，编译下面的代码就会得到上述错误信息，只要在第二个</span><font face="微软雅黑">return</font><span style="font-family: 宋体">前加</span><font face="微软雅黑">else</font><span style="font-family: 宋体">，使其成为一个</span><font face="微软雅黑">if</font><span style="font-family: 宋体">－</span><font face="微软雅黑">else</font><span style="font-family: 宋体">结构，编译自然通过。由此可见，写</span><font face="微软雅黑">shader</font><span style="font-family: 宋体">时</span><font face="微软雅黑">c</font><span style="font-family: 宋体">的观念在某些情况下要转变过来，如果一味以</span><font face="微软雅黑">c</font><span style="font-family: 宋体">的直观印象去评测，极有可能出现问题。<br />
<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"><span style="color: #008080">&nbsp;1</span><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #008000">//</span><span style="color: #008000">默认效果文件</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;flag&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />float4&nbsp;PS(float2&nbsp;pos&nbsp;:&nbsp;TEXCOORD0)&nbsp;:&nbsp;COLOR<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_71_136_Open_Image" onclick="this.style.display='none'; Codehighlighter1_71_136_Open_Text.style.display='none'; Codehighlighter1_71_136_Closed_Image.style.display='inline'; Codehighlighter1_71_136_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_71_136_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_71_136_Closed_Text.style.display='none'; Codehighlighter1_71_136_Open_Image.style.display='inline'; Codehighlighter1_71_136_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_71_136_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.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_71_136_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(flag)<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;float4(</span><span style="color: #000000">1</span><span style="color: #000000">,</span><span style="color: #000000">1</span><span style="color: #000000">,</span><span style="color: #000000">1</span><span style="color: #000000">,</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;float4(</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />technique&nbsp;Specular20<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_160_216_Open_Image" onclick="this.style.display='none'; Codehighlighter1_160_216_Open_Text.style.display='none'; Codehighlighter1_160_216_Closed_Image.style.display='inline'; Codehighlighter1_160_216_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_160_216_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_160_216_Closed_Text.style.display='none'; Codehighlighter1_160_216_Open_Image.style.display='inline'; Codehighlighter1_160_216_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_160_216_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.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_160_216_Open_Text"><span style="color: #000000">{&nbsp;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;pass&nbsp;P0<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_173_214_Open_Image" onclick="this.style.display='none'; Codehighlighter1_173_214_Open_Text.style.display='none'; Codehighlighter1_173_214_Closed_Image.style.display='inline'; Codehighlighter1_173_214_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_173_214_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_173_214_Closed_Text.style.display='none'; Codehighlighter1_173_214_Open_Image.style.display='inline'; Codehighlighter1_173_214_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_173_214_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.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_173_214_Open_Text"><span style="color: #000000">{&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;PS();<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<p style="margin-left: 21pt; text-indent: -21pt">&nbsp; </p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span style="font-size: 12pt; font-family: 微软雅黑"><span style="font-family: ; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">以上几点皆为个人经验小节，以后遇到再做补充，某些可能还有问题，不足之处请指出共勉。文章中提到的Effect文件可以在这里下载。<a style="font-family: " href="http://www.cnblogs.com/Files/gogoplayer/HLSL/Test.rar">/Files/gogoplayer/HLSL/Test.rar</a></span><br style="font-family: " />
</span></span><br />
<a id="gogoplayer" name="gogoplayer"></a><br />
<br />
</span></span></span></span></p>
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/980984.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41934/" target="_blank">[新闻]iPhone存在严重密码安全漏洞</a>]]></description></item><item><title>在XNA中使用panda插件导出的.X文件注意事项</title><link>http://www.cnblogs.com/gogoplayer/archive/2007/11/27/973669.html</link><dc:creator>gogoplayer</dc:creator><author>gogoplayer</author><pubDate>Tue, 27 Nov 2007 02:18:00 GMT</pubDate><guid>http://www.cnblogs.com/gogoplayer/archive/2007/11/27/973669.html</guid><wfw:comment>http://www.cnblogs.com/gogoplayer/comments/973669.html</wfw:comment><comments>http://www.cnblogs.com/gogoplayer/archive/2007/11/27/973669.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/gogoplayer/comments/commentRss/973669.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gogoplayer/services/trackbacks/973669.html</trackback:ping><description><![CDATA[<span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">&nbsp; </span></span></span></span></span></span></span></span></span>
<p style="text-align: left" align="left"><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">最近在使用.X文件时遇到了很多问题，主要集中在用panda插件导出的模型总是出现模型朝向不正确，模型比例出错等问题。</span></span></span></span></span></span></span></span></span></span></p>
<p style="text-align: left" align="left"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt"><span style="font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: '微软雅黑','sans-serif'">引起这些问题的原因很多，先说说坐标系，XNA采用右手坐标系，3dsmax也采用右手坐标系，这是一样的，但是不要忘了，当我们使用DXSDK自带的模型查看器观察模型的时候，D3D用的可是左手坐标系，而panda作为.X文件导出器，自然对D3D的坐标系格外照顾，这样看起来问题有一些复杂，好在我们不需要纠缠这些，只要对上述坐标系有个数就可以了。</span></span></span></span></span></span></span></span></span></span></p>
<p style="text-align: left" align="left"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt"><span style="font-family: '微软雅黑','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: '微软雅黑','sans-serif'">因为XNA和3dsmax的坐标系相同，都是右手坐标系，这样就好办了。不过要是你认为只需要把坐标系一一对应再导出就可以了，那你就错了，仔细看看3dsmax的坐标系，你会发现他的Z是朝上的，美工建模时采用的都是这种坐标系，也就是说和我们平时常用的以Y为上向量不符，晕了吧，不要着急，下面就将关键的，嘿嘿。</span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt; text-align: left" align="left"><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span></span></span></span></span></span></span></span><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">通过Alt加鼠标拖动3dsmax世界系，使得X轴指向左边，Y正对着你，Z朝上。<br />
</span></span></span></span></span></span></span></span></span></span></p>
<p style="text-align: left" align="left"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt"><span style="font-family: '微软雅黑','sans-serif'"><img height="327" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/pandaAxis.JPG" width="558" border="0" /><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: '微软雅黑','sans-serif'">上图中左下角就是3dsmax世界坐标系，中间有个模型，这个模型的红绿蓝三轴分别对应了XNA中的世界X，Y，Z轴，即这个模型导出后加载到XNA显示的就是XNA的世界坐标系。明白了吧，这样我们只要让美工按照这个3dsmax坐标系建模就可以了，下面说panda导出参数的设置。</span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt"><span style="font-family: '微软雅黑','sans-serif'">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: '微软雅黑','sans-serif'">主要修改两处</span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left: 42pt; text-indent: -21pt"><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">a)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span></span></span></span></span></span></span></span><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">确认3DS Max Objects页中的Use local object space没有被钩选<br />
<img height="330" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/pandaExport1.JPG" width="519" border="0" /><br />
</span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left: 42pt; text-indent: -21pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">b)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span></span></span></span></span></span></span><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">确认X File Settings页中的Left Handed Axis被钩选<br />
<img height="330" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/pandaExport2.JPG" width="520" border="0" /><br />
</span></span></span></span></span></span></span></span></span></span></p>
<p style="text-indent: 21pt"><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt">经过这样的处理就大功告成了，你可能会迷惑，命名XNA是右手坐标系，为什么要选择左手坐标系导出呢？其实道理很简单，为了兼容性，.X不是微软为了XNA而设计的，他出现的比XNA早的多，都可以当XNA的爷爷了，.X本来是针对D3D开发的，而D3D默认的是左手坐标系，因此.X文件也采用左手坐标系，这时你可能又要问，那为什么左手坐标系导出的.X文件可以在XNA正确使用呢，解铃还需系铃人，答案在微软的素材导入器中，XNA默认提供的.X导入器会在那个阶段自动把左手坐标系转换成XNA支持的右手坐标系，这样不就皆大欢喜了，^_^。打开微软自带的.X模型浏览器，看起来应该是这样的：<br />
</span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left: 21pt; text-indent: 0cm"><span style="font-family: '微软雅黑','sans-serif'"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: 宋体"><span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-family: 微软雅黑"><span style="font-size: 12pt"><img height="472" alt="" src="http://www.cnblogs.com/images/cnblogs_com/gogoplayer/pandaExport3.JPG" width="552" border="0" /><br />
把模型加入到XNA中去看看吧，你会有新的收获。</span></span></span></span></span></span></span></span></span></span></p>
<img src ="http://www.cnblogs.com/gogoplayer/aggbug/973669.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41931/" target="_blank">[新闻]GC2008：星际争霸2进程报告 微调进程延续</a>]]></description></item></channel></rss>