﻿<?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>博客园-mygamelib</title><link>http://www.cnblogs.com/mygamelib/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 05 Sep 2008 18:17:22 GMT</lastBuildDate><pubDate>Fri, 05 Sep 2008 18:17:22 GMT</pubDate><ttl>60</ttl><item><title>新的水面</title><link>http://www.cnblogs.com/mygamelib/archive/2008/08/04/1260136.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Mon, 04 Aug 2008 06:45:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2008/08/04/1260136.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/1260136.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2008/08/04/1260136.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/1260136.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/1260136.html</trackback:ping><description><![CDATA[<p>用新的材质系统把以前的代码替换了，效果看起来还不错，顺便截几个图。</p>
<p><img height="746" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/69590/o_C_Ed%202008-08-04%2014-27-34-86.png" width="1276" border="0" /></p>
<p><img height="746" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/69590/o_C_Ed%202008-08-04%2014-27-44-57.png" width="1276" border="0" /></p>
<p><img height="374" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/69590/r_C_Ed%202008-08-04%2014-28-57-12.png" width="640" border="0" /></p>
<p><img height="746" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/69590/o_C_Ed%202008-08-04%2014-28-03-80.png" width="1276" border="0" /></p>
<p><img height="746" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/69590/o_C_Ed%202008-08-04%2014-30-00-50.png" width="1276" border="0" /></p>
<img src ="http://www.cnblogs.com/mygamelib/aggbug/1260136.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42116/" target="_blank">[新闻]消息称MySQL创始人已向Sun提交辞呈</a>]]></description></item><item><title>material自动生成</title><link>http://www.cnblogs.com/mygamelib/archive/2008/07/31/1257129.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Thu, 31 Jul 2008 03:15:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2008/07/31/1257129.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/1257129.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2008/07/31/1257129.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/1257129.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/1257129.html</trackback:ping><description><![CDATA[<p>ogre手工编写材质脚本和shader太麻烦。而且他自带的material能处理的光照数量都是写死的。ogre处理的方式是这样的：比如说一个shader支持4个light<br />
如果照在物体上的光不到四个就都传进去，其余的添上0。超过4个就只处理4个。还有一种方式就是，一个light一个pass最后加在一起。。。。<br />
当然你想控制使用哪个灯光可以用moveobjectlistener控制。。还是不够专业。<br />
而且就算为一个模型不同的光影状态写好了ｎ个shader，在运行的时候怎么选择shader也是麻烦。<br />
（哦，对了，上面说的全是使用shader的情况，使用固定管道的不再讨论之列）<br />
想了又想，还是搞一个material的自动生成的东西吧，谁让我这么懒呢。<br />
本来想重头写材质的系统，看了一下ogre的材质的接口，提供了足够多的东西，在ogre的材质上面直接写这一套东西应该没有问题。我感觉ogre虽然在功能上不<br />
是最强的，但是接口上绝对是最方便的。方便扩展。方便使用它的任何功能。<br />
首先想到的就是生成shader。<br />
最开始想到的方案是这样的，写一个n长的shader。然后把每种情况用#define分开，在运行的时候选择不同的#define编译。仔细想一下，这和直接写无数个<br />
shader没有什么区别啊，而且也不够灵活。比如用户要使用两张贴图相加的结果作为diffuse就麻烦了。<br />
后来又想到几年前看过的一个东西，shaderworks不知道现在还有谁记得。。他把每个函数最为一个节点。把一个函数的输出和另一个函数的输入连在一起，这样<br />
一个shader了逻辑关系就联成了一张图，再转化成shader的code再build就ok了。这样美术用编辑器在想选择的效果上面连一连线，然后引擎内部再加上光照的节<br />
点，有几种情况就生成几个shader。哈哈，所有能想到的情况都解决了。最后我的material系统成型就是使用的这个思路。<br />
当然在编写的时候遇到了很多细节，比如怎么把shader分类缓存，遇到同样的shader直接取出来，不再生成。<br />
还有，shader不能超过多少个寄存器，超过了怎么split成2个shader。<br />
还有，是生成hl还是asm，我选择的当然是hl，因为hl在build的时候api会做很多的优化，因为自动生成的东西难免会有垃圾在里面。<br />
下面是材质系统在运行时的效果。</p>
<p><img height="452" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_white.JPG" width="422" border="0" /></p>
<p>默认的没有任何参数，场景有两个光照。</p>
<p><img height="567" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_base.JPG" width="575" border="0" /></p>
<p><img height="455" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_diffuse.JPG" width="422" border="0" /></p>
<p>使用一张贴图作为ｄｉｆｆｕｓｅ</p>
<p><img height="450" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_diff_norm.JPG" width="419" border="0" /></p>
<p><img height="356" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_norm.JPG" width="350" border="0" /></p>
<p>加上一个ｎｏｒｍａｌ</p>
<p><img height="443" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_diff_norm_dis_selflight.JPG" width="411" border="0" /></p>
<p><img height="249" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_essi.JPG" width="249" border="0" /></p>
<p>加上一个贴图作为自发光</p>
<p><img height="450" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_diff_norm_dis_selflight_ref.JPG" width="410" border="0" /></p>
<p><img height="417" alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/148001/o_reflect.JPG" width="413" border="0" /></p>
<p>再来一张贴图作为反射的强度</p>
<img src ="http://www.cnblogs.com/mygamelib/aggbug/1257129.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42115/" target="_blank">[新闻]谷歌Chrome浏览器即将更换LOGO颜色？</a>]]></description></item><item><title>vsm vs pcf</title><link>http://www.cnblogs.com/mygamelib/archive/2008/04/25/1170879.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Fri, 25 Apr 2008 04:56:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2008/04/25/1170879.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/1170879.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2008/04/25/1170879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/1170879.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/1170879.html</trackback:ping><description><![CDATA[<p>翻看了n个HLSL，终于把自己的vsm shader写好了。<br />
先发图，上面的2个是pcf,下面是vsm<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/132684/o_2.PNG" border="0" /><br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/132684/o_3.PNG" border="0" /><br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/132684/o_1.PNG" border="0" /><br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/132684/o_4.PNG" border="0" /><br />
<br />
写一两个shader简单。可真正游戏跑起来情况就复杂了。。<br />
shadow caster可能有骨骼或者没有。<br />
shadow <font face="Verdana">receive</font>r就更复杂了，也许有normal map，也许有parallax,或者还有env map，还有可能上面有一个影子，也可能有n个。。<br />
想到这些。就又崩溃。。。。<br />
<br />
mygamelib，是在ogre的基础上写的，我觉得ogre实现的效果一复杂，所要做的工作量就成倍的增加。。而且渲染的pass又增加，效率又成问题了。。。<br />
<br />
看来要想想办法，能不能让材质系统简单一些，不对是用起来简单一些。。。<br />
还是以前的固定管道简单。。多一张贴图，加上一个stage基本上就解决了问题。。。</p>
 <img src ="http://www.cnblogs.com/mygamelib/aggbug/1170879.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42101/" target="_blank">[新闻]淘宝网合并阿里妈妈 专家称阿里巴巴或有新战略</a>]]></description></item><item><title>shadow map</title><link>http://www.cnblogs.com/mygamelib/archive/2008/04/22/1165269.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Tue, 22 Apr 2008 03:24:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2008/04/22/1165269.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/1165269.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2008/04/22/1165269.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/1165269.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/1165269.html</trackback:ping><description><![CDATA[<p>最近没什么事,研究研究shadow map。<br />
paper几年前就看了一大堆，方法无非就是把模型画到一个buffer上面，然后用这个buffer帖到模型上。<br />
暂且就用PCF画影子吧。gears of war貌似也使用的PCF。<br />
做个稍微有点挑战的，点光源吧。<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/132684/r_捕获.PNG" border="0" /><br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/132684/r_捕获4.PNG" border="0" /><br />
模型有点奇怪，随便在max里拉了一个。<br />
点光源要渲染6次，崩溃。。。<br />
</p>
<img src ="http://www.cnblogs.com/mygamelib/aggbug/1165269.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42096/" target="_blank">[新闻]微软研究院发布 AutoCollage - 整理并融合照片</a>]]></description></item><item><title>skeleton animation</title><link>http://www.cnblogs.com/mygamelib/archive/2006/09/14/503967.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Thu, 14 Sep 2006 02:51:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2006/09/14/503967.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/503967.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2006/09/14/503967.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/503967.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/503967.html</trackback:ping><description><![CDATA[<p><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/skel-1.jpg" border=0><br></p>
<img src ="http://www.cnblogs.com/mygamelib/aggbug/503967.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42100/" target="_blank">[新闻]2008年9月5日科技博客精选</a>]]></description></item><item><title>在wow里偷了几个模型，haha</title><link>http://www.cnblogs.com/mygamelib/archive/2006/09/11/500604.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Mon, 11 Sep 2006 00:36:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2006/09/11/500604.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/500604.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2006/09/11/500604.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/500604.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/500604.html</trackback:ping><description><![CDATA[<p><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/map3.jpg" border=0><br><br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/map1.jpg" border=0></p>
<p><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/map2.jpg" border=0><br><br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/map4.jpg" border=0></p>
<img src ="http://www.cnblogs.com/mygamelib/aggbug/500604.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42099/" target="_blank">[新闻]SNS网站风靡影响工作效率 公司下令封杀</a>]]></description></item><item><title>Fresnel</title><link>http://www.cnblogs.com/mygamelib/archive/2006/09/10/500185.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Sun, 10 Sep 2006 03:37:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2006/09/10/500185.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/500185.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2006/09/10/500185.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/500185.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/500185.html</trackback:ping><description><![CDATA[水面的菲涅尔反射<br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/Fresnel.jpg" border=0> 
<img src ="http://www.cnblogs.com/mygamelib/aggbug/500185.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42098/" target="_blank">[新闻]《孢子》正式发布</a>]]></description></item><item><title>Parallax Map</title><link>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499659.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Sat, 09 Sep 2006 06:10:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499659.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/499659.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499659.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/499659.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/499659.html</trackback:ping><description><![CDATA[<img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/Parallax.jpg" border=0><br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/Parallax1.jpg" border=0> 
<img src ="http://www.cnblogs.com/mygamelib/aggbug/499659.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42097/" target="_blank">[新闻]微软CFO:仍对收购雅虎搜索业务感兴趣</a>]]></description></item><item><title>hdr</title><link>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499553.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Sat, 09 Sep 2006 03:33:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499553.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/499553.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499553.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/499553.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/499553.html</trackback:ping><description><![CDATA[<img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/hdr.jpg" border=0><br>来一张小岛的全景，小岛是200*200米,&nbsp;&nbsp;&nbsp;摄像机可以看1千米远的地形，，水面和天空盒子可以无限远<br><img height=688 src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/hdr1.jpg" width=1007 border=0><br>摄像机升高后天空盒子没有拉伸而且还和水面衔接。<br><img height=690 src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/hdr2.jpg" width=1004 border=0><br>hdr的glow效果<br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/hdr4.jpg" border=0><br><img height=618 src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/hdr3.jpg" width=965 border=0><br>hdr的曝光对比 
<img src ="http://www.cnblogs.com/mygamelib/aggbug/499553.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42097/" target="_blank">[新闻]微软CFO:仍对收购雅虎搜索业务感兴趣</a>]]></description></item><item><title>show show 花草树木</title><link>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499484.html</link><dc:creator>icecoffee</dc:creator><author>icecoffee</author><pubDate>Sat, 09 Sep 2006 02:31:00 GMT</pubDate><guid>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499484.html</guid><wfw:comment>http://www.cnblogs.com/mygamelib/comments/499484.html</wfw:comment><comments>http://www.cnblogs.com/mygamelib/archive/2006/09/09/499484.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/mygamelib/comments/commentRss/499484.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/mygamelib/services/trackbacks/499484.html</trackback:ping><description><![CDATA[<img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/tree0.jpg" border=0><br>可以同屏显示很多树<br><img height=643 src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/tree1.jpg" width=876 border=0><br>树林里面<br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/tree3.jpg" border=0><br>上面<br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/tree4.jpg" border=0><br><img src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/tree5.jpg" border=0><br><img height=646 src="http://www.cnblogs.com/images/cnblogs_com/mygamelib/tree6.jpg" width=879 border=0><br>上面两张是草的fade in 和 out 效果<br>看不太清楚，过两天发截个视频
<img src ="http://www.cnblogs.com/mygamelib/aggbug/499484.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42097/" target="_blank">[新闻]微软CFO:仍对收购雅虎搜索业务感兴趣</a>]]></description></item></channel></rss>