opengl显示16位灰度图像

最近这几个月一直在思索一个问题,就是如何使用opengl显示16位的灰度图像。

在寻找实现方法的过程中,一个主要的问题是对glsl不理解。目前对glsl有了一点初步的认识。

现在的问题转换为如何将16位数据正确的传入glsl,也就是短整型数据传入glsl。

以前学习过一个网上的代码,就是使用opengl显示nv12图像的代码,在nv12图像里面,一个UV组合就是16位数据,

所以现在的思路就是借鉴UV组合传入glsl的代码,将一个16位的灰度图像传入glsl,

在glsl中对短整型进行处理,将处理之后的结果给到gl_FragColor中,就可以实现opengl显示16位灰度图像。

目前这是一个思路,具体的代码还在调试中。

 

另外有一个需要注意的问题,就是我们现在用的显卡色深位数都不是16位的,也就是说我们虽然传入的是16位的精度,

但是显卡显示的时候达不到16位的色深精度,所以部分数据就被丢弃了。

posted @ 2022-11-28 15:54  eastgeneral  阅读(384)  评论(0编辑  收藏  举报