首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CEGUI学习

    大家好,又见面了,我是你们的朋友全栈君。先来个引子,CEGUI是一个游戏UI库,开源,使用XML作资源定位,支持lua脚本,支持多字节语言的显示,其功能可以说是十分强大的,而且非常灵活,目前的稳定版本是0.5,可见其离发布还有一段距离,bug和未完成的东西都不少,然而这也是它的魅力之一,我们可以对其进行修改和扩充。使用CEGUI完全可以制作出一流水准的游戏UI来。 其次,也是比较主要的,它有几款指定的编辑器,其实UI库都差不多,关键就是看这个东西有没有编辑器,没有编辑器再好的戏也出不来,虽然它的这几个编辑器的bug比它本身还多,呵呵。 在对游戏引擎的支持上,Orge和CEGUI整合得非常好,是Orge的官方指定特约UI库。在更换接口部分之后,CEGUI理论上可以支持所有引擎。 其整个代码实现相当复杂,刚开始会觉得有点乱,但是捋一捋之后就会发现其实还是比较清晰的,只不过是因为其要实现的东西有点多,没办法,代码的复杂度也就上来了。 相关链接: CEGUI: http://www.cegui.org.uk/ WxWidgets: http://www.wxwidgets.org/ 简介 CEGUI(Crazy Eddie’s GUI http://www.cegui.org.uk)是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计。CEGUI开发者的目的是希望能够让游戏开发人员从繁琐的GUI实现细节中抽身出来,以便有更多的开发时间可以放在游戏性上。 CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D。另外,使用更高级的图形库也是可以的,像是OGRE、Irrlicht和RenderWare,关键需求可以简化为二点: 1. 纹理(Texture)的支持 2. 直接写屏(RHW的顶点格式、正交投影、或者使用shader实现) 本文截止日时,CEGUI的最新版本是0.4.1(本文的讨论也是基于此版本),提供了SDK和全部源码的下载,同时为了适应不同的使用需求,还根据STL的使用区分为Native(VC自带的P.J. 版STL)和STLport(基于SGI STL实现的跨编译器版本,详细见http://www.stlport.org),以及VC6.0、VC7.0、VC7.1和VC8.0几种。 除此之外,CEGUI还同步提供了官方界面编辑器LayoutEditor,以方便UI的制作,下载地址:http://www.2dgame-tutorial.com/d … itorSetup_0.4.1.exe。作为界面编辑器,它需要系统级界面以提供编辑器操作,在此之前的0.3.0版是基于MFC实现的;而在0.4.1版本中,改为基于wxWidgets(跨平台的本地UI框架,这里的UI指Window操作系统底层,如:Windows、Unix和Mac,详见http://www.wxwidgets.org)实现。 OGRE作为目前最活跃的开源3D引擎,许多公司开始使用它进行游戏开发,原因也是其功能非常得全面和强大。在最初,OGRE曾经实现过一版UI,但是最后却放弃自己的实现而选择了CEGUI。 CEGUI的文件结构 CEGUI从根本上说,是由图片支持的,也就是说,这么庞大的系统说白了就是要正确地操作图片,抛弃了原来惯用的ini文件,CEGUI使用了更加先进的xml文件作为其配置文件,使用tga图片,这个是内嵌的,当然如果有需要,可以使用其它解码器。其文件结构很简单,共定义了四种格式的xml文件:scheme,looknfeel,imageset和layout。在CEGUI给的例子当中,其组织形式是这样的。 datafiles schemes looknfeel imageset layout 这样可以基本保证文件井然有序,建议就用这个结构,在你的游戏工程资源目录下增加这么一个datafiles文件夹。 这里首先介绍一下这几种文件的作用。 Scheme,它是CEGUI首先调用的一个文件,内容包括要使用的imageset文件、所对应的looknfeel文件,以及将要在looknfeel定义的控件的类型、工厂、渲染器和在looknfeel中的名字。 Looknfeel。它定义了控件的细节,我觉得在CEGUI自己给的那个例子looknfeel(TaharezLook)中写的就不错,很多时候可以模仿它来写。 Imageset,这个东西很简单,就是要把tga图片上的位置信息记录下来,位置信息由左上角横纵坐标,长宽信息组成。 另外,在Imageset文件夹下,还存放tga图片。 以上就是CEGUI的文件结构,多数情况下是不用动它的。 你的第一个CEGUI程序强烈建议仔细研究CEGUISample程序!因为那里介绍了它的一些基本用法,其实最后在游戏当中出现的,也就是这些例子的变化而已。 这里我会引导你写一个第一个自己的简单

    03

    webgl图库研究(包括BabylonJS、Threejs、LayaboxJS、SceneJS、ThingJS等框架的特性、适用范围、支持格式、优缺点、相关网址)

    为实现企业80%以上的生产数据进行智能转化,在烟草、造纸、能源、电力、机床、化肥等行业,赢得领袖企业青睐,助力企业构建AI赋能中心,实现智能化转型升级。“远舢文龙数据处理平台”以AI驱动,构建5G时代下企业数智基础,从根本上改变了数据采集、存储和使用的方式,是当下企业构建数字化与智能化能力的首选产品。“远舢知识图谱平台”,作为国内第一批落地应用的“知识图谱”,平均缩短智能化应用开发周期70%,延长企业分析决策应用生命周期150%。“远舢Hybrid Twin”构建面向未来智能工厂全场景的全息交互模式,实现物理空间与数字空间的混合孪生。为国产工业AI新锐,以远舢工业云平台为核心,以AI驱动的方式,打造一个用户可以自研APP的智能云平台,变革未来企业IT消费模式,输送企业转型升级动能,为企业创造可量化价值。我们在这领域展示出来的强大产品竞争力,以及公司团队深耕制造、脚踏实地、坚持打造极致产品的理念,持续提供增值服务,我们期待和坚信远舢公司能成为未来企业级人工智能领域的独角兽! 本文为选择合适的webGl框架,为后续项目奠定基础;避免盲目选择框架,导致后续项目重构带来不必要的成本浪费。本文清楚的讲述了各个框架的特点,适用范围,优缺点以及相关网址范例;以便于后续更快速的开发,提高生产效率,最后进行总结。

    03

    C/C++程序猿必须熟练应用的开源项目

    作为一个经验丰富的C/C++程序猿, 肯定亲手写过各种功能的代码, 比方封装过数据库訪问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件訪问的类, 封装过UI界面库等, 也在实际的项目中应用过, 可是回过头细致想想,事实上曾经自己写过的这些代码,仅仅能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 仅仅须要复制代码, 改改也就能够了, 由于自己写的代码自己非常熟悉。问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否非常方便, 跨平台方面是不是也非常通用, 性能是不是足够的好, 是不是支持多线程, 功能是不是也足够强大,能够适用于各种不同的需求。假设你上面这些都做到了, 证明你在这个库上确实花费了一番功夫, 经过了持续的改进和优化。

    03

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券