gpt4 book ai didi

c - openGLES 2 - 有没有一种方法可以在不扩展为无符号字节的情况下,以每 1 位加载一个 alpha 元素的纹理?

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:08 25 4
gpt4 key购买 nike

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

我是否需要将这个现有掩码中的每一位都变成一个字节并使用 GL_UNSIGNED_BYTE 还是有更聪明的方法来使用这个掩码?

最佳答案

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

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

使用模板需要您创建、渲染并转换到 RenderBuffer 中,然后将该 RenderBuffer 渲染到下一个目标(例如默认帧缓冲区)。

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

关于c - openGLES 2 - 有没有一种方法可以在不扩展为无符号字节的情况下,以每 1 位加载一个 alpha 元素的纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55955756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com