使Direct3D 9中的表面变暗

时间:2010-12-29 06:16:24

标签: directx direct3d

在Direct3D 9中,我正在尝试修改表面:

给定一个矩形,对于矩形边界内给定曲面中的每个像素,每个通道(R,G,B,A)将乘以某个(浮点)值,使其变暗或变亮

我该怎么做呢?我最好避免使用LockRect(特别是因为它似乎不适用于默认池)。

1 个答案:

答案 0 :(得分:1)

如果您想直接更新Surfaces像素,可以使用“Device.UpdateTexture”。这会将在Pool.SystemMemory中创建的纹理更新为在Pool.Default中创建的纹理。

但这听起来并不像你想做的那样。使用效果硬件加速这一点。如果你想知道我怎么能告诉你。