不规则的纹理图片能否用重复寻址模式(平铺)??
我在做窗体控件,这个窗体控件有好几部分纹理组成,其中一个就是这个窗体背景纹理,就是这张图:
这张图片是128×128的,只显示0,0,122,113部分,这部分用来做窗体的背景。
我用重复寻址来实现窗体背景的任意大小。
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);