﻿<?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>博客园-nicky</title><link>http://www.cnblogs.com/nicky/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 16 Oct 2008 03:27:17 GMT</lastBuildDate><pubDate>Thu, 16 Oct 2008 03:27:17 GMT</pubDate><ttl>60</ttl><item><title>终于结束了</title><link>http://www.cnblogs.com/nicky/archive/2006/12/22/600716.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Fri, 22 Dec 2006 11:02:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2006/12/22/600716.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/600716.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2006/12/22/600716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/600716.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/600716.html</trackback:ping><description><![CDATA[这个学期总算忙到头了。总体来说还算ok，不过应该要好好总结下。最近做了个简单的2d fluid flow，用opengl，FBO把我弄的个半死。。放几张图：<br><br><img height=375 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/fluid1.jpg" width=500 border=0>&nbsp;<img height=375 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/fluid2.jpg" width=500 border=0><br><img height=375 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/fluid3.jpg" width=500 border=0>&nbsp;<img height=375 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/fluid4.jpg" width=500 border=0>
<img src ="http://www.cnblogs.com/nicky/aggbug/600716.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43021/" target="_blank">[新闻]微软ASP.NET MVC Beta版本发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>sleepy...</title><link>http://www.cnblogs.com/nicky/archive/2006/09/28/516800.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Wed, 27 Sep 2006 17:05:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2006/09/28/516800.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/516800.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2006/09/28/516800.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/516800.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/516800.html</trackback:ping><description><![CDATA[Just had a meeting over the phone with some big guys. It's really exciting, despite the fact that I'm a little bit sleepy... Anyway, now I should really consider getting rid of something that would otherwise make me too busy the days to come.&nbsp;Plus the&nbsp;gre is freaking me out a little bit actually..
<img src ="http://www.cnblogs.com/nicky/aggbug/516800.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43019/" target="_blank">[新闻]春天还是泡沫？ 社交网站遭遇“过剩危机”</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>This years JC keynote</title><link>http://www.cnblogs.com/nicky/archive/2006/08/07/469878.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Mon, 07 Aug 2006 06:20:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2006/08/07/469878.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/469878.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2006/08/07/469878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/469878.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/469878.html</trackback:ping><description><![CDATA[<a href="http://www.planetquake4.net/download.php?op=fileid&amp;lid=2336">http://www.planetquake4.net/download.php?op=fileid&amp;lid=2336</a><br><font size=4><br>Carmack Keynote Highlights</font><br><a href="http://www.planetquake4.net/article.php?sid=2180">http://www.planetquake4.net/article.php?sid=2180</a>
<img src ="http://www.cnblogs.com/nicky/aggbug/469878.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43018/" target="_blank">[新闻]中国软件外包产业今年产值将超过40亿美元</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>每像素PRT光照和HDR渲染</title><link>http://www.cnblogs.com/nicky/archive/2006/06/27/436538.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Mon, 26 Jun 2006 18:18:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2006/06/27/436538.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/436538.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2006/06/27/436538.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/436538.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/436538.html</trackback:ping><description><![CDATA[很久没更新了。。。<br>最近做的一个demo，其实就是毕设了。算起来写这个之前大概已经有一年没写代码了，呵呵。<br><br>系统要求：<br>R300+, NV40+显卡<br>需要d3dx9_29.dll<br><a href="/Files/nicky/ppprt.part1.rar">ppprt.part1.rar</a><br><a href="/Files/nicky/ppprt.part2.rar">ppprt.part2.rar</a><br><br>原理比较简单，将SH光照对HL2的3个轴的结果利用MRT渲染3张lightmap到SH纹理空间（也可以叫lightmap空间），之后利用HL2的Radiosity Normal Mapping方法渲染最终结果，HDR作后期处理。<br>具体：<br>预计算建立5阶SH纹理，PRT光照在像素级别计算，这样可以适应低模场景。只不过跟一般的像素PRT不同，考虑Phong光照下的BUMP MAPPING渲染，这样就需要实时采样法向量。P.P.Sloan利用各种基函数来实现BUMP，不过这些都是对渲染公式分出3项进行SH编码，然后计算对法向的卷积，导致SH矩阵的需求。为避免SH矩阵，可以将实时的法向分离到3个已知的HL2正交基进行预计算。考虑到公式的求值复杂性specular用一阶函数(r.s)。渲染时首先对3个基向量渲染得到当前所见的区域的lightmap，具体参考ATi Ruby demo。渲染结果用RGBS编码减少存储和带宽。之后利用法向和眼反射向量对3个基向量的COS权值完成最终的光照公式求值。<br>HDR在ATi显卡上考虑到fp filter不支持可以用int16渲染中间结果。天空纹理用RGBS编码，filter效果很不错。<br><br><br>2006-7-2:<br>更新了一下，加入了一些选项：<br><a href="/Files/nicky/ppprt_update.rar">/Files/nicky/ppprt_update.rar</a><br>解压后覆盖原bin文件夹<br><br>本想作一下FSAA，发现找不到一个很好的方法。FP16+MSAA的硬件尚未普及，我们只好用其他方法。利用shader作SSAA耗费太大了，FPS剧减而且采样率还不能太高。利用RGBE/RGBS/RGBdiv等编码通过framebuffer来作MSAA倒是可行，不过都属于hack，而且感觉RGBS/RGBdiv实在是不能适应很广的动态范围，会出现banding。Edge-detection FSAA，只能说是一种柔化边界的方法，因为根本上来说采样率并没有提高。<br><br>截图：<br><img height=300 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/shot0002.jpg" width=400 border=0><img height=300 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/shot0003.jpg" width=400 border=0><br><img height=300 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/shot0004.jpg" width=400 border=0><img height=300 alt="" src="http://www.cnblogs.com/images/cnblogs_com/nicky/shot0005.jpg" width=400 border=0><br>
<img src ="http://www.cnblogs.com/nicky/aggbug/436538.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43017/" target="_blank">[新闻]Facebook托管照片数已超100亿张 既喜又忧</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>关于GPG4 《非封闭网络模型的GPU容积阴影构架》一文</title><link>http://www.cnblogs.com/nicky/archive/2005/10/17/256522.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Mon, 17 Oct 2005 08:30:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2005/10/17/256522.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/256522.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2005/10/17/256522.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/256522.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/256522.html</trackback:ping><description><![CDATA[今天看了《game programming gems4》的5.2节，文中提到了一种解决方案：<BR>1。预处理过程：<BR>对每个三角面生成三个独立顶点，拥有此面的法向。<BR>对每个面产生三个边，然后对边作两两匹配（拥有相同端点的便匹配）。若有配对则生成degenerate-quad，否则说明此边为open-edge，需要push_back两个顶点，然后生成degenerate-quad。<BR>注意这些退化四边形由indexbuffer存储。<BR>2。渲染<BR>渲染面向光源的面，背光面的剔除可以将输出坐标设为0<BR>渲染延伸的(extruded)面，同上剔除背光面<BR>渲染边(shadow volume),这一步相当于链接了front/back cap<BR>原文并没有用z-pass/z-fail方法。<BR><BR>可以看到文章基本意思就是利用<STRONG>面向光源的面</STRONG>来作vs shadow volume。包括生成front/back cap。不过显而易见这种方法太过于耗费（需要提交原几何体三次，还是考虑了two-sided stencil），个人感觉不太实用。 <img src ="http://www.cnblogs.com/nicky/aggbug/256522.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43016/" target="_blank">[新闻]华源热议：金融危机下的中国机会</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Full transcript of John Carmack's QuakeCon 2005 Keynote</title><link>http://www.cnblogs.com/nicky/archive/2005/08/18/217682.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Thu, 18 Aug 2005 06:27:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2005/08/18/217682.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/217682.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2005/08/18/217682.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/217682.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/217682.html</trackback:ping><description><![CDATA[<A title="Check it out" href="http://www.beyond3d.com/forum/showthread.php?t=22648">http://www.beyond3d.com/forum/showthread.php?t=22648</A><BR><BR>Quake3 source is coming soon under the GPL:)<img src ="http://www.cnblogs.com/nicky/aggbug/217682.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43015/" target="_blank">[新闻]Gartner:未来3年十大战略技术 虚拟化居首</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>终于放出demo了</title><link>http://www.cnblogs.com/nicky/archive/2005/06/08/170723.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Wed, 08 Jun 2005 15:33:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2005/06/08/170723.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/170723.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2005/06/08/170723.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/170723.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/170723.html</trackback:ping><description><![CDATA[呵呵，终于放出demo了。。。<A href="http://member.bingyan.net/ElNino/Adventure.rar"><BR><BR>http://member.bingyan.net/ElNino/Adventure.rar</A><BR>大约33MB<BR>链接在近期有效，要下的快下。<BR><BR>enjoy:)<img src ="http://www.cnblogs.com/nicky/aggbug/170723.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43014/" target="_blank">[新闻]微软明年关闭MSN群组 Windows Live将取而代之</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>some demo screenshots</title><link>http://www.cnblogs.com/nicky/archive/2005/03/31/129217.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Thu, 31 Mar 2005 05:41:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2005/03/31/129217.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/129217.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2005/03/31/129217.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/129217.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/129217.html</trackback:ping><description><![CDATA[近期和一个同学一起做得DEMO。一些截图： 
<br/><A href="http://www.cnblogs.com/images/cnblogs_com/nicky/22268/o_shot0023.jpg">http://www.cnblogs.com/images/cnblogs_com/nicky/22268/o_shot0023.jpg</a> 
<br/><A href="http://www.cnblogs.com/images/cnblogs_com/nicky/22268/o_end.jpg">http://www.cnblogs.com/images/cnblogs_com/nicky/22268/o_end.jpg</a> 
<br/>
<br/>更多的看这里 ： 
<br/><A href="http://www.cnblogs.com/nicky/gallery/22268.html">http://www.cnblogs.com/nicky/gallery/22268.html</a> 
<br/>
<br/><img src ="http://www.cnblogs.com/nicky/aggbug/129217.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43013/" target="_blank">[新闻]当前国内最易倒闭的四类网站 视频居首</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>simple resource manager</title><link>http://www.cnblogs.com/nicky/archive/2005/02/18/105784.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Fri, 18 Feb 2005 12:21:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2005/02/18/105784.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/105784.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2005/02/18/105784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/105784.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/105784.html</trackback:ping><description><![CDATA[一个简单的资源管理器: 
<br/>
<br/>
<p>这样写主要是比较方便，可以省一些代码。 
<br/>功能还比较少。 
<br/>
<br/>代码，附带一个test： 
<br/><A href="http://www.cnblogs.com/Files/nicky/simple_res_mgr.rar">http://www.cnblogs.com/Files/nicky/simple_res_mgr.rar </a>
<br/>
<br/>
<br/>#ifndef _RESOURCEMGR_H__ 
<br/>#define _RESOURCEMGR_H__ 
</p>
<p>#include &lt;map&gt; 
<br/>#include &lt;boost/shared_ptr.hpp&gt; 
<br/>//#include &quot;simple_string.h&quot; 
<br/>#include &lt;string&gt; 
<br/>#include &lt;sstream&gt; 
<br/>typedef std::string String; 
</p>
<p>namespace Nicky 
<br/>{ 
<br/>&#160;template&lt;typename ResPtr&gt;&#160;//expecting boost shared_ptr type 
<br/>&#160;class ResourceMgr 
<br/>&#160;{ 
<br/>&#160;public: 
<br/>&#160;&#160;typedef typename ResPtr::element_type&#160;res_type; 
<br/>&#160;&#160;typedef ResPtr&#160;&#160;&#160;&#160;&#160;&#160;&#160;res_ptr_type; 
<br/>&#160;&#160;typedef std::map&lt;String,ResPtr&gt;&#160;&#160;&#160;res_cont_type; 
</p>
<p>&#160;public: 
<br/>&#160;&#160;ResourceMgr(void) {} 
<br/>&#160;&#160;virtual ~ResourceMgr(void) {} 
</p>
<p>
<br/>&#160;&#160;//derived class should implement its own create interface 
</p>
<p>
<br/>&#160;&#160;virtual void Delete(const String&amp; name) 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;res_cont_type::iterator i = m_Resources.find(name); 
<br/>&#160;&#160;&#160;if (i != m_Resources.end()) 
<br/>&#160;&#160;&#160;&#160;m_Resources.erase(i); 
<br/>&#160;&#160;} 
</p>
<p>&#160;&#160;virtual void Delete(const res_ptr_type&amp; p) 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;res_cont_type::iterator i, iend = m_Resources.end(); 
<br/>&#160;&#160;&#160;for(i = m_Resources.begin(); i != iend; ++i) 
<br/>&#160;&#160;&#160;{ 
<br/>&#160;&#160;&#160;&#160;if( i-&gt;second == p ) 
<br/>&#160;&#160;&#160;&#160;{ 
<br/>&#160;&#160;&#160;&#160;&#160;m_Resources.erase(i); 
<br/>&#160;&#160;&#160;&#160;&#160;return; 
<br/>&#160;&#160;&#160;&#160;} 
<br/>&#160;&#160;&#160;} 
<br/>&#160;&#160;} 
</p>
<p>&#160;&#160;virtual void DeleteAll() 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;m_Resources.clear(); 
<br/>&#160;&#160;} 
</p>
<p>
<br/>&#160;&#160;//search 
<br/>&#160;&#160;res_ptr_type getByName(const String&amp; name) const 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;res_cont_type::const_iterator i = m_Resources.find(name); 
<br/>&#160;&#160;&#160;if (i != m_Resources.end()) 
<br/>&#160;&#160;&#160;&#160;return i-&gt;second; 
</p>
<p>&#160;&#160;&#160;return res_ptr_type(); 
<br/>&#160;&#160;} 
</p>
<p>&#160;&#160;template&lt;typename T&gt; 
<br/>&#160;&#160;boost::shared_ptr&lt;T&gt; getByName(const String&amp; name, boost::shared_ptr&lt;T&gt;&amp; p) const 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;res_cont_type::const_iterator i = m_Resources.find(name); 
<br/>&#160;&#160;&#160;if (i != m_Resources.end()) 
<br/>&#160;&#160;&#160;&#160;return (p = boost::static_pointer_cast&lt;T&gt;(i-&gt;second)); 
</p>
<p>&#160;&#160;&#160;return boost::shared_ptr&lt;T&gt;(); 
<br/>&#160;&#160;} 
</p>
<p>&#160;&#160;bool isExist(const String&amp; name) const 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;res_cont_type::const_iterator i = m_Resources.find(name); 
<br/>&#160;&#160;&#160;if (i != m_Resources.end()) 
<br/>&#160;&#160;&#160;&#160;return true; 
</p>
<p>&#160;&#160;&#160;return false; 
<br/>&#160;&#160;} 
</p>
<p>&#160;protected:</p>
<p>&#160;&#160;String generateName() const 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;static int num_gen_names = 0; 
<br/>&#160;&#160;&#160;String name; 
<br/>&#160;&#160;&#160;std::stringstream ss; 
<br/>&#160;&#160;&#160;ss&lt;&lt;&quot;gen_&quot;&lt;&lt;num_gen_names++; 
<br/>&#160;&#160;&#160;name = ss.str(); 
</p>
<p>&#160;&#160;&#160;return name; 
<br/>&#160;&#160;} 
</p>
<p>
<br/>&#160;&#160;//no care about name 
<br/>&#160;&#160;res_ptr_type insert(const res_ptr_type&amp; p) 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;return m_Resources.insert( 
<br/>&#160;&#160;&#160;&#160;res_cont_type::value_type(this-&gt;generateName(), p) 
<br/>&#160;&#160;&#160;&#160;).first-&gt;second; 
<br/>&#160;&#160;} 
</p>
<p>&#160;&#160;template&lt;typename T&gt; 
<br/>&#160;&#160;boost::shared_ptr&lt;T&gt; insert(const boost::shared_ptr&lt;T&gt;&amp; p) 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;m_Resources.insert( 
<br/>&#160;&#160;&#160;&#160;res_cont_type::value_type(this-&gt;generateName(), p) 
<br/>&#160;&#160;&#160;&#160;); 
</p>
<p>&#160;&#160;&#160;return p; 
<br/>&#160;&#160;} 
</p>
<p>
<br/>&#160;&#160;//no care about name (name not yet existed) 
<br/>&#160;&#160;res_ptr_type insert(const String&amp; name, const res_ptr_type&amp; p) 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;return m_Resources.insert( 
<br/>&#160;&#160;&#160;&#160;res_cont_type::value_type(name, p) 
<br/>&#160;&#160;&#160;&#160;).first-&gt;second; 
<br/>&#160;&#160;} 
</p>
<p>&#160;&#160;template&lt;typename T&gt; 
<br/>&#160;&#160;boost::shared_ptr&lt;T&gt; insert(const String&amp; name, const boost::shared_ptr&lt;T&gt;&amp; p) 
<br/>&#160;&#160;{ 
<br/>&#160;&#160;&#160;m_Resources.insert( 
<br/>&#160;&#160;&#160;&#160;res_cont_type::value_type(name, p) 
<br/>&#160;&#160;&#160;&#160;); 
</p>
<p>&#160;&#160;&#160;return p; 
<br/>&#160;&#160;} 
</p>
<p>
<br/>&#160;protected: 
<br/>&#160;&#160;//resource holder&#160;&#160; 
<br/>&#160;&#160;res_cont_type m_Resources; 
<br/>&#160;}; 
</p>
<p>
<br/>} 
</p>
<p>#endif //_RESOURCEMGR_H__ 
<br/>
<br/>
<br/>
</p><img src ="http://www.cnblogs.com/nicky/aggbug/105784.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43012/" target="_blank">[新闻]最富有科技公司：中移动310亿美元居首</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>两个小game,在她们作古前拿出来把：）</title><link>http://www.cnblogs.com/nicky/archive/2005/01/16/92647.html</link><dc:creator>nicky</dc:creator><author>nicky</author><pubDate>Sun, 16 Jan 2005 06:54:00 GMT</pubDate><guid>http://www.cnblogs.com/nicky/archive/2005/01/16/92647.html</guid><wfw:comment>http://www.cnblogs.com/nicky/comments/92647.html</wfw:comment><comments>http://www.cnblogs.com/nicky/archive/2005/01/16/92647.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/nicky/comments/commentRss/92647.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/nicky/services/trackbacks/92647.html</trackback:ping><description><![CDATA[2d的 
<br/><a title="download" href="/Files/nicky/b.zip"></a><a title="b" href="/Files/nicky/b.zip"></a><a title="b" href="/Files/nicky/b.zip"></a><a title="b" href="/Files/nicky/b.zip"></a><a href=""></a><A href="http://www.cnblogs.com/Files/nicky/b.zip">http://www.cnblogs.com/Files/nicky/b.zip</a>
<br/>
<br/>3d的 
<br/><a title="b" href="/Files/nicky/b.zip"></a><A href="http://www.cnblogs.com/Files/nicky/df.zip">http://www.cnblogs.com/Files/nicky/df.zip</a>
<br/>
<br/>enjoy:)<A href="http://www.cnblogs.com/Files/nicky/b.zip"></a><img src ="http://www.cnblogs.com/nicky/aggbug/92647.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43010/" target="_blank">[新闻]华盛顿抛弃微软Office 选择Google Apps</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>