gpt4 book ai didi

OpenGL 3.3 : How implement uncompressing texture data before passing to vertex and fragment shader

转载 作者:行者123 更新时间:2023-12-04 08:17:23 41 4
gpt4 key购买 nike

我从打包的相机中提取 12 位数据,以便 3 个字节定义 2
连续像素。
在将数据传递给顶点着色器进行进一步处理之前,有没有办法将它们解压缩为两个 16 位值?

最佳答案

这是想法:

  • 将纹理复制到 PBO(像素缓冲区对象):
  • 现在这个 PBO 可以被计算着色器使用,在那里可以执行解压缩。
  • 结果 PBO 可以复制回纹理。

  • 要在 gpu 上做到这一点,您需要直接访问缓冲区元素,而 opengl 3.3 没有。所以你只能用 310es、430 版本或 vulkan 来做到这一点。
    也可以使用 cuda 或 OpenCL 解压缩图像。在这种情况下,应将第 2 步替换为 cuda 或 OpenCL 例程。
    另一个想法:
    您可以将纹理作为一个组件纹理加载,并在片段着色器中使用 texelFetch。在这种情况下,您将直接访问纹理缓冲区的字节。

    关于OpenGL 3.3 : How implement uncompressing texture data before passing to vertex and fragment shader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65651173/

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