Disable backface culling for drawtype plantlike and only draw 2 faces instead of 4
authorJürgen Doser <jurgen.doser@gmail.com>
Fri, 25 Jan 2013 14:52:53 +0000 (15:52 +0100)
committerPilzAdam <PilzAdam@gmx.de>
Sun, 10 Feb 2013 11:45:25 +0000 (12:45 +0100)
This way, plants actually show the real backface on their back side,
i.e., the front face mirrored around the vertical axis, instead of
showing the front face on both sides. This looked weird when the
texture was not symmetrical around the vertical axis.

src/content_mapblock.cpp
src/nodedef.cpp

index aa3c061d6c6d7afe1df2ff0f5517c9872f312188..290890490ec77241cab5c805f8ce32417690079f 100644 (file)
@@ -733,7 +733,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
                        u16 l = getInteriorLight(n, 1, data);
                        video::SColor c = MapBlock_LightColor(255, l, decode_light(f.light_source));
 
-                       for(u32 j=0; j<4; j++)
+                       for(u32 j=0; j<2; j++)
                        {
                                video::S3DVertex vertices[4] =
                                {
@@ -759,16 +759,6 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
                                        for(u16 i=0; i<4; i++)
                                                vertices[i].Pos.rotateXZBy(-45);
                                }
-                               else if(j == 2)
-                               {
-                                       for(u16 i=0; i<4; i++)
-                                               vertices[i].Pos.rotateXZBy(135);
-                               }
-                               else if(j == 3)
-                               {
-                                       for(u16 i=0; i<4; i++)
-                                               vertices[i].Pos.rotateXZBy(-135);
-                               }
 
                                for(u16 i=0; i<4; i++)
                                {
index 560c6090d1a6b81f45b76dc3cad69964fb07673b..729c69c9273e9739a5188df5c33658c3f17a0170 100644 (file)
@@ -604,9 +604,12 @@ public:
                                        }
                                }
                                break;
+                       case NDT_PLANTLIKE:
+                               f->solidness = 0;
+                               f->backface_culling = false;
+                               break;
                        case NDT_TORCHLIKE:
                        case NDT_SIGNLIKE:
-                       case NDT_PLANTLIKE:
                        case NDT_FENCELIKE:
                        case NDT_RAILLIKE:
                        case NDT_NODEBOX: