自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的学习空间

专注游戏开发,软件开发研究

  • 博客(13)
  • 收藏
  • 关注

原创 游戏引擎介绍2

游戏引擎介绍2第7部份: 网络和连线游戏环境网络游戏  我记得一些年前坐在GDC(游戏开发者大会)听负责开发X-Wing Vs TIE Fighter的家伙们题为“淹没在Internet” 的演讲,全是关于让网络游戏实时地在Internet上工作的东西。他们选择那个题目是多么的正确啊。当它开始处理数据包的丢失,乱序,潜伏(一个数据包发送到它的目的地所花的时间)等等时,它确实淹没了。然而它是可能

2007-08-31 17:21:00 1388

转载 游戏引擎介绍1

游戏引擎介绍1原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com ------------------------------------------------------------第1部分: 游戏引擎介绍, 渲染和构造3D世界介绍  自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游

2007-08-31 17:19:00 3592

转载 epoll简介

 名词解释:man epoll之后,得到如下结果:NAME       epoll - I/O event notification facilitySYNOPSIS       #include DESCRIPTION       epoll is a variant of poll(2) that can be used either as Edge or Level     

2007-08-28 11:41:00 2232

转载 Quake III中不可思议的求解平方根实现方法

任何一个3D引擎都是通过其内部的数学模型和实现工具来展现它的力量与速度的,and trust John Carmack of ID software for using really good hacks. 结果,Quake III中使用了一个非常有意思的技巧来计算平方根倒数(inverse square root) 前言ID software最近发布了它的带有Gpl许可证的Quake III引擎

2007-08-24 15:17:00 1963

转载 网游服务端结构设计

 .概述LoginServer  GameServer服务端主体分为LoginServer和GameServer, LoginServer做帐户认证, GameServer做游戏主逻辑,中间也可以加一个CharServer啦, 做人物管理, 新建删除人物之类的, 也可以并到GameServer一起, LoginServer和CharServer都比较简单, 略过.通过LoginServer的验证后

2007-08-24 14:58:00 1531 1

原创 关于构造函数和析构函数

今天看 c++primer 3rd,构造和析构函数时,对以前一些想不明白的问题,突然有了点想法。1、为什么构造函数可以有多个,而析构函数只能有一个?因为析构函数的作用就是释放资源,它不知道自己是由哪一个构造函数创建的,因此,也就没有参数,所以只能有一个,而不能被重载。这在原理上也是讲得通的,一个对象,产生的时候可以有多种方法,但结束只有一种,因为没有信息保存它是如何产生的。 

2007-08-23 11:25:00 501

转载 STL中的函数对象(Funciont Objects)

概要一个函数对象(Function Object或者Functor)简单的说就是能够以函数调用的形式出现的任何东西。一个普通的函数显然就是一个函数对象,函数指针也是,更一般的,一个定义了operator()的Class也是。描述基本的函数对象的概念有Generator,Unary Function(一元函数),Binary Function(二元函数):他们各自表示能以F(),F(x),F(x

2007-08-22 11:46:00 593

转载 线程的同步

   虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取数据库以响应储户的需要,极有可能读数据库的线

2007-08-21 14:00:00 458

转载 静态成员函数

静态成员函数有以下特点:     可以通过class::function方式调用,不用生成实例     不能访问非静态的成员变量   静态成员函数是类的一部分,而非对象的一部分。     非静态成员函数调用时还隐式的传进一个this指针,静态成员函数不传this指针。静态成员函数一般情况下只能访问静态成员变量,因为不接受隐含的this指针。     另外作为类的静态成员函数,不用声明对象,

2007-08-21 09:26:00 3210

原创 关于虚函数的体会

 今天阅读服务器端代码,发现Thread.cpp 和 NetThread.cpp 之间的继承关系很有意思。Thread中run函数通过设置某一参数为*this,很方便的实现了对子类对象的访问。

2007-08-20 17:43:00 555

转载 signal函数语义

signal函数语义- -                                       unix信号signal定义#include void (*signal(int signo,void(*fun)(int)))(int)说明:1 返回值是一个 void (*)(int)类型的函数指针         2 signo是信号名         3 第二个参数为该信

2007-08-20 13:56:00 1270

转载 钩子(hook)

钩子程序是在内存中可以不断的在内存中拦截你要控制设备的消息并且可以对该消息进行处理过滤。钩子是WINDOWS留给我们的后门,比如你想控制键盘,在DOS时代很简单通过INT即可,而WINDOWS时代不允许我们直接操作硬件;由于WINDOWS是消息驱动,所以我们可以拦截键盘消息以达到控制键盘的目的。但是控制自己进程的消息固然很简单,要控制所有进程消息要利用钩子了。将钩子函数放在DLL中,所有的有关键盘

2007-08-20 09:47:00 631

转载 关于回调函数(ZT)

 调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。 CPU为此准备了现成的调用指令,调用时可以压栈保护现场,调用结束后从堆栈中弹出现场地址,以便自动返回。借堆栈保护现场真是一项绝妙的发明,它使调用者和被调者可以互不相识,于是才有了后来的函数和构件,使吾辈编程者如此轻松愉快。若评选对人类影响最大之发明,在

2007-08-20 09:45:00 532

空空如也

空空如也

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

TA关注的人

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