首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

不规则的纹理图片能否用重复寻址模式(平铺)?解决思路

2012-03-06 
不规则的纹理图片能否用重复寻址模式(平铺)??我在做窗体控件,这个窗体控件有好几部分纹理组成,其中一个就

不规则的纹理图片能否用重复寻址模式(平铺)??
我在做窗体控件,这个窗体控件有好几部分纹理组成,其中一个就是这个窗体背景纹理,就是这张图:


这张图片是128×128的,只显示0,0,122,113部分,这部分用来做窗体的背景。
我用重复寻址来实现窗体背景的任意大小。

C/C++ code
 
float x = 20, y = 20;
float width = 128, height = 128;// 图片尺寸

float left = 0.0f/width;
float top  = 0.0f/height;

float right  = 122.0f/width;
float bottom = 114.0f/height;

CustomVertex objData[] =
{
{    x,    y, 0, 1, col,  left,    top },
{ 400+x,    y, 0, 1, col,  right+5,  top },
{ 400+x, 400+y, 0, 1, col,  right+5, bottom+5 },
{    x, 400+y, 0, 1, col,  left, bottom+5 }
};

// ...

g_D3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP);
g_D3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP);


但是我测试发现,不管这个坐标怎么设定,显示的图像总有缝隙:


如果映射的纹理正好是128×128,那没问题,那如果不是呢?
可以正确映射出来么?

[解决办法]
肯定有缝隙,让美工把纹理里的黑边去掉啊
[解决办法]
你这个图片本来就有个黑边 ,没有办法啊

热点排行