From 6b1420a58af7472880bebb9d0f89be987bc25da1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Doser?= Date: Fri, 25 Jan 2013 15:52:53 +0100 Subject: [PATCH] Disable backface culling for drawtype plantlike and only draw 2 faces instead of 4 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 | 12 +----------- src/nodedef.cpp | 5 ++++- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/content_mapblock.cpp b/src/content_mapblock.cpp index aa3c061d6..290890490 100644 --- a/src/content_mapblock.cpp +++ b/src/content_mapblock.cpp @@ -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++) { diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 560c6090d..729c69c92 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -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: