Ticket #2039: exact_normal_unnormalized.diff

File exact_normal_unnormalized.diff, 1.4 KB (added by sanderd17, 11 years ago)
  • source/graphics/Terrain.cpp

     
    254254        if (xf + zf <= 1.f)
    255255        {
    256256            // Lower-left triangle (don't use h11)
    257             return -CVector3D(TERRAIN_TILE_SIZE, (h10-h00)*HEIGHT_SCALE, 0).Cross(CVector3D(0, (h01-h00)*HEIGHT_SCALE, TERRAIN_TILE_SIZE)).Normalized();
     257            return CVector3D(h00-h10, TERRAIN_TILE_SIZE/HEIGHT_SCALE, h00-h01);
    258258        }
    259259        else
    260260        {
    261261            // Upper-right triangle (don't use h00)
    262             return -CVector3D(TERRAIN_TILE_SIZE, (h11-h01)*HEIGHT_SCALE, 0).Cross(CVector3D(0, (h11-h10)*HEIGHT_SCALE, TERRAIN_TILE_SIZE)).Normalized();
     262            return CVector3D(h01-h11, TERRAIN_TILE_SIZE/HEIGHT_SCALE, h10-h11);
    263263        }
    264264    }
    265265    else
     
    267267        if (xf <= zf)
    268268        {
    269269            // Upper-left triangle (don't use h10)
    270             return -CVector3D(TERRAIN_TILE_SIZE, (h11-h01)*HEIGHT_SCALE, 0).Cross(CVector3D(0, (h01-h00)*HEIGHT_SCALE, TERRAIN_TILE_SIZE)).Normalized();
     270            return CVector3D(h01-h11, TERRAIN_TILE_SIZE/HEIGHT_SCALE, h00-h01);
    271271        }
    272272        else
    273273        {
    274274            // Lower-right triangle (don't use h01)
    275             return -CVector3D(TERRAIN_TILE_SIZE, (h10-h00)*HEIGHT_SCALE, 0).Cross(CVector3D(0, (h11-h10)*HEIGHT_SCALE, TERRAIN_TILE_SIZE)).Normalized();
     275            return CVector3D(h00-h10, TERRAIN_TILE_SIZE/HEIGHT_SCALE, h10-h11);
    276276        }
    277277    }
    278278}