Как вы отображаете изображения в 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-подобные игры визуализируют людей как кубы с разными текстурами на нем. Вы можете это сделать. Включите альфа-смешивание и убедитесь, что прозрачные данные текстуры действительно прозрачны.