读书人

不规则的纹理图片能否用重复寻址模式(

发布时间: 2012-03-06 20:47:55 作者: rapoo

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


这张图片是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,那没问题,那如果不是呢?
可以正确映射出来么?

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

读书人网 >网络游戏

热点推荐