Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C openGLES 2-有没有一种方法可以加载每1位一个alpha元素的纹理,而不扩展到无符号字节?_C_Colors_Opengl Es_Opengl Es 2.0 - Fatal编程技术网

C openGLES 2-有没有一种方法可以加载每1位一个alpha元素的纹理,而不扩展到无符号字节?

C openGLES 2-有没有一种方法可以加载每1位一个alpha元素的纹理,而不扩展到无符号字节?,c,colors,opengl-es,opengl-es-2.0,C,Colors,Opengl Es,Opengl Es 2.0,我有一个位掩码,我想将其设置为要播放的纹理(例如,从中采样将alpha设置为0或1,或将其用作模具测试) 我是否需要将此现有掩码中的每个位转换为一个字节并使用GL\u UNSIGNED\u byte,或者是否有更聪明的方法使用此掩码?OpenGLES 2只有一种带单位alpha的纹理格式:GL\u UNSIGNED\u SHORT\u 5\u 5\u 1,一种16位RGBA纹理。如果你使用了15位的RGB,我会说这是你最好的选择。使用压缩纹理可能会更好,也可能不会更好 对于单位模具,有扩展,但是

我有一个位掩码,我想将其设置为要播放的纹理(例如,从中采样将alpha设置为0或1,或将其用作模具测试)


我是否需要将此现有掩码中的每个位转换为一个字节并使用
GL\u UNSIGNED\u byte
,或者是否有更聪明的方法使用此掩码?

OpenGLES 2只有一种带单位alpha的纹理格式:
GL\u UNSIGNED\u SHORT\u 5\u 5\u 1
,一种16位RGBA纹理。如果你使用了15位的RGB,我会说这是你最好的选择。使用压缩纹理可能会更好,也可能不会更好

对于单位模具,有扩展,但是在8位模具中使用单位平面非常简单(实际上很少有人一次使用超过一个单位平面)

使用模具要求您创建、渲染并投影到RenderBuffer中,然后将该RenderBuffer渲染到下一个目标(例如默认帧缓冲区)


不确定您的用例,但我想不出与将8位alpha设置为[0.0,1.0]完全滚动相比,这在哪里值得付出努力。如果您追求性能,请坚持使用主流解决方案,让驱动程序发挥其魔力。

OpenGLES 2只有一种具有单位alpha的纹理格式:
GL_UNSIGNED_SHORT_5_5_5_1
,一种16位RGBA纹理。如果你使用了15位的RGB,我会说这是你最好的选择。使用压缩纹理可能会更好,也可能不会更好

对于单位模具,有扩展,但是在8位模具中使用单位平面非常简单(实际上很少有人一次使用超过一个单位平面)

使用模具要求您创建、渲染并投影到RenderBuffer中,然后将该RenderBuffer渲染到下一个目标(例如默认帧缓冲区)

不确定您的用例,但我想不出与将8位alpha设置为[0.0,1.0]完全滚动相比,这在哪里值得付出努力。如果您追求性能,请坚持主流解决方案,让驱动程序发挥其魔力