我几天前开始学习OpenGL,而且我主要关注OpenGL在2D游戏开发方面......
我已经学习了OpenGL的基础知识 - 创建窗口,处理键盘输入。
我在教程中没有找到的(并且没有在网上找到明确的解决方案),是如何使用OpenGL绘制2D图像(例如"播放器"在休闲2D游戏中的图像)
我以前学过XNA,并记得有一个名为2DTexture的结构,虽然我在OpenGL中找不到任何结构。
我目前不想在OpenGL中使用3D ...
编辑:
如果它使它变得更容易,我可以将图像的RGB放在一个数组中(数组大小为[WIDTH] [HEIGHT],每个单元格包含Pixel的R,G,B
答案 0 :(得分:2)
首先,OpenGL是一个比XNA低得多的API,它并不主要关注2D渲染。
在早期版本的OpenGL中,函数glDrawPixels()
可以在屏幕上显示旧学校bit blitting的目的,但效率低得离谱。
在现代OpenGL上渲染2D图像的有效方式,如2D精灵的精灵,是通过使用orthographic projection相机绘制平面四边形并在其上应用纹理。
我现在不记得任何专门介绍2D渲染的教程,但我认为最好先掌握纹理贴图和多边形渲染的基础知识。为此,ogldev是一个很好的起点; opengl-tutorial.org也是一个很好的来源。