问题标签 [stb-image]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 OpenGL 的 3D 平面上渲染 2D 矩形时遇到问题
我在 OpenGL 的 3D 空间中渲染 2D 对象时遇到问题。每当我编译我的代码时,我都会得到一个紫色背景,这是我设置的。但是,我没有看到我应该能够看到的对象。我认为顶点着色器有问题,但是,我不完全确定。
这是我的代码:
此外,这里是 Shader 类:
android - 是否可以在 Android 上使用 stbi_load?
我是openGLES的新手,我只是想稍后打开一个图像服务我的纹理。
由于互联网上大多数openGL教程都是基于笔记本电脑的开发,他们只需打开图像:unsigned char *data = stbi_load("pic.jpg", &width, &height, &nrChannels, 0);
并将图片放在同一文件夹下。但是我后来意识到为Android设置一个正确的路径并不是那么简单。如果我将图片与我的 cpp 文件放在同一文件夹下,则在运行时将找不到它,因为该应用程序现在在真机上。
所以问题是,是否可以在 Android 上使用 stbi_load?还是我应该另寻他法?顺便说一句,我必须使用 JNI 并用 CPP 编写 opengl 逻辑。
c++ - 从包装类中的 stb_image 释放图像数据的问题
我正在使用来自 stb_image 的原始数据为一个项目编写一个 Image 类。在此类的析构函数中,我将释放指向图像数据的指针以避免内存泄漏。但是,当调用析构函数并释放数据时,我会遇到访问冲突。
图片标题:
Image的构造函数和析构函数:
最小可重现示例:
c++ - OpenGL从stb图像加载rgb纹理
我有一个用于从路径创建纹理的类,但是当我尝试加载具有 3 个通道(rgb)的纹理时,它在运行此行时给了我读取访问冲突异常
我试图更改 stbi 加载函数中的参数,但没有奏效。
当我加载图像时,它会设置正确的宽度、高度和通道数据,所以我不知道我在做什么错
指向数据的指针也不是 nullptr
opencv - OpenCV4中TGA格式加载的任何解决方案
OpenCV 目前不支持 TGA 格式。
而且我知道有一个名为stb_image的头文件库允许您读取/写入 TGA 图像。但是互联网上使用 OpenCV 的用例实在是太少了。(经常看到人们将它与 OpenGL 一起使用)
我找到的第二种方法。本主题中包含一个简短的代码(答案): Loading a tga/bmp file in C++/OpenGL
有人使用此代码将 TGA 文件读入 cv::Mat,就像下面的代码一样。
但这仅用于阅读部分。我想知道 stb_image 是否可以像上面的代码一样做同样的事情。我的意思是图像数据结构可能不同。(还没有调查他们)
我想问问以前也经历过这种情况的人。由于 DDS/TGA 图像格式在游戏纹理中也很流行,所以肯定有人已经找到了方法。我的意思是在 OpenCV 代码中读/写 TGA 格式。
谢谢。
c++ - 如何通过stbi_write_png保存高清图片
我OpenGL
用来模拟物体。并且stbi_write_png
用来保存图片,但是图片大小只有200K多,放大后不是很清晰。所以想知道C++代码中还有没有其他保存高清图片的方法。我的代码如下所示:
c - GCC 在有效的 stb_image.h 上产生错误
下面显示了 GCC 生成的两个错误:
然而似乎没有任何问题,因为确实使用了变量:
这是编译器错误吗?
编辑:GCC 的版本是 9.3.0
操作系统:Linux Mint 最新