HGE tutorial05

http://blog.csdn.net/tkokof1/article/details/6527836

 // 设置每个变形单元的纹理坐标

 // NOTE:注意设置方式

disp_array[j*nCols+i].tx=(x+i*cellw)/tw;

disp_array[j*nCols+i].ty=(y+j*cellh)/th;

 // 设置每个单元的实际坐标

disp_array[j*nCols+i].x=i*cellw;

disp_array[j*nCols+i].y=j*cellh;

通过上面代码,可以知道在设置点的集合并且将texture上点投影到屏幕上去。注意前面的代码部分正是前面有过的,在texture上的用比例来表示的,所以在

(x+i*cellw)/tw;

这个数值<=1.0。

而SetDisplacement函数正是将屏幕上的投影进行变换,产生一种新的方式。通过在不同点之间的渲染,可以产生点移动的效果。

时间: 2024-08-06 12:44:03

HGE tutorial05的相关文章

[hge] distort.h distort.cpp

荡漾   --写在开头 在两个文件组合起来要实现的功能就是使得一个画片图水波般荡漾 首先来看头文件中的东西 Chapter I: distort.h Part Ⅰ:attributes private: hgeDistortionMesh(); // 构造函数,话说放在 private 是为了屏蔽这个接口,使得初始化过程中必须有参数 static HGE *hge; // 引擎指针 hgeVertex *disp_array; // 顶点数组 int nRows, nCols; // 行数.列数

对HGE游戏引擎的一次封装

HGE游戏引擎是一个开源2D游戏引擎,基于directX. 它的渲染及逻辑是基于帧回调的框架模式, 其提供一些主要的图像操作和输入控制功能. 我在之前写一个2D游戏的时候对它整个框架进行了一次封装,非常多地方写得比較恶心,请原谅我在变量上命名的不规范. 在此分享出来,主要能够參考一下大体框架吧. HGE游戏引擎基于帧的回调让我非常不爽,由于咱的游戏逻辑通常是连续的,跟详细帧无关,所以我把整个HGE跑在自己的一个线程之中.我的游戏逻辑部分通过发消息,通知界面更新 以及获取用户输入. 在HGE的主框

hge source explor 0x8 timer

Timer 时间部分,在hge中提供对于fps的控制,时间的控制等. 其中会用到的参数有. hge_impl.h // Timer float fTime; float fDeltaTime; DWORD nFixedDelta; int nFPS; DWORD t0, t0fps, dt; int cfps; 在system.cpp中使用到,用来控制帧率 if(dt >= nFixedDelta) { // fDeltaTime = time step in seconds returned

hge source explor 0xC graphics Ⅲ

这里关于图形模块的内部接口部分 内部调用接口 内部接口主要完成:关于固定流水线的设置:dx的初始化:dx的结束 可以说内部接口已经完成了左右工作,只要进行组合调用即可 _GfxInit() DX的初始化函数 Direct3DCreate8 创建接口 GetAdapterIdentifier 获得设备信息,在这里可以查询设备能够做到什么 PRESENT_PARAMETER 参数的填写 CreateDevice 创建设备 _AdjustWindow 这个函数原来在window模块里已经考虑过,在这里

hge source explor 0x4 input module

Input Module hge中的输入并没有用到Direct Input,在window消息构造输入信息. 对于鼠标和键盘,输入信息用一个结构来处理,hge中的信息事件的结构 /* ** HGE Input Event structure */ struct hgeInputEvent { int type; // event type int key; // key code int flags; // event flags int chr; // character code int w

HGE source explor 0x0

本文准备开始HGE游戏引擎的代码阅读,其实我已经阅读完HGE的代码了,这里将准备再重新阅读代码.阅读代码将准备将代码拆开阅读,按每种功能分开来阅读,分别准备如下: 游戏的窗口 对于任意一个程序来说,一个窗口都是必须的,所以游戏的最基本的也是一个窗口.那么我们找到HGE关于游戏窗口的部分,详细了解这部分.(窗口君:我是一切的基础哦.) 游戏的输入信息 对于一个游戏来说,互动也是必须的,既然要互动那玩家的输入必不可少.在这里我们可以看到HGE关于输入的部分,创建输入的事件然后,当然是等处理.(输入君

C++多小球非对心弹性碰撞(HGE引擎)

程序是一个月前完成的,之前一直没正儿八经的来整理下这个程序,感觉比较简单,不过即使简单的东西也要跟大家分享下. 源码下载:http://download.csdn.net/detail/y85171642/7209727 开篇 开始上代码之前我先说下我为啥写的这个程序,大三的时候学习C#接触过GDI+而发现原来做图形界面的程序也可以这么简单.之后便开始用GDI+做起动画.游戏等,其中便有一个模拟多小球碰撞的,在CSDN上有分享过( http://pan.baidu.com/s/1qWjTkmS 

hge source explor 0xA graphics Ⅰ

Graphics 在这一部分完成初始化DX,并且完成固定流水线,然后在进行渲染. 在这一部分会用到的数据结构和参数有: 参数: D3DPRESENT_PARAMETERS* d3dpp; D3DPRESENT_PARAMETERS d3dppW; D3DPRESENT_PARAMETERS d3dppFS; IDirect3D8* pD3D; IDirect3DDevice8* pD3DDevice; IDirect3DVertexBuffer8* pVB; IDirect3DIndexBuff

hge source explor 0x5 input module

Input Module 前面提到输入事件,那么对输入事件分类,分类如下 /* ** HGE Input Event type constants */ #define INPUT_KEYDOWN 1 #define INPUT_KEYUP 2 #define INPUT_MBUTTONDOWN 3 #define INPUT_MBUTTONUP 4 #define INPUT_MOUSEMOVE 5 #define INPUT_MOUSEWHEEL 6 接下来看每个函数 _InputInit