Как вы отображаете изображения в OpenGL

Как вы визуализируете изображения (.bmp и .jpeg) с помощью OpenGL? Я столкнулся с некоторыми учебниками, но они были для С#, а не 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;
}

Что я делаю неправильно? Плохо написанный код. Извини за это. Работает сейчас

Ответ 1

С помощью текстурирования Quad (или, еще лучше, двух треугольников).

Если вам действительно не нужны .bmp или .jpeg, я бы предположил, что вы используете изображения .tga (Targa), поскольку они чаще используются и поддерживают альфа-канал.

Некоторые ресурсы С++:

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 и т.д.)

Ответ 2

Отобразить текстурированные квадраты или два треугольника, которые образуют прямоугольник.

Ответ 3

Quake-подобные игры визуализируют людей как кубы с разными текстурами на нем. Вы можете это сделать. Включите альфа-смешивание и убедитесь, что прозрачные данные текстуры действительно прозрачны.