- // Make sides and bottom darker than the top
- video::SColor &vc = vertices[vertexIndex].Color;
- if(vertices[vertexIndex].Normal.Y > 0.5) {
- vc.setRed (srgb_linear_multiply(vc.getRed(), 1.2, 255.0));
- vc.setGreen(srgb_linear_multiply(vc.getGreen(), 1.2, 255.0));
- vc.setBlue (srgb_linear_multiply(vc.getBlue(), 1.2, 255.0));
- } else if (vertices[vertexIndex].Normal.Y < -0.5) {
- vc.setRed (srgb_linear_multiply(vc.getRed(), 0.3, 255.0));
- vc.setGreen(srgb_linear_multiply(vc.getGreen(), 0.3, 255.0));
- vc.setBlue (srgb_linear_multiply(vc.getBlue(), 0.3, 255.0));
- } else if (vertices[vertexIndex].Normal.X > 0.5) {
- vc.setRed (srgb_linear_multiply(vc.getRed(), 0.8, 255.0));
- vc.setGreen(srgb_linear_multiply(vc.getGreen(), 0.8, 255.0));
- vc.setBlue (srgb_linear_multiply(vc.getBlue(), 0.8, 255.0));
- } else if (vertices[vertexIndex].Normal.X < -0.5) {
- vc.setRed (srgb_linear_multiply(vc.getRed(), 0.8, 255.0));
- vc.setGreen(srgb_linear_multiply(vc.getGreen(), 0.8, 255.0));
- vc.setBlue (srgb_linear_multiply(vc.getBlue(), 0.8, 255.0));
- } else if (vertices[vertexIndex].Normal.Z > 0.5) {
- vc.setRed (srgb_linear_multiply(vc.getRed(), 0.5, 255.0));
- vc.setGreen(srgb_linear_multiply(vc.getGreen(), 0.5, 255.0));
- vc.setBlue (srgb_linear_multiply(vc.getBlue(), 0.5, 255.0));
- } else if (vertices[vertexIndex].Normal.Z < -0.5) {
- vc.setRed (srgb_linear_multiply(vc.getRed(), 0.5, 255.0));
- vc.setGreen(srgb_linear_multiply(vc.getGreen(), 0.5, 255.0));
- vc.setBlue (srgb_linear_multiply(vc.getBlue(), 0.5, 255.0));
- }