1

是否支持立方体贴图纹理的环绕模式?我已将包装模式设置为GL_REPEAT并使用了 tex-cords [-2,2],但我看不到重复的纹理。它只应用一次。立方体贴图纹理似乎是不可能的,为什么?

这是我的tex坐标:

#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,
};
4

2 回答 2

3

无耻地从ARB_seamless_cube_map.

从立方体贴图纹理中采样时,使用三维纹理坐标来选择立方体贴图面之一并生成二维纹理坐标 (st),在该二维纹理坐标 (st) 处,从立方体贴图纹理的确定面采样纹素。纹理的每个面都被视为一个独立的二维纹理,并且生成的 (st) 坐标与任何其他二维纹理提取一样受到相同的钳位和环绕规则。

扩展程序本身也可能对您有用。

于 2013-04-04T09:00:30.003 回答
1

s 和 t 坐标基于两个非主方向,但除以主方向的绝对值。由于主方向是绝对值最大的方向,因此结果将始终在 [0, 1] 范围内。在进行查找之前,您可以将其视为 3D 纹理坐标的内置标准化。简而言之,不可能包裹立方体贴图的面。

于 2013-04-05T08:46:12.230 回答