图形学中的两大工具:向量分析和矩阵变换。
> 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
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包含图形库和开源的(几乎不能用的)显卡驱动。
-- 使用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游戏引擎》