自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 坐标系变换经验

2012-07-11 12:02:35 573

原创 Ogre 引擎四元数与三维向量相乘算法推导

在Ogre引擎中数学模块里的四元数类中有一个四元数与三维向量相乘的函数。函数如下所示: Vector3 Quaternion::operator* (const Vector3& v) const { // nVidia SDK implementation Vector3 uv, uuv; Vector3 qvec(x, y, z); uv = qvec.crossP

2012-07-11 11:58:51 1649

原创 约翰卡马克的编码规范

通用命名规则------- tab 键的空格数设置为4个。 在每处都使用大括号(if,else,函数,结构体,typedef,类定义,等等) if ( x ) {}else 代码段的左大括号 与 右大括号开始在同一行if ( x ) {} else {}表达式与左右括号间要用空格空开。 例如:用if ( x ) {}代替如下语

2013-03-22 11:30:16 1739

转载 四元数

为什么使用四元数为了回答这个问题,先来看看一般关于旋转(面向)的描述方法-欧拉描述法。它使用最简单的x,y,z值来分别表示在x,y,z轴上的旋转角度,其取值为0-360(或者0-2pi),一般使用roll,pitch,yaw来表示这些分量的旋转值。需要注意的是,这里的旋转是针对世界坐标系说的,这意味着第一次的旋转不会影响第二、三次的转轴,简单的说,三角度系统无法表现任意轴的旋转,只要一开始

2012-07-06 16:22:45 896

转载 Visual Studio 2010 在 WindowsXP 下安装帮助文档问题解决

安装完VS2010后再安装MSDN打开“Help Library 管理器 - Microsoft Help 查看器 1.0”提示“请为本地内容选择位置”默认的位置是在“C:\Documents and Settings\All Users\Application Data\Microsoft\HelpLibrary\”将其改变到“D:\Program Files\VS2010

2012-06-26 09:58:21 590

原创 3DS Max8 导出插件编写配置经验

1.    建立项目:在visual studio 2008环境下,需要新建一个win32的DLL项目:选中“win32项目”。给项目起好名称后,点击确定 点击“下一步”。选中“DLL”和“空项目”然后点击完成。此时项目创建完成。下面开始配置项目。 2.头文件目录配置:在“附加包含目录”项中输入maxsdk的头

2012-06-25 15:56:52 689

原创 Doom3 CVarSystem分析

转发请注明出处CVarSystem是用来方便管理控制台变量的。其中核心类有idCVar类与 idCVarSystem。 其中idCVarSystemLocal实现了idCVarSystem类。声明一个idCVar对象即声明了一个控制台变量,例如:idCVar my_var("myval0");但是想象一下,当我们在程序中多处使用一个变量的时候,若我们把我们所要的数据塞到id

2012-06-24 10:53:56 535

原创 Doom3 引擎渲染管线分析

转发请注明出处Doom3的渲染管线分为两个阶段,一个是前端渲染,一个是后端渲染。其中前端渲染负责绘制简单的2D UI和提供解析场景树并将需要绘制的物体打包且用“渲染命令”进行序列化,并排序然后送往后端进行渲染。后端渲染是真正进行渲染的地方,它接受前端传来的“渲染命令”链表,然后逐一解析并调用OPENGL API进行渲染。Doom3每帧都会调用session的UpdateScre

2012-06-24 10:51:43 1004

原创 DOOM3 命令系统分析

doom3命令系统中,重要的类有idEventDef负责管理命令的注册声明,idEvent是命令对象。该命令系统主要数据结构有 eventDefList , FreeEvents,EventQueue,EventPool其中EventPool是一个声明为 idEvent 的 4096个对象的数组,该数组是命令对象的分配池。这样在实时运行时,省去了从堆中分配命令与在堆中释放的时间。在

2012-06-24 10:50:50 670

原创 DOOM3 运行时型别判断与消息映射机制

Doom3的型别判断主要依靠idTypeInfo类提供信息,该类的主要成员有   class idTypeInfo {public:const char * classname;//当前类名const char * superclass;   //父类名idClass * ( *CreateInstance )( void );//指向类实例化函数的指针void (

2012-06-24 10:49:27 551

原创 Doom3引擎初始化分析

首先,进入的是Doom3的WinMain函数。(其中"..."为省略其中代码)下面展示的是WinMain函数的主要结构int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {...Sys_SetPhysicalWorkMemory(

2012-06-24 10:48:27 1140

空空如也

空空如也

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

TA关注的人

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