易语言DirectX3D 2.0版静态支持库全面发布

需积分: 9 0 下载量 107 浏览量 更新于2024-12-22 收藏 1.47MB ZIP 举报
资源摘要信息:"易语言-DirectX3D支持库2.0#0版(静态版)是为易语言开发的扩展库,主要目的是为易语言开发者提供对DirectX 9 3D图形API的支持。该支持库能够让易语言用户在编程过程中,更方便地创建和管理3D资源,如纹理、模型和坐标等,从而实现3D游戏和应用程序的开发。 标题中提到的'd3dx9.lib'和'ogrelib_static.lib'是易语言DirectX3D支持库中包含的关键文件。'd3dx9.lib'是DirectX 9 SDK中的一部分,提供了额外的工具和功能,用于简化3D图形编程中的复杂任务,如纹理处理、模型加载等。而'ogrelib_static.lib'指的是基于Ogre3D图形引擎的静态库文件,Ogre3D是一个灵活的开源3D引擎,它让易语言用户能够利用Ogre3D的图形渲染能力。 描述中提到,易语言的这个支持库是静态版,意味着其库文件需要与易语言编写的程序一起分发,而非动态链接库(DLL)形式,这样在最终用户的机器上无需安装额外的库文件即可运行程序。此外,易语言的这个支持库要求易语言系统版本为5.0,核心支持库版本也为5.0,表明该库是针对特定版本的易语言环境设计的。 该支持库提供了69种库定义数据类型和382种命令,这些数据类型和命令是编程时用于定义和操作3D对象的基础。例如,开发者可以使用这些命令来设置相机视角、处理光照效果、实现动画等。 操作系统需求方面,这个支持库仅支持Windows操作系统。这与易语言本身对操作系统的支持范围相一致,因为易语言最初是为Windows平台开发的。 易语言的这种支持库对初学者来说是一大福音,它降低了3D游戏和图形应用开发的门槛。因为易语言作为一种中文编程语言,其语法简洁,适合中文用户学习和使用。通过集成DirectX3D支持库,易语言用户可以避免直接与复杂的DirectX 9 API交互,而通过更易于理解的易语言命令和类型来进行开发。 易语言官网作为易语言及其支持库的官方发布源,通常会提供最权威的下载和文档信息,确保易语言开发者能够获取最新和最准确的支持库版本及其使用说明。开发者在使用该支持库时,应当访问易语言官网获取支持库的安装和使用教程,以及任何相关的更新和修正信息。"
2016-01-06 上传
以下更改相对于 E_D3D9 1.0正式版: 1:[!]"E_D3D9" 改名为“E_DirectX".为其他DirectX组件作准备. 2:[!]调用"d3dx9_42.dll"库改为"d3dx9_39.dll"库.直接影响相关的ID3DX...类. 3:[!]优化各类(修改为继承),删除与基类重复的方法,相对减少源码体积(不多,约20KB). 3:[+]ID3DXPMesh 之前版本漏掉了(MSDN内没有,d3dx9mesh.h中有). 4 [+]ID3DXSPMesh 之前版本漏掉了(MSDN内没有,d3dx9mesh.h中有). 5:[+]IDirect3D9Ex 6:[+]IDirect3DDevice9Ex 7:[+]IDirect3DSwapChain9Ex 8:[+]IDirect3D9ExOverlayExtension 9:[+]IDirect3DDevice9Video 10:[+]IDirect3DAuthenticatedChannel9 11:[+]IDirect3DCryptoSession9 12:[+]IDirectInput8 13:[+]IDirectInputDevice8 其中DIDATAFORMAT参考了Delphi的JEDI后处理的.若有更好的方法欢迎讨论. 14:[+]IDirectInputEffect 15:[*]日后会陆续添加DirectX的其余组件,并且修复现有问题. (以后版本会整合发布,改动都将写入日志,公开免费发布,以谋求易语言完美调用原生DirectX所有组件方法. 待组件全了后,我会定期逐个类/方法测试,顺便写些Demo.) 提示: 有易友建议我使用EATL,我大致看了下原理是类似的.但它改写了易语言的类(也是其亮点),从而导致可以直接调用. 对于E_DirectX这个项目来讲,我个人感觉意义不是很大(该处理的类型还得处理!). 并不是说EATL不好,本人多重考虑后感觉不适合. 许多类方法可能存在问题 务必注意 特征/情况如下: 方法中参数类型为文本型、字节集、所有类型的数组、以及自定义类型成员中含有其他自定义类型的,这些未经处理的大多存在问题. 还有小数型参数与返回值的问题("Call"的问题),第一个版本(E_D3D9 Beta1)中存在此重大问题.其后续的版本基本都已修复. 以上问题基本皆由易独特的类型存储结构无法与之匹配而引起的.(了解C++类型存储结构的小伙伴可以很快想到处理办法.) 模块还有大量问题没有处理,本人没有那么多时间和精力去逐个测试,除了自己用到的方法以外,许多都是简单处理下(工作量异常大! 无奈之举,以后慢慢修复吧.也可以自己参照我处理过的方法自行研究,开源也是有此目的.) 若发现问题可以发送相关的代码到我的邮箱. (此文最底下或模块中的作者信息一栏),便于我整合进下一版本中. 承诺: 以后所有版本皆会以免费开源形式发布,可任意使用,无任何限制.(据我所知之前也有不少因此受益的小伙伴,才让我更有信心继续下去.) 声明: E_DirectX(E_D3D9) 从诞生以来一直是以无偿开源的形式存在,同时因此作者(Roc/xc.roc)也无法对产品和用户进行有效的约束或限制, 同时也不承担因为该产品所带来的后果,若造成任何损失/后果由使用者自行承担.请大家谨慎考虑取舍! 总而言之,一切如涛哥所言:"向正确的方向前进!". 动态: 本人最近根据某易友的建议正在开发Essen GUI(游戏界面库),主要是应用于游戏环境(Hook D3D - -!). 会以开源模块的形式小范围收费发布,并且给予相关技术支持.有相关需求的用户也可以联系我邮箱. 以后会建立相关Q群供用户交流. 大致特点:简单、易用、可扩展性(你能想到的,你能见到的组件几乎都能扩展出来.类似Ex_DUI,但也所有区别.).