《幻世(OurDream)2D图形引擎API设计手册》由会员分享,可在线阅读,更多相关《幻世(OurDream)2D图形引擎API设计手册(42页珍藏版)》请在金锄头文库上搜索。
1、幻世( OurDream)TM2D 图形引擎 NOC 版API 手册本手册详细介绍了幻世 (OurDream)TM2D 图形引擎 NOC 版的全部 API 函数,并且在本手册的开头还简单介绍了使用幻世(OurDream)TM2D 图形引擎开发图形程序的具体流程。手册的内容将会随时更新,更新版本会及时的发布到作者的博客。请注意,在本手册的封面底部标注有该手册版本所适用的引擎版本号,不同引擎版本其 API 函数可能会有所不同, 因此请参考对应版本的 API 手册。版权声明:本手册(包括但不限于:文字、图像等)的版权归Lizcst Software Lab所有,未经作者明确许可不得擅自进行(包括但不
2、限于)修改、引用等活动, 否则必将遭受法律允许范围内最大可能的追究责任!(详细信息请阅读SDK 包所附的使用许可协议 )手册版本: v0.1.27.101 适用版本: NOC v0.1.12.201 更新日期: 2012.7.30 Copyright 2012 (C) Lizcst Software Lab Lizcst Software Lab 版权所有,侵权必究!第一部分:开发流程幻世( OurDream)TM2D 图形引擎 NOC 版(以下简称 NOC 版)是幻世(OurDream)TM 2D 图形引擎的多语言支持版本,该版本通过使用 NOC 转接模块的方式来屏蔽各种语言之间的差异,从而
3、允许引擎被多种具备不同特性的语言使用。NOC 版目前包含 2 个主要模块:引擎核心与核心的NOC 模块。通常情况下, C 类语言可以直接调用核心来使用幻世提供的图形功能。非 C 类语言则需要配合NOC 模块来使用核心提供的功能。具体的开发流程如下:1、初始化 NOC;在使用引擎提供的功能前必须先要初始化引擎的各项参数。非 C 类语言直接通过 NOC 来初始化引擎即可,初始化时将具体的初始化参数全部提交给NOC 模块,模块会帮助用户程序完成引擎的初始化工作。注意:初始化过程如果出现错误, 用户程序需要及时的检查传入的初始化参数是否存在问题。并且,由于某些软硬件平台的原因,部分参数平台本身可能不支
4、持, 此时,需要及时的调整参数设置或者直接以最少特性的安全模式来执行初始化。2、使用 NOC 提供的功能函数; 初始化成功完成之后, 就可以调用 NOC 模块提供的众多功能函数了。这里需要提示的是,初始化成功后需要通过 NOC 提交两个重要的用户程序自定义函数给引擎核心,这两个函数是:“帧处理函数”和“帧渲染函数” 。这两个函数是引擎的主要执行函数,“帧处理函数”用于处理用户程序逻辑及检测使用者的按键操作;“帧渲染函数”用于处理图形的绘制。注意:这两个函数必须要正确的提交给引擎,并且必须在进入引擎核心的工作循环之前完成提交, 否则引擎将会因为执行函数空缺而被迫退出。3、使用完毕后卸载NOC;在
5、用户程序决定终止前必须要执行卸载 NOC 的操作,以便通知NOC 模块准备卸载引擎避免内存或资源泄露。提示:在引擎执行期间加载的各种资源(包括:字体、纹理、音频、媒体文件等) 都不必在程序终止前手动的逐一卸载,引擎会在执行卸载的过程中自动的将所有已加载的资源清除。第二部分: API 函数说明第一类: System类接口函数一、 System_CreateOD2D 项目内容函数名System_CreateOD2D 原型bool System_CreateOD2D (int RenderType, int WindowID, bool UseZBuffer, bool Windowed, bool
6、 UseStencilBuffer, bool HideMouse, bool UseHighPrecisionFPU, bool UseVsync, bool UseLog, int ScreenWidth, int ScreenHeight, int ColorMode, int TextureFilter, int Antialias, int FixFPS, LPSTR Icon, LPSTR Title, LPSTR LogFile, bool Showlogo )参数1、渲染器类型 (整数值),指定需要使用的渲染器种类,有:DirectX 、OpenGL以及空渲染器,目前仅存在Di
7、rectX 渲染器,具体取值见手册附录。2、窗口句柄(整数值) ,此参数当前保留,请取0 即可。3、是否使用Z 缓冲(逻辑值) ;4、是否使用窗口模式(逻辑值);5、是否启用模板缓存(逻辑值);6、是否隐藏鼠标指针(逻辑值);7、是否启用高精度浮点运算(逻辑值);8、是否启用垂直同步(逻辑值);9、是否启用日志记录(逻辑值);10、窗口宽度(整数值) ;11、窗口高度(整数值) ;12、颜色深度(整数值) ,取值: 16、32,取其他值将会导致函数失败;13、纹理过滤方式 (整数值),取值:-1 为关闭纹理过滤,0 为三线性过滤, 18为各向异性过滤;14、抗锯齿级别(整数值),取值: 04;
8、15、限制 FPS数(整数值) ;16、图标文件路径(文本值);17、引擎窗口标题(文本值),为 NULL 将使用默认标题;18、日志文件路径(文本值),指定日志保存的位置;19、是否显示引擎Logo 画面(逻辑值) 。功能创建引擎并且按照参数的要求初始化引擎。返回值成功将返回true,否则将返回false。二、 System_OD2DRun 项目内容函数名System_OD2DRun 原型int System_OD2DRun ()参数无功能该函数是引擎的主执行函数,引擎的逻辑处理及绘图处理都将由该函数执行,使用此函数前必须确保已经设定了帧处理函数及帧渲染函数,否则该函数将会失败,而一旦该函数
9、失败,整个引擎就会被迫退出。返回值返回一个整数值代表退出的状态,该值将在本手册的后半部分介绍。三、 System_OD2DStop 项目内容函数名System_OD2DStop 原型System_OD2DStop ()参数无功能停止引擎的运行, 并卸载引擎, 该函数通常在System_OD2DRun 退出后执行以便清理引擎运行期间所使用的资源。返回值无四、 System_OD2DPause 项目内容函数名System_OD2DPause 原型System_OD2DPause()参数无功能暂停引擎的执行,使用该函数后引擎的逻辑处理及图形绘制将会暂停,但引擎的功能不会退出,以便稍后能够恢复。返回值
10、无五、 System_OD2DRestore 项目内容函数名System_OD2DRestore 原型System_OD2DRestore()参数无功能该函数可以恢复引擎的运行,用于解除System_OD2DPause 执行的效果。返回值无六、 System_GetFPS 项目内容函数名System_GetFPS 原型ini System_GetFPS()参数无功能该函数用于获取引擎执行时的FPS数。返回值返回一个整数值代表当前FPS 数。七、 System_GetWindowHandl 项目内容函数名System_GetWindowHandl 原型ini System_GetWindowHa
11、ndl ()参数无功能该函数用于获取当前渲染窗口的窗口句柄。返回值返回一个整数值是当前使用的渲染窗口的窗口句柄。八、 System_SetFrameFunction 项目内容函数名System_SetFrameFunction 原型System_SetFrameFunction( OD2DCallback Func )参数1、子程序指针(指针) ,该指针指向用户编写的帧处理函数,该函数不可有参 数,并且返回一个逻辑值用于表示函数执行的结果。功能向引擎提交帧处理函数,以便引擎执行时可以正确处理程序逻辑。返回值无九、 System_GetFrameFunction 项目内容函数名System_Ge
12、tFrameFunction 原型OD2DCallback System_GetFrameFunction() 参数无功能该函数用于获取当前正在被使用的帧处理函数。返回值返回一个子程序指针,该指针是当前正在使用的帧处理函数。十、 System_SetRenderFunction 项目内容函数名System_SetRenderFunction 原型System_SetRenderFunction(OD2DCallback Func )参数1、子程序指针(指针) ,该指针指向用户编写的帧渲染函数,该函数不可有参数,并且返回一个逻辑值用于表示函数执行的结果。功能向引擎提交帧渲染函数,以便引擎可以正确
13、的执行绘图操作。返回值无十一、 System_GetRenderFunction 项目内容函数名System_GetRenderFunction 原型OD2DCallback System_GetRenderFunction 参数无功能该函数用于获取当前正在被使用的帧渲染处理函数。返回值返回一个子程序指针,该指针是当前正在使用的帧渲染处理函数。十二、 System_SetSystemCleanFunction 项目内容函数名System_SetSystemCleanFunction 原型System_SetSystemCleanFunction(OD2DCallback Func )参数1、子
14、程序指针 (指针),该指针指向用户编写的清理函数,该函数不可有参数,并且返回一个逻辑值用于表示函数执行的结果。功能向引擎提交清理函数,以便引擎可以在卸载时正确的清理相关资源。返回值无十三、 System_GetSystemCleanFunction 项目内容函数名System_GetSystemCleanFunction 原型OD2DCallback System_GetSystemCleanFunction () 参数无功能该函数用于获取当前正在被使用的系统清理函数。返回值返回一个子程序指针,该指针是当前正在使用的系统清理函数。十四、 System_SetFocusGainFunction
15、项目内容函数名System_SetFocusGainFunction 原型System_SetFocusGainFunction( OD2DCallback Func )参数1、子程序指针(指针) ,该指针指向用户编写的渲染窗口焦点获取函数,该函 数不可有参数,并且返回一个逻辑值用于表示函数执行的结果。功能向引擎提交清理函数,以便引擎可以在渲染窗口获得焦点时执行指定的操作。返回值无十五、 System_GetFocusGainFunction 项目内容函数名System_GetFocusGainFunction 原型OD2DCallback System_GetFocusGainFunctio
16、n () 参数无功能该函数用于获取当前正在被使用的渲染窗口焦点获取函数。返回值返回一个子程序指针,该指针是当前正在使用的渲染窗口焦点获取函数。十六、 System_SetFocusLostFunction 项目内容函数名System_SetFocusLostFunction 原型System_SetFocusLostFunction (OD2DCallback Func )参数1、子程序指针(指针) ,该指针指向用户编写的渲染窗口焦点失去函数,该函数不可有参数,并且返回一个逻辑值用于表示函数执行的结果。功能向引擎提交清理函数,以便引擎可以在渲染窗口失去焦点时执行指定的操作。返回值无十七、 System_GetFocusLostFunction 项目内容函数名System_GetFocusLostFunction 原型OD2DCallback System_GetFocusLostFunction () 参数无功能该函数用于获取当前正在被使用的渲染窗口焦点失去函数。返回值返回一个子程序指针,该指针是当前正在使用的渲染窗口焦点失去函数。第二类: Render类接口函数十八、 Ren