Ticket #2039: exact_normal_unnormalized.diff
File exact_normal_unnormalized.diff, 1.4 KB (added by , 11 years ago) |
---|
-
source/graphics/Terrain.cpp
254 254 if (xf + zf <= 1.f) 255 255 { 256 256 // 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); 258 258 } 259 259 else 260 260 { 261 261 // 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); 263 263 } 264 264 } 265 265 else … … 267 267 if (xf <= zf) 268 268 { 269 269 // 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); 271 271 } 272 272 else 273 273 { 274 274 // 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); 276 276 } 277 277 } 278 278 }