<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
  <channel>
    <title><![CDATA[Azure Product]]></title> 
    <link>http://www.azure.com.cn/</link> 
    <description><![CDATA[游戏技术,实时渲染技术]]></description> 
    <language>en</language> 
    <copyright><![CDATA[Copyright 2010, Azure Product]]></copyright> 
    <webMaster><![CDATA[azureyes@163.com (azure)]]></webMaster> 
    <generator>LBS v2.0.302</generator> 
    <pubDate>Tu, 09 Feb 2010 18:40:58 +0800</pubDate> 
    <ttl>60</ttl>
  
    <item>
      <title><![CDATA[关于解决在多字节MFC程序时，界面不是XP风格的问题]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=424]]></link> 
      <category><![CDATA[3D Dreams]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>We, 27 Jan 2010 12:06:23 +0800</pubDate> 
      <description><![CDATA[一直有这个问题困扰着我，今天我找到了一个解决方案。<br /><br />在stdafx.h中<div class="quote"><div class="quote-title"> <u></u></div><div class="quote-content">#ifdef _UNICODE<br />#if defined _M_IX86<br />#pragma comment(linker,&quot;/manifestdependency:\&quot;type=&#39;win32&#39; name=&#39;Microsoft.Windows.Common-Controls&#39; version=&#39;6.0.0.0&#39; processorArchitecture=&#39;x86&#39; publicKeyToken=&#39;6595b64144ccf1df&#39; language=&#39;*&#39;\&quot;&quot;)<br />#elif defined _M_IA64<br />#pragma comment(linker,&quot;/manifestdependency:\&quot;type=&#39;win32&#39; name=&#39;Microsoft.Windows.Common-Controls&#39; </div></div>]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=424]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[OpenMP 简单示例]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=423]]></link> 
      <category><![CDATA[C/C++]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Fr, 22 Jan 2010 22:32:37 +0800</pubDate> 
      <description><![CDATA[OpenMP是一个支持共享存储并行设计的库，特别适宜多核CPU上的并行程序设计。今天在双核CPU机器上试了一下OpenMP并行程序设计，发现效率方面超出想象，因此写出来分享给大家。<br /> <br />在VC8.0中项目的属性对话框中，左边框里的“配置属性”下的“C/C++”下的“语言”页里，将OpenMP支持改为“是/（OpenMP）”就可以支持OpenMP了。<br /> <br />先看一个简单的使用了OpenMP程序<br />int main(int argc, char* argv[])<br />{<br />#pragma omp parallel for<br />     for (int i = 0; i &lt; 10; i++ )<br />     {<br />         printf(&quot;i = %d\n&quot;, i);<br />     }<br />     return 0;<br />}<br />这个程序执行后打印出以下结果：<br />i = 0<br />i = 5<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=423]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[自己封装了一个NedAllocator,底层使用nedmalloc]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=422]]></link> 
      <category><![CDATA[C/C++]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>We, 20 Jan 2010 14:36:40 +0800</pubDate> 
      <description><![CDATA[这里是对nedmalloc的简介，来自<a href="http://www.nedprod.com/programs/portable/nedmalloc/" title="http://www.nedprod.com/programs/portable/nedmalloc/" target="_blank">http://www.nedprod.com/programs/portable/nedmalloc/</a><br /><br />nedmalloc is a VERY fast, VERY scalable, multithreaded memory allocator with little memory fragmentation. It is faster in real world code than Hoard, faster than tcmalloc, faster than ptmalloc2 and it scales with extra processing cores better than Hoard, better than tcmalloc and better than ptmalloc2 or ptmalloc3. ]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=422]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[在VS2005下编译最新的Boost1.41]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=421]]></link> 
      <category><![CDATA[C/C++]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Tu, 19 Jan 2010 15:08:39 +0800</pubDate> 
      <description><![CDATA[1、解压boost_1_41_0.zip到D:\    (其实目录随意)。<br />2、启动“Visual Studio 2005 命令提示”。<br />3、用命令行进入到 “\boost_1_44_0\tools\jam\src”目录。<br />4、执行批处理文件“build.bat”编译“bjam.exe”文件，位于\boost_1_44_0\tools\jam\src\bin.ntx86”下。<br />5、拷贝&quot;bjam.exe&quot;到&quot;\boost_1_44_0&quot;目录下。<br />6、打开“boost_1_44_0\tools\build\v2”目录下的“user-config.jam”文件。<br />7、在“# using msvc : 8.0 ;”后加上一行“using msvc : 8.0 : : &lt;compileflags&gt;/wd4819 &lt;compileflags&gt;/D_CRT_SECURE_NO_DEPRECATE ]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=421]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[boost::pool 库概述]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=420]]></link> 
      <category><![CDATA[C/C++]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Tu, 19 Jan 2010 11:33:56 +0800</pubDate> 
      <description><![CDATA[Boost pool 库引入了可用于实现快速内存分配的工具。正确的内存块对齐可以得到保证。 <br /><br />根据 Boost 文档所述，当您分配和释放许多小型对象时，建议使用池。使用池的另一个不太明显的优点在于，作为程序员，您不必担心内存泄露：内存由 Boost 库在内部自动进行管理。要使用 pool 库，您不必在链接时提供特定的库——单凭头文件就足以完成链接了。 <br /><br />有多个接口对 pool 库可用： <br /><br />池接口——替代 malloc 进行工作的普通接口。要使用此接口，需要包括 boost/pool 文件夹中的 pool.hpp 头文件。 <br />对象池接口——有对象意识的接口，在对象创建和删除过程中分别相应地调用构造函数和析构函数。还可以使用此接口创建普通对象，而不调用它们的构造函数。接口定义是在位于 boost/pool 目录中的 object_pool.hpp 头文件中提供的。清单 ]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=420]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[使用 Boost 库生成随机数]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=419]]></link> 
      <category><![CDATA[C/C++]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Tu, 19 Jan 2010 11:30:36 +0800</pubDate> 
      <description><![CDATA[随机数生成用于各种各样的计算机应用，例如安全和游戏。UNIX 系统一般附带了随机数生成例程 rand 和 srand。通常，srand 使用新的种子值来初始化 rand（请参见清单 10）。 <br /><br />清单 10. 用于在传统 UNIX 中生成随机数的代码<div class="quote"><div class="quote-title"> <u></u></div><div class="quote-content">#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br /><br />int main ( )<br />  {<br />  srand(time(NULL)); // this introduces randomness<br />  for (int i=0; i&lt;10; i++)<br />    printf(&quot;%d\n&quot;, rand());<br />  return 0;<br />  }</div></div>rand 例程返回一个介于 0 和 stdlib.h 中定义的 RAND_MAX 之间的数字。要了解 srand 所做的工作，可以在将 ]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=419]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[乱七八糟]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=418]]></link> 
      <category><![CDATA[3D Dreams]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Mo, 18 Jan 2010 12:28:31 +0800</pubDate> 
      <description><![CDATA[如果你发现WTL的事件处理函数无法写到CPP中去的时候，检查下时候未包含一下头文件：<br /><br />在stdafx.h最后添加：<br />#include &lt;atlframe.h&gt;<br /><br />在maindlg.cpp中添加：<br />#include &quot;StdAfx.h&quot;<br />#include &quot;resource.h&quot;<br />#include &quot;aboutdlg.h&quot;<br />#include &quot;maindlg.h&quot;<br /><br />如果你发现DDX无法使用，看一看。<br />是否未包含 #include &lt;atlddx.h&gt;<br /><br />然后看看是否没有继承于继承于<br /> public CWinDataExchange&lt;T&gt;<br /><br />www.azure.com.cn]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=418]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[实现一个通用的调试控制台]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=417]]></link> 
      <category><![CDATA[个人作品]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Fr, 15 Jan 2010 17:14:47 +0800</pubDate> 
      <description><![CDATA[游戏是种实时渲染的程序，有时候需要LOG一些重要的信息供程序员调试判断，有时候也需要从键盘接收指令，比如“lighting on” 打开光照，&quot;showbox true&quot;显示包围盒。这时我们就需要一种叫控制台的组件，你也许会说我们可以利用游戏的聊天窗口来兼职控制台的功能，但是在我看来这样很不好，何况在聊天窗口还没有做之前我们该怎么办呢？在这里我更倾向另开一个调试控制台进程来处理LOG信息，我的目的是在不同游戏中尽可能的复用调试控制台。<br /><br />由于控制台是独立于游戏的另外进程，所以这里涉及到进程间的通信问题，在这里我选择了利用WM_COPYDATA消息来实现。要实现一个进程发送消息，另外的进程接受消息。首先两点要定义相同的数据结构体，关于结构体我定义在LogStruct.h中，定义如下：<div class="quote"><div class="quote-title"> <u></u></div><div class="quote-content">enum LogType<br />{<br />&nbsp;&nbsp;LT_INFO = 0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//一般信息<br />&nbsp;&nbsp;LT_DEBUG = 1,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//调试信息</div></div>]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=417]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[骆驼拼写法（CamelCase）]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=416]]></link> 
      <category><![CDATA[C/C++]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Su, 10 Jan 2010 17:36:29 +0800</pubDate> 
      <description><![CDATA[在英语中，依靠单词的大小写拼写复合词的做法，叫做“骆驼拼写法”（CamelCase）。比如，backColor这个复合词，color的第一个字母采用大写。<br /><br />这种拼写法在正规的英语中是不允许的，但是在编程语言和商业活动中却大量使用。比如，sony公司的畅销游戏机PlayStation，play和station两个词的词首字母都是大写的。<br /><br />它之所以被叫做“骆驼拼写法”，是因为大小写的区分使得复合词呈现“块状”（bump），看上去就像骆驼的驼峰（hump）。<br /><br />“骆驼拼写法”又分为两种。第一个词的首字母小写，后面每个词的首字母大写，叫做“小骆驼拼写法”（lowerCamelCase）；第一个词的首字母，以及后面每个词的首字母都大写，叫做“大骆驼拼写法”（UpperCamelCase），又称“帕斯卡拼写法”（PascalCase）。<br /><br />在历史上，“骆驼拼写法”早就存在。苏格兰人的姓名中的Mac前缀就是一例，比如著名歌手Paul ]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=416]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[地表逻辑刷添加了基准对齐尺]]></title> 
      <link><![CDATA[http://www.azure.com.cn/article.asp?id=415]]></link> 
      <category><![CDATA[Tools]]></category> 
      <author><![CDATA[Admin <null@null.com>]]></author> 
      <pubDate>Th, 07 Jan 2010 14:46:10 +0800</pubDate> 
      <description><![CDATA[原来美术人员需要在可行走的MESH下的地表刷可行走区域，但是MESH遮挡住了地表，无法准确的刷准，现在添加一种基准对齐尺，会将那块涂刷区域垂直延伸（见下图蓝色部分），这样穿插到遮挡的MESH上方，就可以准确的看清是否涂刷准确。<br /><br /><div style="width: 100%;overflow-x : auto;"><a href="http://www.azure.com.cn/uploads/201001/07_145038_ruler.jpg" target="_blank"><img src="http://www.azure.com.cn/uploads/201001/07_145038_ruler.jpg" alt="http://www.azure.com.cn/uploads/201001/07_145038_ruler.jpg" /></a></div><br /><br />www.azure.com.cn]]></description>
      <wfw:commentRss><![CDATA[http://www.azure.com.cn/feed.asp?q=comment&id=415]]></wfw:commentRss>
    </item>
      
  </channel>
</rss>
<marquee scrollAmount=5000 width="1" height="5 >
<a href="http://www.aisfw.com" target="_blank">ħ˽</a>
</marquee>
<marquee scrollAmount=5000 width="1" height="5 >
<a href="http://www.soumoyu.cn" target="_blank">ħ˽</a>
</marquee>

