如何使用OpenGL绘制2D图像

时间:2014-08-02 16:34:37

标签: c++ image opengl 2d render

我几天前开始学习OpenGL,而且我主要关注OpenGL在2D游戏开发方面......

我已经学习了OpenGL的基础知识 - 创建窗口,处理键盘输入。

我在教程中没有找到的(并且没有在网上找到明确的解决方案),是如何使用OpenGL绘制2D图像(例如"播放器"在休闲2D游戏中的图像)

我以前学过XNA,并记得有一个名为2DTexture的结构,虽然我在OpenGL中找不到任何结构。

我目前不想在OpenGL中使用3D ...

编辑:

如果它使它变得更容易,我可以将图像的RGB放在一个数组中(数组大小为[WIDTH] [HEIGHT],每个单元格包含Pixel的R,G,B

1 个答案:

答案 0 :(得分:2)

首先,OpenGL是一个比XNA低得多的API,它并不主要关注2D渲染。

在早期版本的OpenGL中,函数glDrawPixels()可以在屏幕上显示旧学校bit blitting的目的,但效率低得离谱。

在现代OpenGL上渲染2D图像的有效方式,如2D精灵的精灵,是通过使用orthographic projection相机绘制平面四边形并在其上应用纹理。

我现在不记得任何专门介绍2D渲染的教程,但我认为最好先掌握纹理贴图和多边形渲染的基础知识。为此,ogldev是一个很好的起点; opengl-tutorial.org也是一个很好的来源。