F64 é,è,ê,s;
CDC *dc0,*dc1;








		 $SP,"<1>",BI=1$









U0 GrBlackLighting(CDC *dc,CD3I32 *,CD3I32 *,CD3I32 *,CColorROPU32)
{
  dc->color=0;
}

U0 DrawShadow(CTask *task)
{
  I64 r[4][4],*r2;

  Mat4x4IdentEqu(dc1->r);
  Mat4x4RotZ(dc1->r,é);
  Mat4x4RotX(dc1->r,è);
  Mat4x4RotZ(dc1->r,ê);
  Mat4x4Scale(dc1->r,s);
  Mat4x4TranslationEqu(dc1->r,200,200,5000);
  dc1->flags|=DCF_TRANSFORMATION;
  DCMat4x4Set(dc1,dc1->r);

  MemSet(r,0,sizeof(r));

  r[0][0]=GR_SCALE;
  r[1][1]=GR_SCALE/2; //Pick a plane for the shadow, to suit your taste.
  r[1][2]=GR_SCALE/2; //It doesn't have to have a norm of 1.0.
  r[2][2]=GR_SCALE;
  r[3][3]=GR_SCALE;

  Mat4x4TranslationEqu(r,0,-2200,1000);
  r2=Mat4x4MulMat4x4New(r,dc1->r,task);
  Free(dc1->r);
  DCMat4x4Set(dc1,r2);

  dc1->lighting=&GrBlackLighting;
  Sprite3(dc1,0,0,0,$IB,"<1>",BI=1$);
}

U0 DrawIt(CTask *task,CDC *)
{
  DCDepthBufRst(dc0);
  Mat4x4IdentEqu(dc0->r);
  Mat4x4RotZ(dc0->r,é);
  Mat4x4RotX(dc0->r,è);
  Mat4x4RotZ(dc0->r,ê);
  Mat4x4Scale(dc0->r,s);
  Mat4x4TranslationEqu(dc0->r,200,200,5000);
  dc0->flags|=DCF_TRANSFORMATION;
  DCMat4x4Set(dc0,dc0->r);
  if (mp_cnt>1)
    JobQue(&DrawShadow,task,1);
  else
    DrawShadow(task);
  Sprite3(dc0,0,0,0,$IB,"<1>",BI=1$);
}

U0 Shadow()
{//The shadow image b.s.  Any is plausible.
  dc0=DCAlias(gr.dc2,Fs);
  dc1=DCAlias(gr.dc2,Fs);
  DCDepthBufAlloc(dc0);
  dc1->depth_buf=dc0->depth_buf;

  é=0;
  è=0;
  ê=0;
  s=1.5;

  SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
  WinMax;
  Fs->draw_it=&DrawIt;

  while (!ScanChar) {
    é+=2*ã/70;
    è+=2*ã/90;
    ê+=2*ã/110;
    Sleep(20);
  }
  SettingsPop;
  DCDel(dc0);
  dc1->depth_buf=NULL;
  DCDel(dc1);
}

Shadow;
��������B�����������d�����������K���çÿÿÿ�������çÿÿÿ����Îÿÿÿµÿÿÿ����Îÿÿÿ��������K�������çÿÿÿ�������çÿÿÿÎÿÿÿ����µÿÿÿÎÿÿÿçÿÿÿçÿÿÿd�����������K��������������������ÎÿÿÿK�������Îÿÿÿ��������K�������çÿÿÿ�������çÿÿÿÎÿÿÿ����µÿÿÿÎÿÿÿ���çÿÿÿ��������������������������������������������������������������������������������������������������������������������������������
��������
������	�����
���	���
�����
���
��������
�������������������������������������������������������
�����������
����������