# HG changeset patch # User Wolfgang Steffens # Date 1389292720 -14400 # Node ID 85b022855f9ac46271397f375730f1bf5c5be991 # Parent ce3586dca0edd2b6532d91b03b68f7c0c377b732 Import temp.diff which is a try to fix glitches with textures edges diff -r ce3586dca0ed -r 85b022855f9a hedgewars/uStore.pas --- a/hedgewars/uStore.pas Thu Jan 09 22:35:40 2014 +0400 +++ b/hedgewars/uStore.pas Thu Jan 09 22:38:40 2014 +0400 @@ -990,13 +990,22 @@ procedure UpdateProjection; var - s: GLfloat; + l,r,t,b,s: GLfloat; begin s:=cScaleFactor; - mProjection[0,0]:= s/cScreenWidth; mProjection[0,1]:= 0.0; mProjection[0,2]:=0.0; mProjection[0,3]:= 0.0; - mProjection[1,0]:= 0.0; mProjection[1,1]:= -s/cScreenHeight; mProjection[1,2]:=0.0; mProjection[1,3]:= 0.0; - mProjection[2,0]:= 0.0; mProjection[2,1]:= 0.0; mProjection[2,2]:=1.0; mProjection[2,3]:= 0.0; - mProjection[3,0]:= cStereoDepth; mProjection[3,1]:= s/2; mProjection[3,2]:=0.0; mProjection[3,3]:= 1.0; + + l:= 0.5; + r:= cScreenWidth + 0.5; + t:= 0.5; + b:= cScreenHeight + 0.5; + + l:= l - (cScreenWidth div 2); + r:= r - (cScreenWidth div 2); + + mProjection[0,0]:= s/(r-l); mProjection[1,0]:= 0; mProjection[2,0]:= 0; mProjection[3,0]:= -(r+l)/(r-l) {+ cStereoDepth}; + mProjection[0,1]:= 0; mProjection[1,1]:= s/(t-b); mProjection[2,1]:= 0; mProjection[3,1]:= -(t+b)/(t-b); + mProjection[0,2]:= 0; mProjection[1,2]:= 0; mProjection[2,2]:= 1; mProjection[3,2]:= 0; + mProjection[0,3]:= 0; mProjection[1,3]:= 0; mProjection[2,3]:= 0; mProjection[3,2]:= 1; {$IFDEF GL2} UpdateModelviewProjection;