自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

Nebula3的多线程架构

Nebula3的代码运行在两种根本不同的方案中. 第一种方案我称之为”Fat Thread”. 一个Fat Thread在一个线程中运行一个完整的子系统(如渲染, 音频, AI, 物理, 资源管理), 并且基本上锁定在一个特定的核心上. 第二种类型的线程我叫它”Job”. 一个job是一些数据和用于处理这些数据的包装成C++对象的代码. 工作调度程序掌管了Job对象, 并且把工作分配给低负载的...

2008-10-31 23:55:00 56

Nebula3资源子系统

跟N2比起来, N3的资源子系统更加开放, 让程序员对资源的创建和管理更多的控制. Nebula3的资源有下面几个特性: 包装了一些其它Nebula子系统需要的数据 可以用ResourceId共享 可以在任何时候加载(初始化)和卸载 可以同步或异步加载 例如典型的图形资源有网格和纹理, 但资源子系统并不局限于图形资源. 资源子系统有两个操作层次( 可能以后会把他们放入两个不...

2008-10-30 00:44:00 64

Nebula3脚本系统

Nebula2的脚本系统实现了一个面向C++的脚本接口, 它把脚本命令直接映射到了C++方法. 从技术角度来说, 这是一个简捷的思路, 但是对于需要把游戏逻辑和行为脚本化的关卡设计师来说, Nebula2的脚本系统太底层和透明了. 关卡逻辑脚本一般来说构架于比C++接口更高级的层次上, 直接把脚本命令映射到C++方法会把脚本层次弄得错综复杂. Bug甚至会比同样的C++代码更多, 因为脚本语言...

2008-10-28 23:47:00 197

C++与Flash的交互

研究Flash嵌入游戏中的可行性....... 渲染问题已解决 事件响应已解决 下面是C++与Flash AS的交互, 以MFC为例: 1. 新建一个MFC Dialog程序 2. 添加一个Flash控件 3. 把Flash控件添加一个变量 4. 在OnInitDialog()中添加载.swf文件 // CCppFlashDlg 消息处理程序 ...

2008-10-22 10:12:00 101

MPQ Plugin for Total Commander

一直以来我都用TC而不用Windows的资源管理器的 今天在看MPQ文件格式, 在StormLib的网站上找到这么个东西: MPQ Plugin for Total Commander v 1.2.0.53 (1,87 MB) for Win95/98/NT/ME/2000/XP/Vista Archive plugin for Total Commander. Allow...

2008-10-20 20:16:00 84

Nebula3的场景管理

N3的场景管理最为核心的一个类是GrphicsServer, 它包含一些"stage"和"View". Stage把图形实体(模型, 摄像机, 灯光)进行分类渲染. 它的主要工作是在连接的图形实体间加速可见性查询. 不同的可见性查询由不同的Stage子类来实现. N3会提供了一些不同用途的Stage子类, 但你也可以根据程序需要自己来实现可见性查询机制. 可见性查询适用于这些...

2008-10-20 13:18:00 59

关于Nebula3工程的几个编译选项

研究一下人家是怎么通过编译选项来优化性能的 DEBUG: C++/Code Generation/Enable String Pooling: Yes (/GF) 该选项使编译器能够为执行过程中程序映像和内存中的相同字符串创建单个副本,从而得到较小的程序,这种优化称为字符串池 C++/Code Generation/Enable C++ Exceptions: No 禁用...

2008-10-15 23:05:00 80

嵌入式的浏览器有第三种方案啦

最初在游戏里嵌入网页用的是LLmozLib, 说实话, 还不错, 用的FireFox的解析引擎 但是它的编译太麻烦了, 而且跟一些引擎代码直接链接到一起的话还会冲突 最让人觉得不爽的是, 附带了一大堆的DLL和资源文件 后来自己用IE的IWebBrowser2实现了一个嵌入浏览器, 除了滚动条拖动和效率还有点问题, 也基本上能用 好处是兼容性好, 也不用附带什么 后来看到goog...

2008-10-12 23:43:00 2185

纹理投影测试

对于不规则的几何体的纹理坐标, 差不多都是通过投影来算的吧 冒似有个"球状纹理"投影到一个物体上, 就像CubeMap 还有一种"圆柱形纹理", 对物体一圈进行投影 GPU Gems3里有个不规则地形(X,Y,Z三个方向上都有面), 这时就没法简单地用X,Z坐标来计算UV了 对于基于高度图的地形来说, 如果Y方向很高的话, 纹理会有明显的拉伸现象 这时就可以换个方向进行投影, 用于制作悬...

2008-10-12 22:06:00 109

Nebula3的Input系统

相对于其他的子系统来说, 输入系统是比较简单的. 很多游戏根本就没有对这一块进行封装, 而直接采用了Win32的消息机制. 不过经过封装的输入系统使用起来很方便, 呵呵. N3中有三种输入设备, 键盘, 鼠标, 手柄. 分别是基于Win32消息, DirectInput, XInput实现的. 这里有一个继承图能够很好的说明输入系统的组织结构: 基本的消息处理机制是这样的一个流程...

2008-10-06 23:26:00 53

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除