是否支持立方体贴图纹理的包装模式?
我已将包装模式设置为GL_REPEAT
并使用了tex-cords [-2,2]
,但我无法看到重复的纹理。它只被应用一次。
似乎用立方体贴图纹理不可能,为什么?
以下是我的签名:
#define eps1 1.0
GLfloat tex_coords[] = {
/* +X side */
1.0, -eps1, -eps1,
1.0, -eps1, eps1,
1.0, eps1, eps1,
1.0, eps1, -eps1,
/* -X side */
-1.0, eps1, -eps1,
-1.0, eps1, eps1,
-1.0, -eps1, eps1,
-1.0, -eps1, -eps1,
/* +Y side */
-eps1, 1.0, -eps1,
-eps1, 1.0, eps1,
eps1, 1.0, eps1,
eps1, 1.0, -eps1,
/* -Y side */
-eps1, -1.0, -eps1,
-eps1, -1.0, eps1,
eps1, -1.0, eps1,
eps1, -1.0, -eps1,
/* +Z side */
eps1, -eps1, 1.0,
-eps1, -eps1, 1.0,
-eps1, eps1, 1.0,
eps1, eps1, 1.0,
/* -Z side */
eps1, eps1, -1.0,
-eps1, eps1, -1.0,
-eps1, -eps1, -1.0,
eps1, -eps1, -1.0,
};
答案 0 :(得分:3)
从ARB_seamless_cube_map
无耻地偷走。
从立方体贴图纹理采样时,使用三维纹理坐标选择其中一个立方体贴图面并生成二维纹理坐标(s t),其中纹理像素为 从立方体贴图纹理的确定面采样。纹理的每个面被视为独立的二维纹理,并且生成的(s t)坐标经历相同的 夹紧和包装规则与任何其他二维纹理提取一样。
扩展本身也可能对您有用。
答案 1 :(得分:1)
s和t坐标基于两个非主要方向,但除以主方向的绝对值。由于主方向是绝对值最大的方向,因此结果将始终在[0,1]范围内。在进行查找之前,您可以将其视为3D纹理坐标的内置标准化。 简而言之,无法包装立方体贴图的面。