这些日志都是很早前陆续写的,拿出来分享经验:
2006-8-15
7:30开始学习HGE引擎。
从以前的接触中知道,HGE引擎基于DX8。
创建HGE最简单程序的步骤:
1. 定义HGE类型的指针,用来保存引擎指针。
2. 调用 hgeCreate函数得到HGE引擎指针----这是个标准的C语言函数,从以前阅读这个引擎的部分代码得知,引擎内部模仿了COM,采用引用计数的方式创建引擎对象。
3. 设置引擎状态值: System_SetState。在这里必须设置帧更新函数,这是必须的,这个引擎把消息循环隐藏了,程序的表面流程变为: mainàrenderFuncàend。当然程序底层还是一般的消息循环。设置了帧渲染函数后,引擎会不断地调用这个函数。
在这里还可以设置其他状态信息,如渲染状态,窗口尺寸,还可以设置是否需要LOG文件。
4. 调用System_Initiate函数初始化引擎。
5. 开始,System_Start。这个时候底层基本上就进入了消息主循环了
6. 在渲染函数里(渲染函数没有参数,返回值为布尔类型)返回TRUE时,底层消息循环就跳出。System_Start函数也返回了。
7. 调用System_Shutdown做一些恢复工作
8. 调用Release彻底销毁引擎。
9. 程度退出。
关于基本渲染图元(Quad is the basic HGE graphic primitive)hgeQuad对象。
文档里描述Quad is the basic HGE graphic primitive。HgeQuad是个结构体,里面保存着一个纹理对象的ID值,一个渲染模式值,和一个hgeVertex结构体,这个结构体里又包含了四个float和一个DWORD值。
如下:
struct hgeVertex
{
float x, y;
float z;
DWORD col;
float tx, ty;
};
struct hgeQuad
{
hgeVertex v[4];