如何在OpenGL中显示图像

vir*_*raj 11 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;
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?编写得不好的代码.对于那个很抱歉.现在工作

sse*_*ell 5

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

除非您真的需要.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 等)