В Direct3D 9 я пытаюсь изменить поверхность следующим образом:
Учитывая прямоугольник, для каждого пикселя на данной поверхности в пределах границ прямоугольника каждый из каналов (R, G, B, A) будет умножен на определенное (плавающее) значение, чтобы затемнить или осветлить его.
Как мне это сделать? Предпочтительно, чтобы я не использовал LockRect (тем более, что он не работает с пулом по умолчанию).