自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

翻译 12. Using cNodeTree

 只要你使用Core在你的项目中,那使用cNodeTree类是非常容易的。给他一个网格,并渲染。// Graphics = pre-initialized cGraphics objectcMesh Mesh;cNodeTreeMesh NodeTreeMesh;cCamera Camera;cFrustum Frustum;// Load a mesh

2008-07-26 18:47:00 352

翻译 11. cNodeTreeMesh::Render

 因为渲染函数需要通过viewing frustum,你需要一条重载视角范围距离的路。如果你想画出网格的一部分,可以通过制定到视点的距离。比如,如果frustum可以看到20000单位,但你逆袭那个渲染5000单位的多边形,那么指定5000到ZDistance。Render函数开始与计算viewing frustum和锁定顶点缓冲:BOOL cNodeTreeMesh:

2008-07-26 18:46:00 388

翻译 9. cNodeTreeMesh::IsPolygonContained

  BOOL cNodeTreeMesh::IsPolygonContained(sPolygon *Polygon, /float XPos, float YPos, float ZPos, /float Size){float XMin, XMax, YMin, YMax, ZMin, ZMax;sVertex *Vertex[3];// Get

2008-07-26 18:27:00 318

翻译 10. cNodeTreeMesh::AddNode

 你要结合Render 函数来使用cNodeTreeMesh::AddNode函数。AddNode执行对所有节点的frustum验证,并递归验证他的所有子节点。起初调用AddNode,m_ParentNode变量已经被传进AddNode,从根节点开始处理:void cNodeTreeMesh::AddNode(sNode *Node){unsigned long i

2008-07-26 18:27:00 472

翻译 8.cNodeTreeMesh::SortNode

 cNodeTreeMesh::SortNode是一个递归函数,它计算节点3D空间中多边形的数量,并决定节点是否需要分裂为4个或8个子节点(根据树类型)。当节点适当的分裂之后,SortNode函数建立一个多边形列表包含于节点3D空间。 这个函数储存节点的坐标和开始分裂的节点:void cNodeTreeMesh::SortNode(sNode *Node, /f

2008-07-26 18:26:00 311

翻译 7. cNodeTreeMesh::Create and cNodeTreeMesh::Free

 7. cNodeTreeMesh::Create and cNodeTreeMesh::FreecNodeTreeMesh::Create是整个处理过程的开端。要创建一个NodeTree结构,你需要一个网格(mesh)资源,较好的方法是从cMesh对象中获得。cMesh对象包含了一个网格列表,它把含一个.x文件,并可以使得事情变得简单,仅仅需要处理列表中的第一个网格就可以。  要

2008-07-26 18:24:00 326

翻译 6. Creating the cNodeTree Class(创建cNodeTree类)

 6. Creating the cNodeTree Class(创建cNodeTree类)是时候设计下了。你得先创建一些结构用来描绘顶点(vertices)、多边形(polygons)、节点(nodes)、纹理组(texture Groups):// 这个sVertex结构体是一个常用的顶点结构体, // 它只包含3D坐标. 这里他被用于从网格顶点缓冲中返回坐标信

2008-07-26 18:22:00 331

原创 将分解的C++RPG引擎分配到VC++6.0 DirectX9.0 AppWizard项目中

因为项目需要,我们打算用vc++6.0 中的DirectX9.0 AppWizard工程框架。此框架可以实现MFC与DirectX的结合,可以免去很多麻烦。但之前研究的DX代码都是基于Win32,所以有移植的问题。需要 C++ -Game  Programming RPGs With DirectX 中带的引擎代码转换到框架中可用。最重要的是Graphics_Core,所以对此我将

2008-07-26 17:48:00 860

翻译 3.3 Using the Input Core

 3.3 Using the Input Core使用Input Core是非常简单的,只需实例化一个cInput类对象,并列出你想使用的设备的cInputDevice对象,并初始化他们就可是开用了。比如,你说你想使用两个设备,键盘和鼠标:cInput g_Input; // 全局声明cInputDevice g_Keyboard;cInputDevice g_

2008-07-18 16:07:00 334

翻译 3.2 Input Devices with cInputDevice

 3.2 Input Devices with cInputDevice这才是真正的重点。cInputDevice用于初始化一个指定的输入设备(如键盘、鼠标、游戏杆),并返回一些可以用到你游戏中的设备信息。class cInputDevice{public:cInput *m_Input; // cInput父类short m_Type; // 设备类型

2008-07-18 16:00:00 464

翻译 3 The Input Core(输入)

 3 The Input Core(输入)吆!。。。。。设备输入只有两个简单的类:cInput和cInputDevice。你要使用cInput类实例化DirectInput,别使用cInputDevice类去容纳一个DirectInput设备。如果你使用多个设备,就用多个cInputDevice对象分开表示他们 3.1 Using DirectInput with cInput

2008-07-18 15:59:00 355

翻译 2.11 Making Meshes Move With cAnimation(动画了吧)

  2.11 Making Meshes Move With cAnimation(动画了吧)这是Game Core的最后一个了——网格动画。使用cAnimation你可以从x文件中装载一系列的动画并结合cObject来赋以网格生命力。cAnimation类很小,很像cMesh,cAnimation有一个很小的结构体用来保存动画数据,看看声明:class cAnimat

2008-07-18 15:57:00 389

翻译 2.10 Drawing Objects Using cObject(用cObject绘出对象)

 “为什么不直接用cMesh对象绘出模型?”答案是:memory usage(内存用法);要是你想反复利用同一个网格(mesh),那cObject就可以帮你解决:class cObject{protected:cGraphics *m_Graphics; // cGraphics父对象cMesh *m_Mesh; // 要绘出的网格sAnimationS

2008-07-18 15:56:00 351

翻译 2.9 Loadable Meshes using cMesh(网格)

 2.9 Loadable Meshes using cMesh(网格):class cMesh{private:cGraphics *m_Graphics; // cGraphics 父对象long m_NumMeshes; // 网格数量sMesh *m_Meshes; //网格列表long m_NumFrames; // 框架(frame)

2008-07-18 15:51:00 401

翻译 2.8 View Transformations and cCamera(摄像机)

 2.8 View Transformations and cCamera(摄像机)咦,估计老外也腻了,直接来个声明:class cCamera{protected:float m_XPos, m_YPos, m_ZPos; //位置坐标float m_XRot, m_YRot, m_ZRot; // 旋转值// 摄像机跟踪目标float m_S

2008-07-18 15:44:00 409

翻译 2.7 World Transformations with cWorldPosition(世界坐标啊)

 2.7 World Transformations with cWorldPosition(世界坐标啊)我想你一定想知道老外在这各地方说些什么废话,我为什么不翻译呢?恩,现在还是不翻译了吧:class cWorldPosition{protected:BOOL m_Billboard; // 标志是否使用公告牌// 当前坐标、旋转、缩放floa

2008-07-18 15:42:00 352

翻译 2.6 Vertices and cVertexBuffer(顶点缓冲)

 2.6 Vertices and cVertexBuffer(顶点缓冲)累死我了:class cVertexBuffer{private:cGraphics *m_Graphics; // cGraphics父类IDirect3DVertexBuffer8 *m_pVB; // Vertex buffer COMDWORD m_NumVertice

2008-07-18 15:09:00 396

翻译 2.5(?) Text and Fonts Using cFont(字)

2.5(?) Text and Fonts Using cFont(字)。。。。。。。。。。。。。。。。。。。。。。。class cFont{private:ID3DXFont *m_Font; // Font COM 对象public: cFont(); // 构造函数~cFont(); // 析构函数ID3DXFont *GetFon

2008-07-18 14:39:00 498

翻译 2.4 Light It Up with cLitht(照耀他吧灯光!)

 2.4 Light It Up with cLitht(照耀他吧灯光!)I Don’t Why 老外总要在这整些没用的。。。。。class cLight{protected:D3DLIGHT8 m_Light; // Light 结构体 public:cLight(); // 构造函数D3DLIGHT8 *GetLight(); // 返回

2008-07-18 14:36:00 404

翻译 2.3 Colors and cMaterial(颜色和材质)

 2.3 Colors and cMaterial(颜色和材质)。。。。。又整这些没用的,直接看声明吧:class cMaterial{protected:D3DMATERIAL8 m_Material; // 材质结构体 public:cMaterial(); // 构造函数D3DMATERIAL8 *GetMaterial(); // 返

2008-07-18 14:35:00 482

翻译 2.2 Images with cTexture(图像和纹理)

 2.2 Images with cTexture(图像和纹理)纹理可以使3D图像有质量感。没。。。。用。。。。的。。。话。。现在,有了cTexture的帮助,啊~~~世界变得美好了:class cTexture{protected:cGraphics *m_Graphics; // cGraphics父类IDirect3DTexture8 *m_T

2008-07-18 14:30:00 601

翻译 2. The Graphics Core

 GraphicsCore包含的类看看表:Graphics Core 组件类描述cGraphicsD3D初始化句柄,设置渲染状态,设置纹理、材质、灯光cTexture保存一个纹理和一个显示2-D部分纹理的函数cMaterial保存一个材质的定义cLight包含一个灯光的定义

2008-07-18 14:27:00 377

原创 1.4 Managing Data with cDataPackage(用cDataPackage处理数据)

 1.4 Managing Data with cDataPackage(用cDataPackage处理数据)废话少说吧,这是类的声明:class cDataPackage{protected:void *m_Buf; // 数据缓冲unsigned long m_Size; // 数据缓冲大小public:cDataPackage(); //

2008-07-18 14:11:00 342

原创 1.3 Processes and cProcessManager(进程和cProcessManager)

 1.3 Processes and cProcessManager(进程和cProcessManager)cProcessManager与cStateManager是非常相似的,只有一个微小的差别:栈中的每一个函数将会在每一个frame中调用。cProcessManager的声明是和cStateManager同一的。与其再看一遍声明,不如跳过直接看他的例子吧,每一个frame,调用两

2008-07-18 14:05:00 398

翻译 1.2 State Processing with cStateManager(用cStateManager处理状态)

 1.2 State Processing with cStateManager(用cStateManager处理状态)这个状态管理类(state Manager)引入连个概念:调用目的(calling purposes)和在函数中加入一个用户自定义数据指针(。。。不懂吧,看程序理解吧)。NOTE:调用目的(Calling Purposes),就像它的名字一样,调用原因

2008-07-18 10:32:00 379

翻译 翻译(Using the cApplication Core Object:(使用cApplication对象))

 1. The System Core:       Systetem Core 控制游戏应用窗口的初始化和程序流(Program flow),还有进程(Processes)、状态(States)、数据包(data Packaging)。这是开始你新游戏工程的第一个步骤。              1.1 Using the cApplication Core Object:(使用

2008-07-18 10:26:00 451

原创 ID3DSprite实现一个“窥视”功能

这是直接贴在Device->BegainScene()和Device->EndScene();之间的。实现一个小窗口显示图片的一部分,并通过方向键查看图片的其它部分。但没有实现当该图片到达边界时,不能再往外走。if(SUCCEEDED(sprite->Begin(D3DXSPRITE_ALPHABLEND ))) {                        // 设置方向键事件 if

2008-07-15 14:25:00 603

后台界面网站后台登陆界面+6种款式

有利于后台网站的设计发的是发的是否发的是否的说法是德国热油特让他

2010-03-04

半条命引擎

半条命引擎,都很知道的吧?<br>CS啊!

2008-07-29

3D游戏从头编

3D游戏从头编,还行。<br>初学者

2008-07-29

3DGame源码

翁云兵翻译的3DGame所带的源码

2008-07-29

DirectX9入门教程

DirectX9入门教程-[Beginning.DirectX9][EN]

2008-07-29

空空如也

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

TA关注的人

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