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.mutilcraft-mt53
parent
1cda39d5bb
commit
6b1420a58a
|
@ -733,7 +733,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
||||||
u16 l = getInteriorLight(n, 1, data);
|
u16 l = getInteriorLight(n, 1, data);
|
||||||
video::SColor c = MapBlock_LightColor(255, l, decode_light(f.light_source));
|
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] =
|
video::S3DVertex vertices[4] =
|
||||||
{
|
{
|
||||||
|
@ -759,16 +759,6 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
||||||
for(u16 i=0; i<4; i++)
|
for(u16 i=0; i<4; i++)
|
||||||
vertices[i].Pos.rotateXZBy(-45);
|
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++)
|
for(u16 i=0; i<4; i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -604,9 +604,12 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case NDT_PLANTLIKE:
|
||||||
|
f->solidness = 0;
|
||||||
|
f->backface_culling = false;
|
||||||
|
break;
|
||||||
case NDT_TORCHLIKE:
|
case NDT_TORCHLIKE:
|
||||||
case NDT_SIGNLIKE:
|
case NDT_SIGNLIKE:
|
||||||
case NDT_PLANTLIKE:
|
|
||||||
case NDT_FENCELIKE:
|
case NDT_FENCELIKE:
|
||||||
case NDT_RAILLIKE:
|
case NDT_RAILLIKE:
|
||||||
case NDT_NODEBOX:
|
case NDT_NODEBOX:
|
||||||
|
|
Loading…
Reference in New Issue