﻿<?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>IT博客-小祥的BLOG-随笔分类-CEGUI</title><link>http://www.cnitblog.com/xfxsworld/category/6522.html</link><description>游戏开发</description><language>zh-cn</language><lastBuildDate>Sun, 02 Oct 2011 04:33:40 GMT</lastBuildDate><pubDate>Sun, 02 Oct 2011 04:33:40 GMT</pubDate><ttl>60</ttl><item><title>vs2005环境下CELayoutEditor源码编译详细步骤</title><link>http://www.cnitblog.com/xfxsworld/archive/2007/11/16/36385.html</link><dc:creator>小祥</dc:creator><author>小祥</author><pubDate>Fri, 16 Nov 2007 12:37:00 GMT</pubDate><guid>http://www.cnitblog.com/xfxsworld/archive/2007/11/16/36385.html</guid><wfw:comment>http://www.cnitblog.com/xfxsworld/comments/36385.html</wfw:comment><comments>http://www.cnitblog.com/xfxsworld/archive/2007/11/16/36385.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnitblog.com/xfxsworld/comments/commentRss/36385.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xfxsworld/services/trackbacks/36385.html</trackback:ping><description><![CDATA[今天初试了一下CEGUI的官方编辑器——CELayoutEditor，其过程真可谓&#8220;饱受挫折&#8221;<img height=20 src="http://www.cnitblog.com/Emoticons/QQ/13.gif" width=20 border=0>。现简要写下其源码的编译过程，已使可能会用到的朋友少走些弯路<br><br>1.&nbsp;&nbsp;&nbsp;&nbsp;要编译CELayoutEditor，自然需要先编译CEGUI的东东，有2种选择：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.1 安装SDK，这是下载地址：<a href="http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-SDK-0.5.0b-vc8.exe">http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-SDK-0.5.0b-vc8.exe</a>，不过并不推荐这种方法，因为SDK里的debug版dll似乎有问题。。。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.2 编译其源代码。下载地址：<a href="http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-0.5.0b.zip">http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-0.5.0b.zip</a>，另外还需要下载依赖文件包dependencies package ，下载地址是：<a href="http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-DEPS-0.5.0b-vc8.zip">http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-DEPS-0.5.0b-vc8.zip</a>，然后将依赖文件解压进源代码文件夹就OK了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.2.1&nbsp;&nbsp; 先别急着找solution，有个地方需要注意。CEGUI默认的是OPENGL渲染，如果是用D3D的话还得改一个地方。进..\makefiles\premake文件夹找到config.lua文件，记事本打开。改成&#8220;OPENGL_RENDERER = false，DIRECTX9_RENDERER = true&#8221;，保存。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.2&nbsp;&nbsp;&nbsp; 运行build_vs2005.bat文件，执行完毕后会生成CEGUI.sln文件，打开就可直接编译了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.3&nbsp;&nbsp; 建立环境变量：我的电脑\属性\高级\环境变量，然后在上面的用户变量区新建一个，变量名是CEGUI，变量值是CEGUI的解压目录。注意这步不能省<br><br><br>2&nbsp;&nbsp;&nbsp; 由于CELayoutEditor使用了wxWidgets，所以在编译CELayoutEditor之前还需要下载wxWidgets。目前最新版本是2.86，进入官方下载网页<a href="http://www.wxwidgets.org/downloads/">http://www.wxwidgets.org/downloads/</a>&nbsp;选择WxAll下载。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.1 建立环境变量：我的电脑\属性\高级\环境变量，然后在上面的用户变量区新建一个，变量名是WXWIDGETS，变量值是wxWidgets的解压目录。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.2&nbsp; 进wxWidgets的解压目录找到<font size=2>wx.dsw，打开、&#8220;Yes To All&#8221;转换。转换完毕后先别编译，还需要改下。因为<font size=3>wxWidgets默认并不是OPENGL</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"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Open&nbsp;$(WXWIDGETS)\include\wx\msw\setup.h&nbsp;and&nbsp;replace&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Code:&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;0&nbsp;&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>WITH&nbsp;Code:&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;1&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">7.2</span><span style="COLOR: #000000">&nbsp;Open&nbsp;$(WXWIDGETS)\include\wx\univ\setup.h&nbsp;and&nbsp;replace&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Code:&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#if</span><span style="COLOR: #000000">&nbsp;defined(__WIN32__)&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;1&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;0&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>WITH&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Code:&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;1&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.3&nbsp;&nbsp;&nbsp; 现在就可以开始编译了。注意要选择&#8220;Unicode Debug&#8221;和&#8220;'Unicode Release&#8221;方式<br><br>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下载CELayoutEditor。我是用SVN接的，地址是 <a class=postlink href="https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk" target=_blank><font color=#006699>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk</font></a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.1&nbsp;&nbsp;&nbsp; 解压后打开工程，将Include和Lib路径改成自己的，其他的不用改<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.2&nbsp;&nbsp;&nbsp;&nbsp;建立环境变量：我的电脑\属性\高级\环境变量，然后在上面的用户变量区新建一个，变量名是CE_LAYOUT_EDITOR ，变量值是CELayoutEditor的解压目录。注意这步不能省<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.3&nbsp;&nbsp;&nbsp; 终于可以开始编译了。。。<img height=20 src="http://www.cnitblog.com/Emoticons/QQ/11.gif" width=20 border=0><br><br>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.1&nbsp;&nbsp;&nbsp; 编译会出现一个错误，暂时我还没找到解决方法，仅仅是给错误的地方注释掉了。。。然后就编译成功了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.2&nbsp;&nbsp;&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"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">TO&nbsp;$(CE_LAYOUT_EDITOR)\bin\debug&nbsp;(Debug&nbsp;configuration)&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIBase_d.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIExpatParser_d.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIFalagardWRBase_d.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUISILLYImageCodec_d.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUITGAImageCodec_d.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;OpenGLGUIRenderer_d.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;SILLY_d.dll<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>TO&nbsp;$(CE_LAYOUT_EDITOR)\bin\release&nbsp;(Release&nbsp;configuration)&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIBase.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIExpatParser.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIFalagardWRBase.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUISILLYImageCodec.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUITGAImageCodec.dll&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;OpenGLGUIRenderer.dll<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;SILLY.dll</span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.3 SILLY.dll和SILLY_d.dll在依赖文件夹里<br><br>OK。。。到这里就完了，虽然这个工具的bug很多，不过不怕，编译它就是为了要改造它，呵呵。希望此文对你有所帮助<img height=20 src="http://www.cnitblog.com/Emoticons/QQ/13.gif" width=20 border=0><br><br>开启画面<br><img style="WIDTH: 768px; HEIGHT: 565px" height=565 src="http://www.cnitblog.com/images/cnitblog_com/xfxsworld/splash.jpg" width=768 border=0><br><br><br>运行界面<br><img style="WIDTH: 815px; HEIGHT: 600px" height=600 src="http://www.cnitblog.com/images/cnitblog_com/xfxsworld/layout.jpg" width=815 border=0><br></p>
</font>
<img src ="http://www.cnitblog.com/xfxsworld/aggbug/36385.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xfxsworld/" target="_blank">小祥</a> 2007-11-16 20:37 <a href="http://www.cnitblog.com/xfxsworld/archive/2007/11/16/36385.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>恢复CEGUI渲染状态</title><link>http://www.cnitblog.com/xfxsworld/archive/2007/11/15/36330.html</link><dc:creator>小祥</dc:creator><author>小祥</author><pubDate>Thu, 15 Nov 2007 12:22:00 GMT</pubDate><guid>http://www.cnitblog.com/xfxsworld/archive/2007/11/15/36330.html</guid><wfw:comment>http://www.cnitblog.com/xfxsworld/comments/36330.html</wfw:comment><comments>http://www.cnitblog.com/xfxsworld/archive/2007/11/15/36330.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/xfxsworld/comments/commentRss/36330.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xfxsworld/services/trackbacks/36330.html</trackback:ping><description><![CDATA[
		<p>刚刚接触CEGUI，在原D3D程序上画了一个小窗口后，发现渲染效果于以前的大相径庭，查看了源代码后发现，原来CEGUI在渲染后并没有恢复到默认的渲染状态，于是改之，再编译、运行、一切正常。。。<img height="20" src="http://www.cnitblog.com/Emoticons/QQ/14.gif" width="20" border="0" /><br /><br />下面是恢复其渲染状态的代码，与初始化渲染状态函数initPerFrameStates()对应</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 src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> DirectX9Renderer::UnitFrameStates()<br /></span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_44_1575_Open_Image" onclick="this.style.display='none'; Codehighlighter1_44_1575_Open_Text.style.display='none'; Codehighlighter1_44_1575_Closed_Image.style.display='inline'; Codehighlighter1_44_1575_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_44_1575_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_44_1575_Closed_Text.style.display='none'; Codehighlighter1_44_1575_Open_Image.style.display='inline'; Codehighlighter1_44_1575_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_44_1575_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.cnitblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_44_1575_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080"> 3</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> setup vertex stream</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080"> 4</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080"> 5</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetFVF(NULL);<br /></span>
						<span style="COLOR: #008080"> 6</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080"> 7</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> set device states</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080"> 8</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);<br /></span>
						<span style="COLOR: #008080"> 9</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);<br /></span>
						<span style="COLOR: #008080">10</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);<br /></span>
						<span style="COLOR: #008080">11</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_ZWRITEENABLE, TRUE);<br /></span>
						<span style="COLOR: #008080">12</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_FOGENABLE, FALSE);<br /></span>
						<span style="COLOR: #008080">13</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);<br /></span>
						<span style="COLOR: #008080">14</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">15</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">16</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> setup texture addressing settings/*</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">17</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetSamplerState( </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP);<br /></span>
						<span style="COLOR: #008080">18</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetSamplerState( </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP);<br /></span>
						<span style="COLOR: #008080">19</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">20</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> setup colour calculations</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">21</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetTextureStageState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DTSS_COLORARG1, D3DTA_TEXTURE);<br /></span>
						<span style="COLOR: #008080">22</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetTextureStageState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DTSS_COLORARG2, D3DTA_CURRENT);<br /></span>
						<span style="COLOR: #008080">23</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetTextureStageState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DTSS_COLOROP, D3DTOP_SELECTARG1);<br /></span>
						<span style="COLOR: #008080">24</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">25</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> setup alpha calculations</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">26</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetTextureStageState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);<br /></span>
						<span style="COLOR: #008080">27</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetTextureStageState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DTSS_ALPHAARG2, D3DTA_CURRENT);<br /></span>
						<span style="COLOR: #008080">28</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetTextureStageState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);<br /></span>
						<span style="COLOR: #008080">29</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">30</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> setup filtering</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">31</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetSamplerState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DSAMP_MINFILTER, D3DTEXF_POINT);<br /></span>
						<span style="COLOR: #008080">32</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetSamplerState(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, D3DSAMP_MAGFILTER, D3DTEXF_POINT);<br /></span>
						<span style="COLOR: #008080">33</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">34</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> disable texture stages we do not need.</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">35</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetTextureStageState(</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">, D3DTSS_COLOROP, D3DTOP_DISABLE);<br /></span>
						<span style="COLOR: #008080">36</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">37</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> setup scene alpha blending</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">38</span>
						<span style="COLOR: #008000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);<br /></span>
						<span style="COLOR: #008080">39</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);<br /></span>
						<span style="COLOR: #008080">40</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     d_device</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO);</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">42</span>
						<span style="COLOR: #000000">
								<img src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
		<br />另外CEGUI有2种渲染模式：立即渲染和缓冲渲染。所以在这2种渲染模式结束后都需要调用上面的代码以恢复渲染状态<img src ="http://www.cnitblog.com/xfxsworld/aggbug/36330.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xfxsworld/" target="_blank">小祥</a> 2007-11-15 20:22 <a href="http://www.cnitblog.com/xfxsworld/archive/2007/11/15/36330.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>