Я пытаюсь установить отдельные пиксели в D3DSURFACE9, но они идут повсюду.
Я думаю, что делал это раньше, но, похоже, на этот раз все не так.
3DLOCKED_RECT lrt;
if(D3D_OK == lpThis->sfRenderingCanvas->LockRect(&lrt,NULL,0))
{
UINT pitch = lrt.Pitch;
VOID *data;
data = lrt.pBits;
UINT Y = (UINT)xmsg.Y;
UINT X = (UINT)xmsg.X;
for(int z=0;xmsg.iNum;z++)
{
if( xmsg.iDataBlock[z]>0 )
((DWORD*)data)[X+Y*pitch+z] = 0xFFFFFF00;
else
((DWORD*)data)[X+Y*pitch+z] = 0xFF000000;
}
}
}
Y находится между 0 и высотой, используемой при создании поверхности
X находится между 0 и шагом поверхности
Кто-нибудь может сказать, что я делаю не так?
Кроме того, кажется, что он вдвое ниже моего окна.
(^ Если я попытаюсь нарисовать более 1/4 строки, она покрывает половину из них.)