Opengl GLSL imageLoad/imageStore&;立方体地图

Opengl GLSL imageLoad/imageStore&;立方体地图,opengl,reflection,glsl,Opengl,Reflection,Glsl,在GLSL中执行textureCube()texturelookup将reflectionray作为查找坐标 GLSL 4.2引入了imageLoad/imageStore,它也适用于cubemaps 但是加载/存储功能 imageStore(gimagecube image, ivec3 p, vec4 data) 获取整数坐标以访问相应的texel 如何解释这些坐标以及如何根据反射光线的方向计算这些坐标?基本上,具有图像加载/存储功能的立方体贴图的工作方式类似于6元素阵列纹理。纹理坐标的

在GLSL中执行textureCube()texturelookup将reflectionray作为查找坐标

GLSL 4.2引入了imageLoad/imageStore,它也适用于cubemaps

但是加载/存储功能

imageStore(gimagecube image, ivec3 p, vec4 data) 
获取整数坐标以访问相应的texel


如何解释这些坐标以及如何根据反射光线的方向计算这些坐标?

基本上,具有图像加载/存储功能的立方体贴图的工作方式类似于6元素阵列纹理。纹理坐标的z分量指定要查看的面。面的顺序与立方体贴图面的枚举数的顺序相同,这与的顺序相同

至于如何计算方向的方向,可以使用规范中详述的算法进行计算。GL 4.2 core的第3.9.10节解释了OpenGL如何获取方向并将其转换为特定的面和纹理坐标。这比我想在帖子中解释的要复杂一点,它实际上只是一些文本的复制和粘贴

总体思路是,根据表3.17,最大的组件定义了要使用的面。然后从该表中获取S和T纹理坐标,并对其应用一些数学运算,将其转换为[0,1]纹理坐标