OpenGL/DirectX 游戏引擎,OpenGL/DirectX 图形学

图形学中的两大工具:向量分析和矩阵变换。

> DirectX与OpenGL比较

 DirectX与OpenGL的博弈- http://blog.csdn.net/poem_qianmo/article/details/7522960

 图形API可分为OpenGL和DirectX两大体系,各类DirectX和OpenGL的库函数.WINDOWS平台,个人推荐DX,其他平台推荐OPENGL。

 OpenGL,是一项开放性的标准,主攻专业图形应用和3D游戏.Android和iOS需要一款的专业的图形库,跨平台的OpenGL无疑是最好的选择。

  DirectX则是微软制定的API标准,除了图形API功能外,它还包含音频API等功能,只不过其图形部分升级最快、也最为人所知。DirectX针对的主要是娱乐应用.

> Opengl ES游戏引擎 , Opengl ES游戏引擎的学习,openGL实现游戏引擎

Android 3D游戏开发 Opengl ES游戏引擎实现- http://blog.csdn.net/hzbooks/article/details/5647732?locationNum=15&fps=1

OpenGL- http://blog.csdn.net/huangbangqing12/article/category/1868729/2

  gles 是3d的理论基础 ,你要是从事3d shader开发什么的,gles 是必须要会的基础..至于unity 是封装好的引擎库.你直接用来开发游戏就好.但是如果你要自己设计某种显示特效.不能不掌握shader技术..也就是必须精通gles
  Ejoy2D是一款图形引擎、基于C和Lua开发,- https://github.com/cloudwu/ejoy2d

底层是一个十分简单的核心层,基本上只负担绘制工作,上层语言是Lua。Ejoy2D是国内简悦(EJOY)游戏公司所开发的一款游戏图形引擎,旨在帮助开发人员轻松地嵌入到游戏引擎中,方便开发者定制自己所需的功能。遵循MIT开源许可。Ejoy2D其实是对OpenGL ES的一个浅封装。

  国外的三维游戏开发技术,从创意、策划、研究开发与实现,到游戏的运营与维护,都有大量的知识值得学习和摸索。OpenGL(open graphics library)是一种独立的平台无关的三维图形开发库,在各种语言下进行主框架开发并结合应用OpenGL函数都可以开发出三维游戏。D3D仍不能支持高端图像和专业应用,而OpenGL主宰着这些土地。在开放源码社区,Mesa项目正提供独立于微软的OpenGL驱动。

The Mesa 3D Graphics Library- https://www.mesa3d.org/
Mesa3D provides an OpenGL implementation。Mesa包含图形库和开源的(几乎不能用的)显卡驱动。

  SDL(Simple DirectMedia Layer)作为免费的跨平台多媒体应用编程接口,已经被人们广泛用于开发二维游戏,其优秀的消息框架支持、文件支持和声音支持等都使得它成为能与微软DirectX匹敌的最为成熟的技术之一。

 -- 使用OpenGL制作游戏引擎。openGL着色器,openGL游戏引擎?

OpenGL- https://github.com/McNopper/OpenGL https://www.opengl.org/

openGL ES游戏引擎实现  Android
游戏开发,站在巨人的肩膀上:游戏引擎导论- http://blog.csdn.net/poem_qianmo/article/details/8250057

  做游戏引擎总是倾向于使用OpenGL。不管是做什么游戏,对于开发者而言,流畅是最重要的;
  使用普通的游戏画布(Android中2D专用游戏画布)中进行绘制图片,然后在GLSurfaceView(Android中3D游戏专用画布)中渲染图片的对比中发现GLSurfaceView的效率是SurfaceView的30倍~呵呵,高了30倍的效率~这是什么概念,可想而知。GLSurfaceView的效率高主要是因为机器硬件的GPU加速,现在flash技术也有了GPU加速技术。
  一般2D游戏使用SurfaceView足够,毕竟我之前公司做的网游就是用SurfaceView做的,很流畅,所以不要认为什么都要使用GLSurfaceView(OpenGL),而且   GLSurfaceView的弊端在于适配能力差,因为很多机型中是没有GPU加速的。

> DirectX制作游戏引擎。

Games for Windows and the DirectX SDK- https://blogs.msdn.microsoft.com/chuckw/2015/04/18/github/

> SDL库

  SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难度。
  SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
  SDL使用GNU宽通用公共许可证为授权方式,意指动态链接(dynamic link)其库并不需要开放本身的源代码。因此诸如《雷神之锤4》等商业游戏也使用SDL来开发。
  虽然SDL时常被比较为‘跨平台的DirectX’,然而事实上SDL是定位成以精简的方式来完成基础的功能,它大幅度简化了控制图像、声音、输出入等工作所需撰写的代码。但更高级的绘图功能或是音效功能则需搭配OpenGL和OpenAL等API来达成。另外它本身也没有方便创建图形用户界面的函数。

-- 书籍:

《Real-Time Rendering 3rd》(实时渲染图形学第三版),《计算机图形学openGL版》书籍:《Unity 3D实战核心技术详解》《手把手教你架构3D游戏引擎》

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值