32 bit color
// clear out back buffer
UCHAR * back_buffer = (UCHAR*)ddsd.lpSurface;
if (ddsd.lPitch == (SCR_WIDTH *4))
memset(back_buffer,0,SCR_HEIGHT*ddsd.lPitch)
else
{
for (int y=0; y {
memset(back_buffer,0,SCR_WIDTH*4);
back_buffer += ddsd.lPitch;
}
}
this works just fine however when i change back_buffer to a UINT* and then change back_buffer += ddsd.lPitch to
back_buffer += (ddsd.lPitch >> 2)
with this change the bitmap still displays in the right place but it experiences what i believe is called shearing
after the if else statement if i had
back_buffer = (UINT*)ddsd.lpSurface
everything is fine
i just don't understand whats going on