05 2016 档案
摘要:荡漾 --写在开头 在两个文件组合起来要实现的功能就是使得一个画片图水波般荡漾 首先来看头文件中的东西 Chapter I: distort.h Part Ⅰ:attributes Part Ⅱ:interface 这里不用functions是因为这里的函数都是要给用户使用的 Chapter I:
阅读全文
摘要:这里的接口提供给用户进行固定的步骤:BeginScene;自己的渲染;EndScene。 接下来从教程2的渲染顺序来看函数 在渲染前的准备工作 TestCooperativeLevel 测试设备是否可用 如果在窗口模式下要检测BackBufferFormat,并更新BPP _GfxRestore 重
阅读全文
摘要:这里关于图形模块的内部接口部分 内部接口主要完成:关于固定流水线的设置;dx的初始化;dx的结束 可以说内部接口已经完成了左右工作,只要进行组合调用即可 DX的初始化函数 Direct3DCreate8 创建接口 GetAdapterIdentifier 获得设备信息,在这里可以查询设备能够做到什么
阅读全文
摘要:整个graphics.cpp文件可以分成4个部分:内部接口;纹理相关;渲染对象相关;DX初始化等. 关于纹理的部分: CTextureList 创建纹理 D3DXCreateTexture创建一个纹理 HTEXTURE CALL HGE_Impl::Texture_Create(int width,
阅读全文
摘要:在这一部分完成初始化DX,并且完成固定流水线,然后在进行渲染。 在这一部分会用到的数据结构和参数有: 参数: D3DPRESENT_PARAMETERS* d3dpp; D3DPRESENT_PARAMETERS d3dppW; D3DPRESENT_PARAMETERS d3dppFS; IDir
阅读全文
摘要:电源管理部分,会用到的参数为: 初始化电源信息: LoadLibrary("kernel32.dll") 获得函数GetSystemPowerStatus地址 调用_UpdatePowerStatus void HGE_Impl::_InitPowerStatus() { hKrnl32 = Loa
阅读全文
摘要:时间部分,在hge中提供对于fps的控制,时间的控制等。 其中会用到的参数有。 在system.cpp中使用到,用来控制帧率 if(dt >= nFixedDelta) { // fDeltaTime = time step in seconds returned by Timer_GetDelta
阅读全文
摘要:首先是关于资源加载会用到的参数和类型。 从参数中可以看出来是用一个队列来维护一组资源。 其中的函数 在这个函数中处理文件名,将文件名+工程路径: 如果文件名为空,则直接使用工程路径 如果文件名中包含'\'、'/'、':',则说明已经是绝对路径,直接使用作为路径 其他的情况下,则完成 工程路径+文件名
阅读全文
摘要:封装与输入相关的属性,函数。 struct CInputEventList { GEInputEvent event; CInputEventList* next; }; class Input { public: Input(); void GetMousePos(float* x, float*
阅读全文
摘要:前面提到输入事件,那么对输入事件分类,分类如下 接下来看每个函数 在引擎中初始化鼠标和键盘信息,在引擎 的初始化过程(构造函数)中会遇到(system.cpp:hge_impl)。 void HGE_Impl::_InputInit() { POINT pt; GetCursorPos(&pt);
阅读全文
摘要:hge中的输入并没有用到Direct Input,在window消息构造输入信息。 对于鼠标和键盘,输入信息用一个结构来处理,hge中的信息事件的结构 从结构中可以看到一个事件中同时包含了鼠标和键盘的属性,其中flags表示的标志。这个flags的标志为所有的功能键的集合,flags整数,每一位代表
阅读全文
摘要:在这里继续看窗口相关的函数,前面看到的部分能够生成一个窗口。在hge的代码中,我们可以看到别的函数处理窗口相关的事情,当然不是指的消息处理函数。 在hge中消息处理函数是最主要的函数之一,完成了整个游戏的信息输入。 另外的和窗口相关的函数是 从函数的名字中可以看到都是处理窗口的变化的函数 void
阅读全文
摘要:hge的window窗口的具体建立是在System_Initiate函数中,现在将hge中关于Windows窗口相关的代码拿出来。 Windows相关参数 在有了上面的参数之后,就开始创建一个窗口,详细看system.cpp文件中的System_Initiate函数中的部分。具体实现为: 上面的步骤
阅读全文
摘要:hge.h & hge_impl.h hge.h是给用户的,所以在这里会列出所有的用户能使用的接口。 hge_impl.h是引擎的具体实现,在这里除了给用户的接口实现之外还有额外的实现过程中的具体的其他函数与属性。 hge.h和hge_impl.h中,根据我们前面所说的模块来进行划分。在这里将系统划
阅读全文
摘要:本文准备开始HGE游戏引擎的代码阅读,其实我已经阅读完HGE的代码了,这里将准备再重新阅读代码。阅读代码将准备将代码拆开阅读,按每种功能分开来阅读,分别准备如下: 对于任意一个程序来说,一个窗口都是必须的,所以游戏的最基本的也是一个窗口。那么我们找到HGE关于游戏窗口的部分,详细了解这部分。(窗口君
阅读全文

浙公网安备 33010602011771号