是否可以向OpenGL纹理写入4个不同的平面

NocturnalCoder007

我正在尝试将数据写入到不同平面以生成opengl纹理,这可能吗?

我尝试了以下代码

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 1, 1, GL_RED, GL_UNSIGNED_BYTE, (void*)&pixel);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 1, 1, GL_GREEN, GL_UNSIGNED_BYTE, (void*)&pixel);

它没有按我预期的那样工作,三角形是绿色而不是黄色,像素值为255。

拉比德76

不它不是。缺失的通道用红色(0.0)表示红色,绿色和蓝色,分别用Alpha通道(1.0)填充。

请参见OpenGL 4.6 API核心配置文件规范-8.4.4.4最终扩展为RGBA

[...]将每个组转换为包含4个元素的组,如下所示:如果一个组不包含A元素,则添加A并为整数分量设置为1或为浮点分量设置为1.0。如果组中缺少R,G或B中的任何一个,则将添加每个缺少的元素,并为整数分量分配0值,为浮点分量分配0.0值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

OpenGL ES:纹理平面

现代OpenGL问题纹理平面

使用GLScene或OpenGL for Delphi使纹理适合4点多边形/平面

计算着色器OpenGL写入纹理

OpenGL-向纹理添加新数据

向QT OpenGL场景图添加纹理

如何确定4个点是否在同一平面上

是否可以在不先将整个纹理加载到常规RAM的情况下将纹理加载到OpenGL?

使用OpenGL ES 1.1应用多重纹理时,是否可以将纹理的RGB通道用作alpha通道?

Spring Batch:是否可以写入平面文件直到达到阈值然后再写入新文件?

使用Retrofit 2是否可以连续向同一端点发出2个不同的POST请求?

OPENGL 如何正确渲染这两个具有不同纹理/映射的对象?

我是否需要4D纹理坐标才能在opengl中实现透视正确的纹理映射?

线程是否可以原子方式更新共享内存的4个不同位置?

OpenGL:纹理单元的概念是否多余?

组装过程中是否在模式x下读取平面需要与写入不同的VGA端口输出?

有没有一种方法可以使用TextureLoader.load向对象添加不同的纹理

在OpenGL中将两个纹理绘制为新纹理

使用PyOpenGL向不同的对象添加不同的纹理

OpenGL:单个三角形平面的正面和背面是否有不同的光效?

处理4GB纹理(BigTiff)OpenGL

如果满足不同条件,是否可以将文本位写入不同文件?

是否可以仅更改1个小平面标题的对齐方式

是否可以将窗口纹理绑定到纹理单元?

您可以从iOS C插件“当场”写入Unity纹理吗?

Android OpenGL尝试纹理化多个不同的位图

是否可以有两个不同的Perl版本?

是否可以同时运行2个不同的代理

是否可以将jtable模型分为5个不同的模型?