diff --git a/ClassicalSharp/Rendering/MapRenderer.cs b/ClassicalSharp/Rendering/MapRenderer.cs index dbad69a57..e3530769a 100644 --- a/ClassicalSharp/Rendering/MapRenderer.cs +++ b/ClassicalSharp/Rendering/MapRenderer.cs @@ -145,8 +145,16 @@ namespace ClassicalSharp.Renderers { DrawPart( info, ref part ); if( part.SpriteCount > 0 ) { + int groupCount = part.SpriteCount / 4; api.FaceCulling = true; - api.DrawIndexedVb_TrisT2fC4b( part.SpriteCount, 0 ); + if( info.DrawRight || info.DrawFront ) + api.DrawIndexedVb_TrisT2fC4b( groupCount, 0 ); + if( info.DrawLeft || info.DrawBack ) + api.DrawIndexedVb_TrisT2fC4b( groupCount, groupCount ); + if( info.DrawLeft || info.DrawFront ) + api.DrawIndexedVb_TrisT2fC4b( groupCount, groupCount * 2 ); + if( info.DrawRight || info.DrawBack ) + api.DrawIndexedVb_TrisT2fC4b( groupCount, groupCount * 3 ); api.FaceCulling = false; } game.Vertices += part.IndicesCount;