坐标系 (Direct3D 10)
Direct3D 10 的坐标系是针对像素和纹素定义的。
Direct3D 9 和 Direct3D 10 之间的差异:
- Direct3D 10 将左上角像素的左上角定义为呈现器目标的原点。
- Direct3D 9 将左上角像素的中心定义为呈现目标的原点。
像素坐标系
Direct3D 10 中的像素坐标系定义左上角呈现目标的原点。 如下图所示。 像素中心从整数位置偏移 (0.5f,0.5f)。
Direct3D 9 的像素坐标系
供参考,下面是 Direct3D 9 的像素坐标系,它将原点或呈现目标定义为左上角像素的中心, (左上角) 0.5,0.5) ,如下图所示。 在 Direct3D 9 中,像素中心位于整数位置。
纹素坐标系
纹素坐标系的原点位于纹理的左上角处,如下图所示。 这使得在 Direct3D 10) 中呈现屏幕对齐的纹理变得简单 (,因为像素坐标系与纹素坐标系对齐。
纹素坐标系
纹理坐标用标准化数或比例尺数表示;每个纹理坐标被映射到特定的纹素,如下所述:
对于标准化坐标:
- 点采样:纹素 # = floor(U * 宽度)
- 线性采样:左纹素 # = floor(U * 宽度),右纹素 # = 左纹素 # + 1
对于比例尺坐标:
- 点采样:纹素 # = floor(U)
- 线性采样:左纹素 # = floor(U - 0.5),右纹素 # = 左纹素 # + 1
其中的宽度是指纹理的宽度(单位为纹素)。
纹理地址包装在计算纹素位置后进行。
相关主题