首页 JS游戏攻略 正文

opengl游戏开发入门教程,新手也能快速上手!

大家今天跟大家聊聊我最近捣鼓的一个小玩意——用 OpenGL 做个小游戏。别看“游戏”俩字挺唬人,过程还挺有意思的,反正我是玩得不亦乐乎。现在就来跟你们分享分享我的“辛酸”历程。 第一步:搭台子 我是两眼一抹黑,啥也不懂。OpenGL?那是能吃吗?后来才知道,,原来是个画图的工具,专业点说叫“图形编程工具”,反正就是能在电脑上画东...

大家今天跟大家聊聊我最近捣鼓的一个小玩意——用 OpenGL 做个小游戏。别看“游戏”俩字挺唬人,过程还挺有意思的,反正我是玩得不亦乐乎。现在就来跟你们分享分享我的“辛酸”历程。

第一步:搭台子

我是两眼一抹黑,啥也不懂。OpenGL?那是能吃吗?后来才知道,,原来是个画图的工具,专业点说叫“图形编程工具”,反正就是能在电脑上画东西的。不过光知道这个还不行,还得找个能写代码的地方。我琢磨着,既然是画图,那不得有个窗口之类的东西来显示吗?于是我就找个叫 Qt 的东西,它能帮我搞定窗口这些乱七八糟的事情,我只要专心用 OpenGL 画图就行。

第二步:画个方块

台子搭好,接下来就该画点啥。我一开始也不知道画就想着先画个方块。这玩意儿简单,应该不难。结果,还真不简单!OpenGL 这东西,画个方块都得先告诉它方块的几个顶点在哪儿,然后还得告诉它这些顶点怎么连起来。我当时就懵,这跟我想象的完全不一样!没办法,硬着头皮学呗。后来总算是搞明白,原来 OpenGL 里的东西都是用一个个面来表示的,一个方块就是六个面,每个面有四个顶点,这么一组合,一个方块就出来。

第三步:让方块动起来

小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

方块是画出来,可它就那么傻愣愣地杵在那儿,一点也不好玩。我想着得让它动起来才行!这下更麻烦,我得搞明白 OpenGL 里的那些个坐标系。什么世界坐标、物体坐标、设备坐标……听着就头大。不过话说回来,这些东西还真挺重要的,要不然你怎么知道把方块画在哪儿,怎么让它动?经过一番折腾,我总算是把这些坐标系给弄明白。然后,我就开始琢磨着怎么让方块动起来。我试各种方法,什么平移、旋转、缩放……还真让我给弄成!看着方块在屏幕上动来动去的,别提多有成就感!

第四步:加点光

方块会动,但还是觉得少点对,光!没有光,这方块看起来也太假。于是我又开始研究 OpenGL 里的光照。这玩意儿也挺有意思的,你得告诉 OpenGL 光源在哪儿,光是什么颜色的,还得告诉它物体是什么材质的,这样它才能计算出物体表面应该是什么样子。这里面有个重要的概念叫“法线”,简单来说就是垂直于物体表面的线,光线照到物体上怎么反射,就跟这个法线有关系。我花不少时间才把光照这块给搞定,不过效果还是挺不错的,至少方块看起来没那么假。

第五步:变成游戏?

经过上面这几步,我发现自己已经掌握 OpenGL 的一些基本用法。这时候,我就开始琢磨着,能不能用 OpenGL 做个小游戏?说干就干,我开始设计游戏规则,添加游戏元素,然后用 OpenGL 把它们一个个画出来。这个过程虽然很累,但也是最有意思的。我感觉自己就像一个建筑师,一点一点地把自己的游戏世界搭建起来。虽然我的游戏还很简单,但看着自己亲手做出来的东西,心里还是美滋滋的!

总结一下

  • 用OpenGL和Qt搭个能画图的“台子”。
  • 折腾半天,画出一个方块,还弄明白OpenGL咋画东西。
  • 又是一通折腾,让方块能跑能跳还能转圈,搞定OpenGL的坐标系。
  • 给方块加点“灯光”,看起来更像那么回事,顺便学习“法线”。
  • 突发奇想,用OpenGL做个小游戏,累并快乐着!

今天的分享就到这里。虽然我的游戏还很简陋,但这回的实践经历让我学到很多东西。希望我的分享能给你们带来一些启发,也欢迎大家一起来玩 OpenGL,一起做游戏!