如何使用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;
}
我做错了什么? 编写得不好的代码。对于那个很抱歉。现在有效
答案 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混合并确保透明纹理数据真正透明。