cp的小屋

not yet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  26 随笔 :: 0 文章 :: 199 评论 :: 1 Trackbacks

2008年4月21日 #

     摘要: 在游戏聊天文本框中支持类似QQ的表情动画以及各种转义符号已经成为网络游戏的必然选择,表情动画大家都很熟悉,转义符号是指在文本中嵌入一些特殊字符以表示文本属性或者一些特定的输出控制。其实表情动画也是通过转义符号表示的,只不过你不必直接输入这些转义字符,而是通过在表情列表框中选择表情,系统自动帮你输入这些符号。举例来说,用#R、#G、#B表示后面的文字分别以红、绿、蓝颜色显示,#b表示后面的文字闪烁,#n表示把后面的文字属性恢复到默认值,#加三个数字表示特定的表情符号,如#001表示一号表情,比如是一个笑脸。
  阅读全文
posted @ 2008-04-21 22:46 cproom 阅读(392) | 评论 (3)编辑

2007年12月8日 #

     摘要: 说到界面系统,在windows平台上用c++编程的人多少都会知道MFC,我也曾仿照MFC的设计实现过一款单机游戏的界面系统。然而现在多数人认为MFC是一个设计不佳,复杂且难于使用的系统。使用MFC编程需要很长的学习过程,界面逻辑被分散到各个窗口类中,为了实现一个复杂界面,你不得不为界面中几乎每一个窗口创建派生类,并将界面逻辑嵌入到这些窗口类中。整个界面形成一个父窗口、子窗口、控件等对象组成的树状结构,许多消息在这个树状结构中通过广播的方式找到它的处理函数。要操纵子窗口或者控件完成一些事情不得不先找到包含它们的父窗口,再通过父窗口函数或者成员变量来访问子窗口或控件。这些特点迫使界面逻辑要了解界面的组织结构,甚至依赖于这个组织结构,难以实现逻辑和界面结构、布局的分离。

游戏界面有其自身的特点,比如游戏的界面往往比较简单,不需要太复杂的结构和布局,能够满足特定游戏的需求就行,不会象MFC那样被用来实现各种各样的应用程序,面对大量的不同需求,甚至要实现不可预期的需求,这就要求MFC这样的系统具有极大的灵活性,和可定制性。另外游戏界面系统往往用c++语言实现,而  阅读全文
posted @ 2007-12-08 23:41 cproom 阅读(1031) | 评论 (3)编辑

2007年11月26日 #

     摘要: 随着多核CPU的普及,多线程设计对3D引擎已经变得越来越重要,很难想象一两年后推出的3D引擎还在使用单线程方式。但是多线程的引入使引擎变得更加复杂,不良的设计带来的性能提升非常有限,甚至在单核环境下还会出现明显的性能下降。所以找到一种清晰、简洁、高效的设计方式就变得至关重要。目前多线程3D引擎设计的资料还很少,多数只讨论一些原则性的概念,缺少具体实例的分析。

本文提出一种具体的3D引擎多线程实现方案,这种方案只是初步实现,还缺乏大量的测试和长期运行的考验,但其中的思路也许可以给大家提供一些参考。目前流行的线程功能划分一般会把资源加载和图像渲染分别独立到一个线程中,这也是非常直观的划分方式,本文也不例外,也是采用这种线程功能的划分。
  阅读全文
posted @ 2007-11-26 11:41 cproom 阅读(858) | 评论 (8)编辑

2007年9月14日 #

     摘要: 场景图一直被认为是适合游戏的通用场景管理算法,仿佛没实现过场景图就不算写过引擎。但是经过思
考和分析,我觉得场景图并不适合作为一种通用的场景组织方式,在下面我会说明理由,并提出一种替代的
适合目前mmorpg网游的场景管理方式。如果大家有什么不同看法可以和我讨论。

  阅读全文
posted @ 2007-09-14 20:39 cproom 阅读(1100) | 评论 (3)编辑

2007年7月16日 #

     摘要: 在上一篇中提到了通过对大规模草地的快速排序实现理想草地绘制效果的方法,今天在浏览www.gamedev.net论坛的时候意外发现了一种方法,可以避免对草地、树林这样通过alpha test方式绘制的对象进行排序又能达到接近排序效果的小技巧。这种方法需要两个pass绘制,消耗一些额外的像素填充率,但效果非常不错。在你无法对大量植被进行快速排序或者象交叉面片这种无法排序的情况不妨考虑一下这种方法。现在你可以在排序、不排序的普通alpha test绘制和这种两pass alpha test绘制之间做出明智选择了。  阅读全文
posted @ 2007-07-16 16:57 cproom 阅读(809) | 评论 (5)编辑

2007年6月22日 #

     摘要: 在现在的3D游戏室外场景中大片的茂密草丛为游戏增色不少,是玩家游戏体验真实感的重要组成部分。众所周知,对于象草这样的半透明物体在绘制时需要按到摄像机由远至近的顺序进行排序,否则会出现视觉错误。如果每一帧都对成千上万的草进行排序,CPU开销是极大的,甚至是不可接受的。  阅读全文
posted @ 2007-06-22 16:45 cproom 阅读(977) | 评论 (7)编辑

2007年6月11日 #

     摘要: 此函数用于生成GeoMipMap地形算法的所引Buffer,可以生成一个由参数指定的特定Patch的所引数据,生成的几何体为三角形条带,生成三角形中有部分退化三角形,用于三角形条带的连接。生成的三角形是CCW或者CW一致的。
  阅读全文
posted @ 2007-06-11 15:39 cproom 阅读(828) | 评论 (5)编辑

2007年6月7日 #

     摘要: 地形编辑器中的昼夜变化效果,按时间顺序排列,右边为相同时刻阴天效果。最后两张是早晨面向日出方向的截图。  阅读全文
posted @ 2007-06-07 11:58 cproom 阅读(790) | 评论 (5)编辑

2007年5月29日 #

     摘要: 实现了镜头眩光效果,眩光的强度目前只跟摄像机与太阳方向的夹角有关。如果摄像机到太阳方向的射线被场景遮挡则简单关闭眩光绘制,还没有实现根据太阳被场景遮挡程度的不同调节眩光强度的功能。  阅读全文
posted @ 2007-05-29 13:25 cproom 阅读(1148) | 评论 (7)编辑

2007年5月24日 #

     摘要: 实现了符合大气散射规律的天空颜色,可调节阴天、晴天,可调节云的浓淡。  阅读全文
posted @ 2007-05-24 20:21 cproom 阅读(1440) | 评论 (14)编辑

Locations of visitors to this page