坐标系 (Direct3D 10)

Direct3D 10 的坐标系是针对像素和纹素定义的。

Direct3D 9 和 Direct3D 10 之间的差异:

  • Direct3D 10 将左上角像素的左上角定义为呈现器目标的原点。
  • Direct3D 9 将左上角像素的中心定义为呈现目标的原点。

 

像素坐标系

纹素坐标系

相关主题

像素坐标系

Direct3D 10 中的像素坐标系定义左上角呈现目标的原点。 如下图所示。 像素中心从整数位置偏移 (0.5f,0.5f)。

Direct3D 10 中像素坐标系的示意图

Direct3D 9 的像素坐标系

供参考,下面是 Direct3D 9 的像素坐标系,它将原点或呈现目标定义为左上角像素的中心, (左上角) 0.5,0.5) ,如下图所示。 在 Direct3D 9 中,像素中心位于整数位置。

direct3d 9 中像素坐标系的示意图

纹素坐标系

纹素坐标系的原点位于纹理的左上角处,如下图所示。 这使得在 Direct3D 10) 中呈现屏幕对齐的纹理变得简单 (,因为像素坐标系与纹素坐标系对齐。

纹素坐标系的示意图

纹素坐标系

纹理坐标用标准化数或比例尺数表示;每个纹理坐标被映射到特定的纹素,如下所述:

对于标准化坐标:

  • 点采样:纹素 # = floor(U * 宽度)
  • 线性采样:左纹素 # = floor(U * 宽度),右纹素 # = 左纹素 # + 1

对于比例尺坐标:

  • 点采样:纹素 # = floor(U)
  • 线性采样:左纹素 # = floor(U - 0.5),右纹素 # = 左纹素 # + 1

其中的宽度是指纹理的宽度(单位为纹素)。

纹理地址包装在计算纹素位置后进行。

资源 (Direct3D 10)