如何在OpenGL中显示图像
How do you display images in OpenGL
如何使用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混合,并确保透明纹理数据是真正透明的
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 程序崩溃并显示"std::out_of_range"错误
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 从数据库实时显示QT c++中的数据
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 显示错误输出的简单数组排序程序
- Qt自定义QPush按钮未显示在布局上
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 显示基于用户输入的整数的字符
- 使用QTreeView,如何通过调用函数只突出显示特定的行/列
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- 密码登录程序将永远循环并显示不正确的结果
- std::strftime 在 Windows 中使用 GMTIME 将时区 UTC 显示为 UTC+1