"cast" GL_R8到GL_BGRA
"cast" GL_R8 to GL_BGRA
我正在用OpenGL进行一些GPGPU编程。
我希望能够将所有数据写入格式为GL_R8的一维纹理,这样我基本上可以将其视为std:array
对象。
然后在渲染过程中,我希望能够设置GPU应该如何读取图像,例如将其"投射"为1024x1024 BGRA。
这可能吗?
例如,我想做什么:
gpu::array<uint8_t> data(GL_R8, width*height*4);
gpu::bind(data, GL_TEXTURE0, gpu::format::bgra, width, height);
然后使用缓冲区纹理。没有一条规则(据我所知)说你不能把同一个缓冲区挂接到多个不同的纹理上。这将允许一个纹理将其与GL_R8内部格式一起使用。另一个纹理可以将其与GL_RGBA8格式一起使用。
相关文章:
- Visual Studio 19-17 库兼容性根据 GL 标志
- glDrawElements GL 错误类型 = 0x824c,严重性 = 0x9146,消息 = GL_INVALID
- 将"Compass"与相机旋转隔离开GL
- 是否有一个版本的glCopyImageSubData在Openg GL中使用混合?
- 计算着色器Open GL ES的多个输入
- Open GL ES 3.1 的计算着色器的最小工作示例
- 致命错误 C1083:无法打开包含文件:"GL/glew.h":没有此类文件或目录
- C++ 致命错误:glad/gl.h:没有这样的文件或目录
- 打开 gl 精灵类不起作用
- Qt 找不到 GL 库
- GCC 相当于 MSVC 中的 /GS、/GL、/Gy、/Oi、/MD
- 失败的 glewInit:缺少 GL 版本
- 何时在OS X上使用OpenGL vs GL
- 识别安卓中意外的 GL 上下文丢失
- Android Native:CMake 链接错误:未定义对 GL 函数的引用 - 即使包含并链接了 EGL 和 GLESv3
- 如何确定 BMP 图像是否包含来自标题的 BGR 或 BGRA 像素
- Glew - 与 GLFW 配对时 gl- 函数符号上出现链接错误
- 打开gl es 2.0为什么我的VBO不起作用
- iOS GL ES exc_bad_access on glDrawElements
- "Missing GL version" 从 glewInit() 使用 EGL?