<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/xoyojank" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/xoyojank" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 08 Jul 2009 22:18:00 GMT</lastBuildDate><title>逍遥自在</title><description>你必须足够热爱制作游戏，以致于就算在视线中看不见终点或者金钱时，仍然能够保有无与伦比的热情。—— Jacob Stevens</description><link>http://blog.csdn.net/xoyojank/</link><item><title>在Nebula3中加载自定义模型的思路</title><link>http://blog.csdn.net/xoyojank/archive/2009/07/08/4332581.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4332581.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4332581.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4332581</trackback:ping><description>&lt;br /&gt;Nebula3中目前还是没有地形…&lt;br /&gt;不过冒似国外的引擎除了CryEngine外对于地形都不重视…..&lt;br /&gt;之前看了下WOW的地形组织方式, 一直在想怎么把它加进来&lt;br /&gt;模模糊糊地感觉到, 它应该是把Model当成了最基本的渲染单位&lt;br /&gt;地形是不是也需要包装成模型呢? 也就是说, 地形对于引擎来说是个上层概念, 不应该放到Graphics内部去管理. 嗯, 虽说地形也是一种特殊的模型, 但它的管理方式相对来说太过于特殊了, 不知道还能不能跟模型走一条管线. &lt;br /&gt;先看看植被是怎么组织的:&lt;br /&gt;&lt;br /&gt;(这里不讨论其原理, 因为这个系统是依赖Nebula Maya Toolkit的)(另: 这设计简直是中央集权….几乎每个类都要跟renderer打交道-_-)&lt;br /&gt;&lt;br /&gt;嗯, 这里的渲染单位是GrassPatch, 它包装了一个InternalModelEntity, 然后扔给InternalStage就完成它的使命了. 下面主要看看这个graphicsEntity是怎么生出来的:&lt;br /&gt;&lt;br /&gt;Intern&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4332581.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242539664/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/07/08/4332581.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242539664/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242539664/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 09 Jul 2009 06:18:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/07/08/4332581.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/07/08/4332581.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/07/08/4332581.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242539664/1143015</fs:itemid></item><item><title>强大的PropertyGrid</title><link>http://blog.csdn.net/xoyojank/archive/2009/07/04/4322167.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4322167.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4322167.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4322167</trackback:ping><description>&lt;br /&gt; PropertyGrid, 做工具一定要用这东西.....&lt;br /&gt;把要编辑的对象看成类的话, 所有要编辑的属性就是成员&lt;br /&gt;嗯嗯, 最近看了几眼Ogitor, 它对于PropertyGrid的使用就很不错&lt;br /&gt;所有要编辑的对象(灯光, 模型, 粒子等等)都有一个共同的基类, 每当选中一个可编辑对象时, 右边的属性框里就显示出当前对象的属性...(公司那个编辑器要多土就有多土-_-)&lt;br /&gt;尽管Ribbon界面看起来很酷, 我还是对MFC提不起兴趣来...&lt;br /&gt;.net里的PropertyGrid更方便, 一点一点来:&lt;br /&gt;属性自动绑定:&lt;br /&gt;ref class Human
{
public:
	Human()
	{
		this-&gt;Name = &quot;(None)&quot;;
		this-&gt;Age = 0;
		this-&gt;IsMale = false;
	}

	property String^ Name;
	property int Age;
	property bool IsMale;
};
&lt;br /&gt;只需要&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4322167.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500506/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/07/04/4322167.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500506/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500506/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 05 Jul 2009 06:05:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/07/04/4322167.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/07/04/4322167.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/07/04/4322167.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500506/1143015</fs:itemid></item><item><title>Nebula3 Render Application Wizard</title><link>http://blog.csdn.net/xoyojank/archive/2009/06/30/4311047.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4311047.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4311047.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4311047</trackback:ping><description>&lt;br /&gt;使用方法同N3ConsoleAppWizard&lt;br /&gt;1. 修正stdafx.h第一次编译时会找不到的问题&lt;br /&gt;2. 输出目录定位到$(N3SDK)test\win32\下, 这样程序可以自动加载export*.zip里的系统资源&lt;br /&gt;3. DEBUG版的输出文件会加上_d后缀(因为2中输出目录改成跟RELEASE一样了)&lt;br /&gt;&lt;br /&gt;注意: 环境变量$(N3SDK)已经改为SDK的根目录, 如&quot;D:\Nebula3 SDK (Apr 2009)\&quot;&lt;br /&gt;&lt;br /&gt;Demo截图是一个会随时间变化颜色的矩形&lt;br /&gt;&lt;br /&gt;这里直接发送消息来注册plugin的, 测试代码是写在plugin里:&lt;br /&gt;//------------------------------------------------------------------------------
/**
*/
bool
TestViewerApp::Open()
{
	n_assert(!this-&gt;IsOpen());
	if (ViewerAppl&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4311047.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500508/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/06/30/4311047.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500508/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500508/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 01 Jul 2009 04:33:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/06/30/4311047.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/06/30/4311047.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/06/30/4311047.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500508/1143015</fs:itemid></item><item><title>Nebula3的渲染线程插件(Render Thread Plugin)</title><link>http://blog.csdn.net/xoyojank/archive/2009/06/22/4290209.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4290209.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4290209.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4290209</trackback:ping><description>&lt;br /&gt;上个版本的SDK把渲染放入一个独立的线程, 这是一个很先进的改动&lt;br /&gt;但是它也造成一个问题: 不好操作底层的渲染API了&lt;br /&gt;对于想自己控制VB, IB来绘制三角形级的demo程序来说, 一点也不方便&lt;br /&gt;之前我写过一个SyncRenderApplication, 但是很不完美, 比如不能使用InputServer&lt;br /&gt;April2009加入了RTPlugin, 为写demo指明了方向, 嘿嘿(虽然作者原意肯定不是这样的)&lt;br /&gt;&lt;br /&gt;从上图可以看出, RTPlugin完全存在于Render Thread, 这样可以在它的派生类中直接进行底层图形的操作, 主线程只管启动程序和注册这个plugin&lt;br /&gt;这里又用到一个比较好玩的特性: 根据Rtti创建对象. 因为主线程创建的对象是不能直接传给渲染线程的(要不然就违背了Fat Thread的概念), 所以创建只能在渲染线程进行. 而什么时候创建, 只能由主线程来控制, 所以消息RegisterRTPlugin只包含了这个类的Rtti, 在渲染线程由这个Rtti来创建指定对象的实例, 嗯嗯,&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4290209.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500511/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/06/22/4290209.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500511/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500511/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 23 Jun 2009 07:14:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/06/22/4290209.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/06/22/4290209.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/06/22/4290209.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500511/1143015</fs:itemid></item><item><title>Nebula3 RTTI 小技巧</title><link>http://blog.csdn.net/xoyojank/archive/2009/06/16/4274947.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4274947.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4274947.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4274947</trackback:ping><description>&lt;br /&gt;注意: 以下代码省略了命名空间前缀和”using namespace xxx”声明来改善可读性. 另外, 因为我没有通过编译器运行这些代码, 不保证有些手误.&lt;br /&gt;&lt;br /&gt;不要把Rtti跟RTTI搞混:&lt;br /&gt;Rtti 是类名, MyClass::RTTI 是类的Rtti对象的名字. 每个RefCounted派生的类都有一个Core::Rtti的静态实例, 它在main()之前初始化.&lt;br /&gt;&lt;br /&gt;检查一个对象是否为特定类或者其派生类:&lt;br /&gt;这是Nebula3 RTTI系统的标准特性, 可以检查一个对象是否可以安全地转换为特定类接口: &lt;br /&gt;// check whether obj is instance of a specific class: 
if (obj-&gt;IsInstanceOf(MyClass::RTTI)) …

// check whether obj is instance of class, or a derived class: 
if (obj-&gt;IsA(MyClass::RTTI))…
&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4274947.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500513/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/06/16/4274947.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500513/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500513/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 17 Jun 2009 07:59:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/06/16/4274947.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/06/16/4274947.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/06/16/4274947.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500513/1143015</fs:itemid></item><item><title>Nebula3中的委托(Delegate)</title><link>http://blog.csdn.net/xoyojank/archive/2009/06/15/4271600.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4271600.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4271600.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4271600</trackback:ping><description>&lt;br /&gt;April2009增加了不少好东西, 这段时间准备静下心来看看&lt;br /&gt;关于delegate这么个东西, 可能C++程序员很陌生, 但是Callback函数一定听说过吧? 其它两者本质上是一种东西&lt;br /&gt;不过C++对于成员函数的回调实在是.....(别跟我提boost)&lt;br /&gt;曾经用过fastdelegate, 确实不错. 我以为这就是C++中的完美实现了&lt;br /&gt;N3中增加的这个, 不比它差, 代码量更小, 呵呵&lt;br /&gt;对于N3这个面向对象用到变态(同样它也极力的避免使用模板)的引擎来说, 这个简洁却又不简单的实现是最合适的. 虽然这个版本中它只是一个孤零零的类, 不保证以后会大量使用. 通常情况下, UI系统是它发挥最强力的地方吧?&lt;br /&gt;两者的比较, 作者已经说得很明白了:&lt;br /&gt;fastdelegate使用了一个&quot;漏洞&quot;, 尽管它在许多C++编译器上都能工作, 但它不符合C++标准&lt;br /&gt;而这个实现呢?跟boost::function和前者相比:很快不用动态分配内存跟C++标准完全兼容&lt;br /&gt;不过N3中只引入一个单参数无返回值的最简单&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4271600.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500514/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/06/15/4271600.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500514/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500514/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 16 Jun 2009 05:58:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/06/15/4271600.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/06/15/4271600.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/06/15/4271600.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500514/1143015</fs:itemid></item><item><title>做了Nebula3的应用程序向导</title><link>http://blog.csdn.net/xoyojank/archive/2009/06/08/4253123.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4253123.aspx</wfw:comment><slash:comments>3</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4253123.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4253123</trackback:ping><description>&lt;br /&gt;使用方法:&lt;br /&gt;1. 配置环境变量:&lt;br /&gt;&lt;br /&gt;2. 把下载的zip解压到一个合适的位置&lt;br /&gt;3. 把N3ConsoleAppWizard.ico, N3ConsoleAppWizard.vsdir, N3ConsoleAppWizard.vsz三个文件拷贝到Visual Studio 8\VC\vcprojects\下, 并更改N3ConsoleAppWizard.vsz中的路径为第2步中的解压路径&lt;br /&gt;4. 打开VS2005, 新建工程就可以看到了&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;附: &lt;br /&gt;Nebula3工程编译选项(以April2009为准):&lt;br /&gt;Debug&lt;br /&gt;&lt;br /&gt;General&lt;br /&gt;Character Set&lt;br /&gt;NotSet&lt;br /&gt;C/C++&lt;br /&gt;Additional Include Directives&lt;br /&gt;..;../foundation;../extlibs;../tools ;&lt;br /&gt;Detect 64-bit Portability Issuses&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4253123.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500515/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/06/08/4253123.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500515/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500515/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 09 Jun 2009 07:32:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/06/08/4253123.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/06/08/4253123.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/06/08/4253123.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500515/1143015</fs:itemid></item><item><title>反醒反醒</title><link>http://blog.csdn.net/xoyojank/archive/2009/06/06/4247316.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4247316.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4247316.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4247316</trackback:ping><description>&lt;br /&gt;最近blog更新得很少&lt;br /&gt;从什么时候开始的呢?&lt;br /&gt;好像是从俩兄弟离职开始的.&lt;br /&gt;没有了共同探讨技术的人, 所以自己业余时间都拿来玩了&lt;br /&gt;玩什么? 玩dota&lt;br /&gt;现在的游戏, 不知道为什么, 只有这一个能玩的下去&lt;br /&gt;那些XXX大作, 没有一个能让我玩完的&lt;br /&gt;除了WorldOfGoo和CrayonPhysicsDeluxe这两个很有创意的游戏之外&lt;br /&gt;&lt;br /&gt;好像N3新版本的推出也打断了我以前的学习计划&lt;br /&gt;每次改动都很大, 写的小demo都没法接着用&lt;br /&gt;而且每次想写之前都要花很长时间来配置工程&lt;br /&gt;这让我想到了当时学OGRE时的向导工程&lt;br /&gt;要是N3也有这么个东西就好了&lt;br /&gt;于是乎看了一下Project Template, 结果只有web和C#项目才能用&lt;br /&gt;C++只能用Custom Wizard, 所以打算参考Create a Visual C++ Wizard for Visual Studio 2005写个N3的wizard来用, 弄个console的先&lt;br /&gt;&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4247316.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500516/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/06/06/4247316.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500516/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500516/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 06 Jun 2009 22:45:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/06/06/4247316.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/06/06/4247316.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/06/06/4247316.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500516/1143015</fs:itemid></item><item><title>Real-time Shadow Algorithms and Techniques</title><link>http://blog.csdn.net/xoyojank/archive/2009/05/14/4182535.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4182535.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4182535.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4182535</trackback:ping><description>&lt;br /&gt;Last Updated: 10 / 09 / 2008&lt;br /&gt;&lt;br /&gt;Shadowing is a key component for convincing, solid-looking rendering. Whether hard or soft, physically correct or perceptually satisfying, NVIDIA has been at the forefront of real-time shadowing technology. This page collects some of the shadow-related presentations and white papers created in recent years by NVIDIA developers.&lt;br /&gt;Hard Shadows | Soft Shadows | Ambient Occlusion | RaytracingHard ShadowsFast, Practical, and Robust Shadow Volumes&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4182535.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/242500517/xoyojank/csdn.net/s.gif?r=http://blog.csdn.net/xoyojank/archive/2009/05/14/4182535.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500517/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500517/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 14 May 2009 20:10:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/05/14/4182535.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/05/14/4182535.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/05/14/4182535.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500517/1143015</fs:itemid></item><item><title>Nebula3中的骨骼动画: Animation子系统</title><link>http://blog.csdn.net/xoyojank/archive/2009/05/10/4165885.aspx</link><wfw:comment>http://blog.csdn.net/xoyojank/comments/4165885.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/xoyojank/comments/commentRss/4165885.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4165885</trackback:ping><description>&lt;br /&gt;&lt;br /&gt;就像CoreAnimation中提到的, Nebula2动作系统急需一个全新的设计和编码. 在《龙歌》的开发和另一个针对表情动画的研究中, 我们不得不为这个天生不足的系统加入新的特性. 最后系统勉强可以正常工作了, 但从设计的角度来说, 它的可维性变得很差. 因为从事一个商业项目有很多约束(里程碑, 特性和质量), 这通常是惟一的选择, 最好是让一些事情在里程碑结束前可以工作(就算是内部的实现很杂乱), 以便顺利地完成目标. 至少最后可以确定, 哪些特性需要一个完全的新设计, 和避免错误的实现方法.&lt;br /&gt;把Nebula3当成一个试验台, 《龙歌》完成之前我就开始着手一个新的动作系统. 老系统的主要问题有:动作低层和高层的特性到处都是, 一些在Nebula2中, 一些在Mangalore中, 还有一些在应用程序里任意时间点的采样并不真正支持(交叉采样代码需要采样时间以正向增长来改变) 没有混合优先级, 混合权重必须正规化来保证总和为1, 这会产生”有真趣的结果”, 除非应用程序提供了”仔细调谐”的混合权重局部动作混合(只有角色的一部分骨骼动)一开始并不支持&lt;img src =&quot;http://blog.csdn.net/xoyojank/aggbug/4165885.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/xoyojank/242500526/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/xoyojank/242500526/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 11 May 2009 02:49:00 +0800</pubDate><author>逍遥剑客</author><comments>http://blog.csdn.net/xoyojank/archive/2009/05/10/4165885.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/xoyojank/archive/2009/05/10/4165885.aspx</guid><dc:creator>逍遥剑客</dc:creator><fs:srclink>http://blog.csdn.net/xoyojank/archive/2009/05/10/4165885.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/xoyojank/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/xoyojank/~1143027/242500526/1143015</fs:itemid></item></channel></rss>