【发布时间】:2012-01-02 08:40:33
【问题描述】:
纹理坐标有问题。首先我想描述一下我想做什么,然后我会问这个问题。
我想要一个只使用一个大纹理的网格。大纹理合并了网格在其中使用的所有纹理。我做了一个合并纹理的例程,没问题,但我仍然需要修改纹理坐标,所以现在只使用一个纹理而不是多个纹理的网格已经放置好了。
看图:
在左上角,我得到了其中一个纹理(我们称之为 A),我合并成一个大纹理,右边的(B)。 A 的左上角是 0,0,右下角是 1,1。为了便于使用,我们假设 B.width = A.width * 2 等高度。所以在 B 上的迷你纹理(M 原来是 A)右下角应该是 0.5,0.5。
到目前为止,我在理解这些方面没有任何问题,我希望我能理解它。但这里的问题是,纹理坐标是:
- 1以上
- 否定
在原来的 A 上。这些在 M 上应该是什么?
假设 A 有 -0.1,0 - 是 -0.05,0 在 B 内部的 M 上吗?
那些在 0..1 区域之外的数字呢? A 上的 -3.2,0 是 -1.6 还是 B 上的 -3.1?所以我剪辑 %1 的部分并除以 2(因为我在上面说过宽度是两倍)还是应该将整数除以 2?据我所知,这个区域以外的数字是关于镜像纹理的。我该如何管理这个,所以输出不包含 B 的橙色纹理?
如果我的问题不够清楚(我的英语不太熟练),请提问,我会编辑/回答,帮助我消除困惑:)
提前致谢: 彼得
【问题讨论】:
标签: xna xna-4.0 texture-mapping