changeset 2321:53c9d34024d6

near_clip error
author Ritor1
date Sat, 22 Mar 2014 18:06:41 +0600
parents 847aba0b7f82
children a59892f99d31
files Render.cpp
diffstat 1 files changed, 10 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/Render.cpp	Fri Mar 21 01:12:52 2014 +0600
+++ b/Render.cpp	Sat Mar 22 18:06:41 2014 +0600
@@ -276,13 +276,13 @@
   int Start_X, End_X, Start_Z, End_Z;
   if ( direction >= 0 && direction < 1.0 )//East(B) - NorthEast(CB)
   {
-    Start_X = pODMRenderParams->uMapGridCellX, End_X = 127;
+    Start_X = pODMRenderParams->uMapGridCellX - 2, End_X = 127;
     Start_Z = 0, End_Z = 127;
   }
   else if (direction >= 1.0 && direction < 3.0)//NorthEast(CB) - WestNorth(CЗ)
   {
       Start_X = 0, End_X = 127;
-      Start_Z = 0, End_Z = pODMRenderParams->uMapGridCellZ;
+      Start_Z = 0, End_Z = pODMRenderParams->uMapGridCellZ + 1;
   }
   else if (direction >= 3.0 && direction < 5.0)//WestNorth(CЗ) - SouthWest(ЮЗ)
   {
@@ -292,11 +292,11 @@
   else if ( direction >= 5.0 && direction < 7.0 )//SouthWest(ЮЗ) - //SouthEast(ЮВ)
   {
     Start_X = 0, End_X = 127;
-    Start_Z = pODMRenderParams->uMapGridCellZ - 1, End_Z = 127;
+    Start_Z = pODMRenderParams->uMapGridCellZ - 2, End_Z = 127;
   }
   else//SouthEast(ЮВ) - East(B)
   {
-    Start_X = pODMRenderParams->uMapGridCellX, End_X = 127;
+    Start_X = pODMRenderParams->uMapGridCellX - 2, End_X = 127;
     Start_Z = 0, End_Z = 127;
   }
   for (unsigned int z = Start_Z; z < End_Z; ++z)
@@ -389,11 +389,11 @@
                    || (double)pODMRenderParams->shading_dist_mist < array_73D150[3].vWorldViewPosition.x;
       if ( !byte_4D864C || ~pGame->uFlags & 0x80 )
       {
-        if ( neer_clip )
-        {
-          pTilePolygon->uNumVertices = ODM_NearClip(pTilePolygon->uNumVertices);
-          ODM_Project(pTilePolygon->uNumVertices);
-        }
+        //if ( neer_clip ) //Ritor1: Даёт искажения на подъёме, возможно требуется ф-ция Безье
+        //{
+         // pTilePolygon->uNumVertices = ODM_NearClip(pTilePolygon->uNumVertices);
+         // ODM_Project(pTilePolygon->uNumVertices);
+        //}
         if ( far_clip )
         {
           pTilePolygon->uNumVertices = ODM_FarClip(pTilePolygon->uNumVertices);
@@ -8597,6 +8597,7 @@
   }
   return out_num_vertices >= 3 ? out_num_vertices : 0;
 }
+
 //----- (00424EE0) --------------------------------------------------------
 int ODM_FarClip(unsigned int uNumVertices)
 {