﻿<?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>C++博客-Binormal</title><link>http://www.cppblog.com/shilei230/</link><description>The genuine programmers use C++</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 09:41:05 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 09:41:05 GMT</pubDate><ttl>60</ttl><item><title>Great Coder (4)</title><link>http://www.cppblog.com/shilei230/archive/2014/01/29/205597.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Tue, 28 Jan 2014 16:27:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2014/01/29/205597.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/205597.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2014/01/29/205597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/205597.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/205597.html</trackback:ping><description><![CDATA[ 他猛地把电子书窗口一关，心情久久不能平静，这简直就是武林绝学，如果说以前所学只是零零碎碎的招式，这下绝对算大招了!他正在盘算啥时可以耍耍。。。不急！赶紧给同道中人推荐，不过估计他们这会都还在奋笔疾书中。
作者太帅了！招招要害，没有一句废话，很对他的胃口。这种人要膜拜下，忽然他想起在某群里似乎有此大名！十几个群，每个群三四百人，慢慢来。。。
终于，在一个灌水群里，目标出现了，虽然是名字的拼音缩写，但是对于他这行的人来说，已经足够标记身份了。但是群里水货多，这哥们为啥要混这个群？他在想此人会不会像他以前的老大那样，有一种仰视数学老师的感觉。如果拿围棋做比喻此人能算几段？
这哥们似乎不在线，也许还在第一线创作。先看看签名，说的太TM对了！特别最后那句，程序决定生死，说出了自己的心声。他要加好友，大侠和高手两个词反复挑选，最后选了高手二字做称呼发了过去。
他忍不住又把电子书打开，再过一遍，感觉写得太TM好了，其意义简直是促进人类进步啊！那些花前月下，喝酒吹牛的的人，你们糟蹋了那些文字。
忽然好友申请通过了！高手在线！他毫不犹豫地把那个QQ拖到了&#8220;真正高手&#8221;好友组。。。   <img src ="http://www.cppblog.com/shilei230/aggbug/205597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2014-01-29 00:27 <a href="http://www.cppblog.com/shilei230/archive/2014/01/29/205597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Great Coder (3)</title><link>http://www.cppblog.com/shilei230/archive/2014/01/29/205596.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Tue, 28 Jan 2014 16:25:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2014/01/29/205596.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/205596.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2014/01/29/205596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/205596.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/205596.html</trackback:ping><description><![CDATA[  "又改！"对面的那位哥们已经失控了，只见他坦然一笑，好像见过成百上千次似的。他知道，写这东西，就算写的再好，碰见外行，也是对牛弹琴。你只要把结果整对，他就闭嘴了。想到这他把最后一个分号打上，一切准确无误。
"不行，我的意思是这样这样"，他有点不高兴，刚才明明不是这样说的，电视里说做人要厚道。但是改起来不麻烦，他赌气般地找到几处文字，退格，打字，哦了。
"这边还要加点东西，要不然太难看了"，他知道电视里说暴躁不好，但是此时明显有一股无名怒火在燃烧。加上应该就没事了，应该是最后一次了。他放慢打字速度，喝了点水，用这招来压制情绪。
正要发起反击，突然边上有人喊："你看别人是这样做的，我觉得他们好NB。"于是。。。他预感一分钟以后会发生什么。。。他不想那么被动，干脆提前改掉，他要证明我们和他们一样NB，这样就清静了。
电脑锁屏，安心小解，哼着小曲，轻松惬意。他在想我就不生气就不生气。回来路上远远看见有人在等他了，他想对方一定会很惊讶怎么这么快就搞定了。。。
"这功能想了一下，还是不要了"，他知道这次他忍不住了。。。 <img src ="http://www.cppblog.com/shilei230/aggbug/205596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2014-01-29 00:25 <a href="http://www.cppblog.com/shilei230/archive/2014/01/29/205596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Great Coder (2)</title><link>http://www.cppblog.com/shilei230/archive/2014/01/29/205595.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Tue, 28 Jan 2014 16:24:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2014/01/29/205595.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/205595.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2014/01/29/205595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/205595.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/205595.html</trackback:ping><description><![CDATA[ 这一夜，他翻来覆去睡不着，黑暗中的天花板越来越清晰。上次出现这情况还是三年前，那时他还是个菜鸟，很多东西似懂非懂。但是这次不一样，他已经答应了别人，千万不能搞砸了。
他隐隐约约记得U盘里似乎有他师兄给的一个文件，当时没看懂直接存在code目录下了。师兄好像说过这是他熬夜研究出来的东西，发给师弟欣赏下，但是版权要归他。当他双击那个EXE看到里面的画面之后，对师兄的佩服油然而生，从此暗下决心要像他那样。
但是师兄好久没消息了，上次师兄说过觉得累了，不打算继续干了，两人的话题也就越来越少了。
他知道，写这东西是需要灵感的，有时候死磕一天也比不上那灵光一闪！灵光呢?灵光呢？他无法想象明天别人的目光。他对自己说：这一切是不可能发生的！
突然他坐起来了，右手伸向了电源键，休眠中的电脑传来了标准的开机声音。很快，在他面前出现了新加卷里的那个文件。他飞快地做了个快捷方式，然后切回桌面。
&#8220;师兄果然是师兄！&#8221;，那一刻他由衷赞叹却又思绪万千，他觉得师兄的选择太草率了，如果大家都能坚持下来，想切磋就切磋，岂非人生快事！
十分钟之后，电脑关上了，这回不是休眠，是关机。。。<img src ="http://www.cppblog.com/shilei230/aggbug/205595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2014-01-29 00:24 <a href="http://www.cppblog.com/shilei230/archive/2014/01/29/205595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Great Coder (1)</title><link>http://www.cppblog.com/shilei230/archive/2014/01/29/205594.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Tue, 28 Jan 2014 16:23:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2014/01/29/205594.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/205594.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2014/01/29/205594.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/205594.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/205594.html</trackback:ping><description><![CDATA[ 凌晨3点，在一间狭窄的屋子里，光线昏暗，烟味浓重，一个挂接在机箱外的硬盘不时闪着蓝色光芒。靠背椅上坐着一个胡子拉茬，满眼血丝的人，他披着一件一个多月没洗的外套，走火入魔般地敲打着键盘。&#8220;难道是这里？&#8221;，他喃喃自语地按下了F5，这一次又要等上半个小时。他习惯性地伸出双脚往桌子上一搭，忽然想起了刚才在网上和他争吵的那个菜鸟，&#8220;这都不懂？！&#8221;，紧绷的脸上露出了诡异的微笑。。。
但是一瞬间他好像感觉到了什么，鼠标拖动一番之后，僵硬的表情凝固了足足十秒钟。&#8220;不可能啊！&#8221;他狠狠吸了一口烟，双手在键盘上一阵捣腾，一分钟，两分钟。。。五分钟，终于紧皱的眉头慢慢舒展，仿佛一切又回到了他的控制之中。只见他打字越来越快，越来越快，直到戛然而止。。。
原来是QQ消息来了，他有些后悔没把QQ关了，F-Word脱口而出，显然他不喜欢三更半夜被别人打断思路。他瞥了一眼闪烁的头像，顿时眼冒怒光：这菜鸟还没搞定吗？心烦意乱之余他点开了头像。。。
&#8220;大侠，我错了，搞定了&#8221;，他很不耐烦听到这些，正准备拉黑，消息又响了：&#8220;但是我发现还有更好的办法。。。&#8221;一种说不出来的感觉，是愤怒？是好奇？他决定不回消息，看看那菜鸟怎么说。。。
笑了，他笑了，显然他发现了一个愚蠢的错误，于是毫不犹豫的打了几个字发了过去，那边是沉默，久久的沉默。他估计菜鸟正在努力理解那几个字，便切回刚才的窗口，却想不起刚才写到哪了。。。
终于打字声再次响起，他完全沉浸在了自己的世界里，一切都是那么的井然有序，太完美了。激动人心的时刻来到了，他把左手食指停在F5上方，想了几秒钟，按下去了！
他闭上眼睛，想象着半个小时之后的喜悦。这时一阵饥饿感突然袭来，晚饭吃过了吗？现在几点了？一时想不起来。趁着这会有空他想去找点吃的，但是。。。QQ又响了！
不错，还是那位菜鸟，还是称呼他&#8220;大侠&#8221;，对他竖了一个大拇指。突然他觉得菜鸟不那么烦人，貌似还有点自己若干年前的影子。。。 <img src ="http://www.cppblog.com/shilei230/aggbug/205594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2014-01-29 00:23 <a href="http://www.cppblog.com/shilei230/archive/2014/01/29/205594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Torque开源随想</title><link>http://www.cppblog.com/shilei230/archive/2012/10/20/193557.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Fri, 19 Oct 2012 16:47:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2012/10/20/193557.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/193557.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2012/10/20/193557.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/193557.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/193557.html</trackback:ping><description><![CDATA[ 五年前入行就是从Torque Shader Engine开始的,当时的Torque掺杂了若干C语言的实现,架构比较混乱.它的编辑器还算强大,另有一本专门介绍如何用Torque脚本编写游戏的书,并且还有一个像样的论坛(VIP用户要花钱).当时要为它添加一个特效系统,后来发现有一个叫AFX的特效系统是基于Torque开发的可供参考,就花了一个月时间把它移植了过来.再然后就离开Torque阵营加入OGRE阵营.
后来一直陆陆续续地关注着Torque的发展,听说过它的维护者GarageGames和微软合作了,搞了个XNA,应该其中包含了Torque的技术(我没研究过XNA),再后来Torque 3D出现,声势浩大,但是要收费,所以没下也不知道它长啥样.只是感觉这五年来但凡有印象的大小游戏没听说过有用Torque做的,不免让人遗撼.
这五年以来先后出现了UE3,CE3这种次世代引擎,Torque选择在这时候开源是明智的(Gamebryo都快撑不住了,OGRE就更别说了),它可以做为一款比较适合入门的引擎.它的技术经过这么多年这么多人的发展肯定也有可取之处(当年还赞叹它能把OGL和D3D统一起来),所以既然开源了没有不下的道理.架构一定要看下,希望不要再让人纠结了.<img src ="http://www.cppblog.com/shilei230/aggbug/193557.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2012-10-20 00:47 <a href="http://www.cppblog.com/shilei230/archive/2012/10/20/193557.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>每周算法:网格勾边之轮廓检测算法</title><link>http://www.cppblog.com/shilei230/archive/2010/07/25/121237.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Sun, 25 Jul 2010 05:45:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2010/07/25/121237.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/121237.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2010/07/25/121237.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/121237.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/121237.html</trackback:ping><description><![CDATA[在某些情况下需要做网格的轮廓检测,例如ShadowVolume,勾边渲染等,具体算法如下:<br><br>假设参考边为uv,u和v是两个端点所有共享边uv的面集合记为sides,则:<br>1.遍历网格的索引缓存,对每条边构建sides;<br>2.对每个sides集合,检查dot(normal(side[i]),view),view是视线方向,如果结果中有正有负,则该边为轮廓边,将轮廓边加入一个图结构graph;<br>3.在graph中使用深度优先算法检测回环,如果有回环就是轮廓.
<img src ="http://www.cppblog.com/shilei230/aggbug/121237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2010-07-25 13:45 <a href="http://www.cppblog.com/shilei230/archive/2010/07/25/121237.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>每周算法:渐进网格之减面算法</title><link>http://www.cppblog.com/shilei230/archive/2010/07/14/120375.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Wed, 14 Jul 2010 12:40:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2010/07/14/120375.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/120375.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2010/07/14/120375.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/120375.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/120375.html</trackback:ping><description><![CDATA[<p>减面算法一般分减点和减边两种,前者减一点会影响好几个面,网格形状变化会比较大,所以研究后者比较有意义,一种参考算法如下:</p>
假设参考边为uv,u和v是两个端点,所有共享点u的面集合记为faces,所有共享边uv的面集合记为sides,则cos(u,v)=max(min(dot(face[i].normal,sides[j].normal)))*length(uv). 
<img src ="http://www.cppblog.com/shilei230/aggbug/120375.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2010-07-14 20:40 <a href="http://www.cppblog.com/shilei230/archive/2010/07/14/120375.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反驳极限编程的四点理由</title><link>http://www.cppblog.com/shilei230/archive/2007/07/07/27657.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Sat, 07 Jul 2007 08:08:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2007/07/07/27657.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/27657.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2007/07/07/27657.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/27657.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/27657.html</trackback:ping><description><![CDATA[接触极限编程一段时间，找到以下四点反驳它的理由：<br>[1]代码质量<br>极限编程运用测试驱动开发（TDD），其理论基础是需求应该是可测试的，其目的在于保证软件系统的正确性和健壮性（测试用例足够充分的话）。可以这么认为：极限编程关心的是结果，不关心过程。因此它忽略了软件系统的结构性和开放性。我们知道结构性有助于修改，开放性有助于扩展，而极限编程却放弃这种追求，导致的结果就是产生一大堆丑陋的代码，而且随时有可能被彻底抛弃。<br>极限编程解决效率，结构性和开放性问题的对策是重构，它宣称重构无处不在，但是重构是一种补救的方式，为什么不在设计初期进行预防呢？极限编程回避不了这些问题，而只是将它们推到了后面的阶段，但是付出的代价可能会更高。<br>[2]工作进度<br>极限编程直接将代码作为文档，弱化传统文档的作用。既然如此，那么代码就应该有规范的格式和详尽的注释，以便提高它的可读性，但是由于极限编程采用的是团队合作方式，代码规范很难得到统一。那么通过注释吧，可是极限编程认为注释是一种负担，无法适应频繁修改的代码。<br>极限编程解决沟通问题的对策是结对编程，它认为频繁的沟通胜过面面俱到的文档，但是文档是永久的，沟通却是短暂的，大家可以看同一份文档，却要进行多次两两沟通，所需时间也许并不比写文档的时间少。更糟糕的是，经常地切换搭档将极大地破坏工作的延续性，只能拖慢进度。<br>[3]工作量<br>测试驱动开发具体应该怎么做呢？测试驱动决不是说代码从测试写起，在写测试用例之前，肯定要对需求有完整的了解，否则测试无从写起，其实这就是需求分析以及设计，还是与瀑布模型一样的流程，只不过没有文档化而已。唯一不同的是极限编程要求需求都是可测试的，因此要把这些需求翻译成系统测试用例，集成测试用例，和单元测试用例。由于写程序必须同时写它的测试，因此如果改程序则必须改测试，这将达到两倍的工作量。<br>[4]目的<br>极限编程认为需求是不断变化的，因此软件能满足当前需求就好，没有必要构造框架之类可复用的东西，它认为这是一种过度设计。这种思想是极端的，因为框架就是为了解决需求变化问题而出现的。举个例子，MFC就是一套框架（尽管我厌恶它），但是基于MFC却可以开发网络，多媒体，数据库甚至游戏应用程序。面向对象的目的就是为了复用，而且好的框架能够做到隔离变化，依赖抽象，如果认为软件系统的一切东西都是暂时的，无疑是与面向对象思想背道而驰的。
<img src ="http://www.cppblog.com/shilei230/aggbug/27657.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2007-07-07 16:08 <a href="http://www.cppblog.com/shilei230/archive/2007/07/07/27657.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Cg之我见</title><link>http://www.cppblog.com/shilei230/archive/2006/10/20/13924.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Fri, 20 Oct 2006 13:36:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2006/10/20/13924.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/13924.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2006/10/20/13924.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/13924.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/13924.html</trackback:ping><description><![CDATA[    说来惭愧，学了这么久的图形学，今天才动手编了自己的第一个Cg程序，参考的就是那本《The Cg Tutorial》。Cg的GPU概念彻底改变了我对图形学的看法，传统的程序都是由CPU执行的，这种观念在其它方向的程序员看来天经地义，但是对于图形程序员来说，从2002年Cg诞生开始就已经颠覆了。面向GPU编程，让CPU解放出来，能够极大地提高了渲染速度。还有，它实现了可编程的渲染，对于游戏来说，就意味着能够以脚本的形式来渲染场景了，如果再配合那些AI脚本，游戏引擎基本上就能够建立在脚本之上了！大部分的C++程序员都会对Cg有种似曾相识的感觉，因为它是面向图形的C语言，配置和编程都很符合习惯。对于使用DirectX的游戏程序员来说，Cg与HLSL其实上同一种语言。我个人认为DirectX的所有组件其实都可以使用别的工具代替，而Cg则是其中最高级的替代品，决定用它了。<img src ="http://www.cppblog.com/shilei230/aggbug/13924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2006-10-20 21:36 <a href="http://www.cppblog.com/shilei230/archive/2006/10/20/13924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>射击类三维游戏引擎</title><link>http://www.cppblog.com/shilei230/archive/2006/09/28/13087.html</link><dc:creator>Binormal</dc:creator><author>Binormal</author><pubDate>Thu, 28 Sep 2006 03:30:00 GMT</pubDate><guid>http://www.cppblog.com/shilei230/archive/2006/09/28/13087.html</guid><wfw:comment>http://www.cppblog.com/shilei230/comments/13087.html</wfw:comment><comments>http://www.cppblog.com/shilei230/archive/2006/09/28/13087.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/shilei230/comments/commentRss/13087.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shilei230/services/trackbacks/13087.html</trackback:ping><description><![CDATA[
		<p>        毕业论文的初稿已经出来了，暂时可以先喘一口气，我做的是《射击类三维游戏引擎》，总的感觉是“麻雀虽小，五脏倶全”。我将引擎分成了七块：界面包、资源包、设备包、实体包、实用包、工具包和一个程序框架。界面包负责显示视图，资源包负责调度资源，设备包负责虚拟设备，实体包管理游戏中有意义的实体，实用包包括物理系统、效果系统、媒体系统和脚本系统，工具包包含一些数学和图形学的数据结构，程序框架采用Windows的消息驱动和消息映射机制。体系结构比较清晰，但是技术含量还有待提高。当前主流的游戏引擎都支持图形两套引擎（OpenGL和Direct3D）以及一门高级渲染语言Cg，而我的引擎只用了OpenGL，只能感叹自己学艺不精。图形学方面从来就不缺牛人，而且很多都是从数学转过来的，不过我也是从数学科班出身，也许几年之后...不管那么多，向人家取经吧。</p>
<img src ="http://www.cppblog.com/shilei230/aggbug/13087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shilei230/" target="_blank">Binormal</a> 2006-09-28 11:30 <a href="http://www.cppblog.com/shilei230/archive/2006/09/28/13087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>