GLSL中texture3D获得的值大小

 

使用OpenGL的glTexImage3D,获得纹理数据。再在片元着色器对数据进行处理texture3D,得到的数据已被压缩到0-1。

openGL函数glTexImage3D导入数据后,在GLSL中,数据被进行了压缩。

glTexImage3D,指定一个三位纹理图像

void glTexImage3D(	
    GLenum target,    //纹理目标(GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_2D_ARRAY or GL_PROXY_TEXTURE_2D_ARRAY)
 	GLint level,    //细节等级数
 	GLint internalformat,//纹理颜色通道数
 	GLsizei width,        //纹理图像宽度(至少16个像素宽)
 	GLsizei height,       //纹理图像的高度(至少256像素高)
 	GLsizei depth,        //纹理图像的深度或者纹理组的层数(至少256)
 	GLint border,        //为0
 	GLenum format,        //像素数据的格式(GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED_INTEGER, GL_RG_INTEGER, GL_RGB_INTEGER, GL_BGR_INTEGER, GL_RGBA_INTEGER, GL_BGRA_INTEGER, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_DEPTH_STENCIL)
 	GLenum type,        //像素数据的类型(GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_HALF_FLOAT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV)
 	const void * data);    //图像数据内存指针

format:决定了数据各个通道的组成:
GL_RED,每个元素是个单独的红色通道。GL将它转化为float型数据,并扩充到RGBA通道,绿色和蓝色是0,alpha通道是1.每个通道压缩到0-1范围内。
GL_RG,每个元素是个红色和绿色通道组合。GL将它转化为float型数据,并扩充到RGBA通道,蓝色是0,alpha通道是1.每个通道压缩到0-1范围内。
GL_RGB,GL_BGR,每个元素是RGB组合通道。GL将它转化为float型数据,并扩充到RGBA通道,alpha通道是1.每个通道压缩到0-1范围内。
GL_RGBA,GL_BGRA,每个元素是个4通道。每个通道压缩到0-1范围内。(参考)

由于数据会被压缩在0-1内,所以GLSL中片元着色器得到的采样数据(data),在对其就行使用时,需了解其值已在0-1之内(原值直接除以255)。

value = texture3D(sampler3D_Data,vertex);  //value = texture3D(texData,vertex).x; 

value值(0-1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值