如何使用OpenGL渲染图像(.bmp和.jpeg)?
我遇到了一些教程,但是它们是针对C#而不是C/C++的.
我想要渲染图像的原因是因为我想画一个宇宙飞船(一个游戏).我可以使用一个OpenGL原语,但它并不是很好看.另一个选择是使用坐标绘制宇宙飞船,但这将需要几年时间,而且看起来不错.
我遇到了一些教程,但是它们是针对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; }
我究竟做错了什么 ?
编写代码不好对于那个很抱歉.现在工作
解决方法
通过纹理四边形(或更好的,两个三角形).
除非您真的需要.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等)