CSharpGL.QuadsRecognizer.RecognizeByte C# (CSharp) Method

RecognizeByte() protected method

protected RecognizeByte ( uint lastVertexId, IntPtr pointer, OneIndexBuffer oneIndexBuffer, List primitiveInfoList ) : void
lastVertexId uint
pointer System.IntPtr
oneIndexBuffer OneIndexBuffer
primitiveInfoList List
return void
        protected override void RecognizeByte(uint lastVertexId, IntPtr pointer, OneIndexBuffer oneIndexBuffer, List<RecognizedPrimitiveInfo> primitiveInfoList)
        {
            int length = oneIndexBuffer.Length;
            unsafe
            {
                var array = (byte*)pointer.ToPointer();
                long nearestRestartIndex = -1;
                uint i = 0;
                for (i = i + 3; i < length; i++)
                {
                    var value = array[i];
                    if (value == lastVertexId
                        && (i - nearestRestartIndex) % 4 == 0)
                    {
                        var item = new RecognizedPrimitiveInfo(i, array[i - 3], array[i - 2], array[i - 1], lastVertexId);
                        primitiveInfoList.Add(item);
                    }
                }
            }
        }

Same methods

QuadsRecognizer::RecognizeByte ( uint lastVertexId, IntPtr pointer, OneIndexBuffer oneIndexBuffer, List primitiveInfoList, uint primitiveRestartIndex ) : void