访问变换纹理的像素数据

时间:2011-06-29 19:39:05

标签: c++ directx

D3DXMatrixTransformation2D()texture->SetTransform()转换(旋转和缩放)纹理之后,如何访问纹理的TRANSFORMED像素数据?

我正在尝试进行2D像素完美碰撞检测,如果您只能使用texture->LockRect()访问未转换的像素数据,那是不可能的。

有人有任何想法吗?

1 个答案:

答案 0 :(得分:1)

这不会达到您想要的效果。使用SetTransform方法设置在绘制纹理之前应用的变换。所以它不会变形你的图像,你可以读出像素值。

可以做的是将世界坐标投影到纹理的UV坐标,然后读出相应的像素值并进行比较并在那里进行碰撞解决。 我猜你使用由D3DXMatrixTransformation2D()创建的矩阵的逆矩阵。