hedgewars/uStore.pas
branchgl2
changeset 7384 85b022855f9a
parent 7304 8b3575750cd2
child 7387 f8a79052fe97
equal deleted inserted replaced
7381:ce3586dca0ed 7384:85b022855f9a
   988 end;
   988 end;
   989 {$ENDIF GL2}
   989 {$ENDIF GL2}
   990 
   990 
   991 procedure UpdateProjection;
   991 procedure UpdateProjection;
   992 var
   992 var
   993     s: GLfloat;
   993     l,r,t,b,s: GLfloat;
   994 begin
   994 begin
   995     s:=cScaleFactor;
   995     s:=cScaleFactor;
   996     mProjection[0,0]:= s/cScreenWidth; mProjection[0,1]:=  0.0;             mProjection[0,2]:=0.0; mProjection[0,3]:=  0.0;
   996 
   997     mProjection[1,0]:= 0.0;            mProjection[1,1]:= -s/cScreenHeight; mProjection[1,2]:=0.0; mProjection[1,3]:=  0.0;
   997     l:= 0.5;
   998     mProjection[2,0]:= 0.0;            mProjection[2,1]:=  0.0;             mProjection[2,2]:=1.0; mProjection[2,3]:=  0.0;
   998     r:= cScreenWidth + 0.5;
   999     mProjection[3,0]:= cStereoDepth;   mProjection[3,1]:=  s/2;             mProjection[3,2]:=0.0; mProjection[3,3]:=  1.0;
   999     t:= 0.5;
       
  1000     b:= cScreenHeight + 0.5;
       
  1001 
       
  1002     l:= l - (cScreenWidth div 2);
       
  1003     r:= r - (cScreenWidth div 2);
       
  1004 
       
  1005     mProjection[0,0]:= s/(r-l); mProjection[1,0]:= 0;       mProjection[2,0]:= 0; mProjection[3,0]:= -(r+l)/(r-l) {+ cStereoDepth};
       
  1006     mProjection[0,1]:= 0;       mProjection[1,1]:= s/(t-b); mProjection[2,1]:= 0; mProjection[3,1]:= -(t+b)/(t-b);
       
  1007     mProjection[0,2]:= 0;       mProjection[1,2]:= 0;       mProjection[2,2]:= 1; mProjection[3,2]:= 0;
       
  1008     mProjection[0,3]:= 0;       mProjection[1,3]:= 0;       mProjection[2,3]:= 0; mProjection[3,2]:= 1;
  1000 
  1009 
  1001     {$IFDEF GL2}
  1010     {$IFDEF GL2}
  1002     UpdateModelviewProjection;
  1011     UpdateModelviewProjection;
  1003     {$ELSE}
  1012     {$ELSE}
  1004     glMatrixMode(GL_PROJECTION);
  1013     glMatrixMode(GL_PROJECTION);