DirectX 9 中的纹理坐标

1.什么是纹理坐标呢?
一般的纹理都是一个二维的图片,比如一幅画什么的,纹理坐标就是指画中每一个像素的坐标。当然还有其他格式的坐标,比如3为坐标---立体纹理坐标;一维坐标等等。

2.纹理坐标有啥用呢?
当画一个primitive的时候,需要给这个primitive填充颜色,当然不是简简单单的刷上一个颜色,要的是更复杂的东东。这个时候就需要给这个primitive指定一个纹理,制定完成后就等着画图了。画图的时候,DirectX 根据指定的primitive中的坐标------0.0到1.0,从纹理中去取,比如把一个纹理的都整个设置给了一个primitive,然后(0.5, 0.7)这个点的颜色就是(0.5*texture_width, 0.5*texture_height)的颜色值,当然啦,如果取出来的坐标不是一个整数,那么就最近取一个点的色值了。通过这种方法达到给primitive中的每个点赋值来达到显示效果。

当然啦,也可以不指定整个坐标给primitive,比如只想设置纹理的上半面给primitive,则设置纹理坐标为(0.0, 0.0) ,(0.5, 0.0); (0.0, 0.5),(0.5,0.5)

3.坐标映射的过程:
屏幕中的每个像素坐标映射到primitive上(当然,也可以说成每个primitive坐标映射到屏幕上),延后映射后的像素坐标(primitive坐标)再去从相应的纹理中根据纹理坐标来去除该坐标对应点的色值。

4.Texture Filtering (Direct3D 9):
下篇文章补上。

5.。。。

你可能感兴趣的:(DI)