@@ -1397,13 +1397,32 @@ bool MapBlockMesh::animate(bool faraway, float time, int crack, u32 daynight_rat
1397
1397
u8 night = j->second .second ;
1398
1398
finalColorBlend (vertices[vertexIndex].Color ,
1399
1399
day, night, daynight_ratio);
1400
- // Brighten topside (no shaders)
1401
- if (vertices[vertexIndex].Normal .Y > 0.5 )
1402
- {
1403
- video::SColor &vc = vertices[vertexIndex].Color ;
1404
- vc.setRed (srgb_linear_multiply (vc.getRed (), 1.3 , 255.0 ));
1405
- vc.setGreen (srgb_linear_multiply (vc.getGreen (), 1.3 , 255.0 ));
1406
- vc.setBlue (srgb_linear_multiply (vc.getBlue (), 1.3 , 255.0 ));
1400
+ // Make sides and bottom darker than the top
1401
+ video::SColor &vc = vertices[vertexIndex].Color ;
1402
+ if (vertices[vertexIndex].Normal .Y > 0.5 ) {
1403
+ vc.setRed (srgb_linear_multiply (vc.getRed (), 1.2 , 255.0 ));
1404
+ vc.setGreen (srgb_linear_multiply (vc.getGreen (), 1.2 , 255.0 ));
1405
+ vc.setBlue (srgb_linear_multiply (vc.getBlue (), 1.2 , 255.0 ));
1406
+ } else if (vertices[vertexIndex].Normal .Y < -0.5 ) {
1407
+ vc.setRed (srgb_linear_multiply (vc.getRed (), 0.3 , 255.0 ));
1408
+ vc.setGreen (srgb_linear_multiply (vc.getGreen (), 0.3 , 255.0 ));
1409
+ vc.setBlue (srgb_linear_multiply (vc.getBlue (), 0.3 , 255.0 ));
1410
+ } else if (vertices[vertexIndex].Normal .X > 0.5 ) {
1411
+ vc.setRed (srgb_linear_multiply (vc.getRed (), 0.8 , 255.0 ));
1412
+ vc.setGreen (srgb_linear_multiply (vc.getGreen (), 0.8 , 255.0 ));
1413
+ vc.setBlue (srgb_linear_multiply (vc.getBlue (), 0.8 , 255.0 ));
1414
+ } else if (vertices[vertexIndex].Normal .X < -0.5 ) {
1415
+ vc.setRed (srgb_linear_multiply (vc.getRed (), 0.8 , 255.0 ));
1416
+ vc.setGreen (srgb_linear_multiply (vc.getGreen (), 0.8 , 255.0 ));
1417
+ vc.setBlue (srgb_linear_multiply (vc.getBlue (), 0.8 , 255.0 ));
1418
+ } else if (vertices[vertexIndex].Normal .Z > 0.5 ) {
1419
+ vc.setRed (srgb_linear_multiply (vc.getRed (), 0.5 , 255.0 ));
1420
+ vc.setGreen (srgb_linear_multiply (vc.getGreen (), 0.5 , 255.0 ));
1421
+ vc.setBlue (srgb_linear_multiply (vc.getBlue (), 0.5 , 255.0 ));
1422
+ } else if (vertices[vertexIndex].Normal .Z < -0.5 ) {
1423
+ vc.setRed (srgb_linear_multiply (vc.getRed (), 0.5 , 255.0 ));
1424
+ vc.setGreen (srgb_linear_multiply (vc.getGreen (), 0.5 , 255.0 ));
1425
+ vc.setBlue (srgb_linear_multiply (vc.getBlue (), 0.5 , 255.0 ));
1407
1426
}
1408
1427
}
1409
1428
}
0 commit comments