如何在OpenGL中显示图像

时间:2011-08-10 05:16:47

标签: c++ opengl graphics

如何使用OpenGL渲染图像(.bmp和.jpeg)? 我遇到过一些教程,但是它们用于C#而不是C / C ++。 我想渲染图像的原因是因为我想绘制一艘宇宙飞船(用于游戏)。我可以使用OpenGL原语,但它看起来并不那么好。另一个选择是使用坐标绘制宇宙飞船,但这需要很长时间,并且看起来不会那么好。

运行以下代码段始终会失败:

#include <iostream>
#include <GL/glfw.h>
using namespace std;
int main()
{
  GLFWimage image;
  if(glfwReadImage("ship.tga", &image, GLFW_ORIGIN_UL_BIT)!=GL_TRUE);
  cout << "FAILED";
  system("PAUSE");
  return 0;
}

我做错了什么? 编写得不好的代码。对于那个很抱歉。现在有效

3 个答案:

答案 0 :(得分:4)

通过纹理化Quad(或者更好的是,两个三角形)。

除非您确实需要.bmp.jpeg,否则我建议您使用.tga(Targa)图片,因为它们更常用并支持Alpha频道。

一些C ++资源:

http://nehe.gamedev.net/tutorial/loading_compressed_and_uncompressed_tgas/22001/

http://nehe.gamedev.net/tutorial/texture_mapping/12038/

http://www.lonesock.net/soil.html(一个很棒的OpenGL图像库。支持bmp,jpg,png,tga等)

答案 1 :(得分:3)

渲染纹理四边形或两个形成矩形的三角形。

答案 2 :(得分:2)

类似地震的游戏正在让人类像立方体那样拥有不同的纹理。你也可以这样做。启用Alpha混合并确保透明纹理数据真正透明。