typedef enum D3D10_TEXTURE_ADDRESS_MODE {
D3D10_TEXTURE_ADDRESS_WRAP = 1,
D3D10_TEXTURE_ADDRESS_MIRROR = 2,
D3D10_TEXTURE_ADDRESS_CLAMP = 3,
D3D10_TEXTURE_ADDRESS_BORDER = 4,
D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5
} D3D10_TEXTURE_ADDRESS_MODE;
这个枚举用于描述纹理坐标越界时的处理方式。以下是对枚举值的简要说明:
- D3D10_TEXTURE_ADDRESS_WRAP:纹理坐标会被环绕,超出[0,1]的部分将被"包裹"回去。
- D3D10_TEXTURE_ADDRESS_MIRROR:纹理坐标会被镜像,超出[0,1]的部分会被镜像反转。
- D3D10_TEXTURE_ADDRESS_CLAMP:纹理坐标会被截断,超出[0,1]的部分会被截断到最近的边界值。
- D3D10_TEXTURE_ADDRESS_BORDER:超出[0,1]范围的纹理坐标使用指定的边界颜色。
- D3D10_TEXTURE_ADDRESS_MIRROR_ONCE:纹理坐标会被镜像,超出[0,1]的部分会被镜像反转,但只进行一次。
在使用 Direct3D 10 编程时,你可以通过设置采样器状态对象(ID3D10SamplerState)中的 AddressU、AddressV 和 AddressW 字段来指定纹理坐标在不同维度上越界时的处理方式。这样可以控制纹理的寻址模式,以适应不同的纹理使用情景。
转载请注明出处:http://www.zyzy.cn/article/detail/25547/Win32 API/D3d10.h/D3D10_TEXTURE_ADDRESS_MODE