private void SetAlphaTesting(DatDOBJ datDOBJ, RenderSettings renderSettings)
        {
            bool          enabled       = (datDOBJ.Material.Flags & (uint)MeleeDatEnums.MiscFlags.AlphaTest) > 0;
            float         refAlpha      = AlphaTestSettings.Default.referenceAlpha;
            AlphaFunction alphaFunction = AlphaTestSettings.Default.alphaFunction;

            if (datDOBJ?.Material.PixelProcessing != null)
            {
                refAlpha      = datDOBJ.Material.PixelProcessing.AlphaRef0 / 255.0f;
                alphaFunction = MeleeDatToOpenGL.GetAlphaFunction(datDOBJ.Material.PixelProcessing.AlphaComp0);
            }

            renderSettings.alphaTestSettings = new AlphaTestSettings(enabled, alphaFunction, refAlpha);
        }
        private static void AddVertexContainer(GXVertexDecompressor decom, List <IndexedVertexData <MeleeVertex> > vertexContainers, DatPolygon polygon, GXDisplayList displayList)
        {
            List <MeleeVertex> vertices      = new List <MeleeVertex>();
            List <int>         vertexIndices = new List <int>();

            for (int i = 0; i < displayList.Indices.Length; i++)
            {
                vertexIndices.Add(i);
            }

            vertices.AddRange(ConvertVerts(decom.GetFormattedVertices(displayList, polygon)));

            PrimitiveType primitiveType   = MeleeDatToOpenGL.GetGLPrimitiveType(displayList.PrimitiveType);
            var           vertexContainer = new IndexedVertexData <MeleeVertex>(vertices, vertexIndices, primitiveType);

            vertexContainers.Add(vertexContainer);
        }