int dxi=(int)(dx*256.0f);
int dyi=(int)(dy*256.0f);
if (dx<dy)
{int offset=x+y*lPitch;
length=dy+1;
error=(y0-y)*dxi-(x0-x)*dyi;
__asm emms;
while(i<length)
{offset+=incrne;
error+=dxi;
if (error>dyi)
{offset+=incre;
error-=dyi;}i++;
uint *pixel=vscreen+offset;
__asm {
mov esi, [pixel]
movd mm6, [esi]
movd mm7, [value]
psubusb mm6,mm7
movd [esi], mm6
}}}
else{
int offset=x+y*lPitch;
length=dx+1;
error=(x0-x)*dyi-(y0-y)*dxi;
__asm emms;
while(i<length){
offset+=incre;
error+=dyi;
if(error>dxi)
{offset+=incrne;
error-=dxi;}
i++;
uint *pixel=vscreen+offset;
__asm {
mov esi, [pixel]
movd mm6, [esi]
movd mm7, [value]
psubusb mm6,mm7
movd [esi], mm6
}}}__asm emms;
rotation structure zoom speed
on duck 0.5x slow
off cube 1x normal
glass 1.5x fast
teapot
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer
Rene Störmer