如何在OpenGL中显示图像

How do you display images in OpenGL

本文关键字:显示 显示图 图像 OpenGL      更新时间:2023-10-16

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

运行以下代码段总是返回failed:

#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;
}

我做错了什么?写得不好的代码。很抱歉。现在作品

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

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

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

地震类游戏将人类渲染成具有不同纹理的立方体。你也可以这样做。启用alpha混合,并确保透明纹理数据是真正透明的