uidrawcall

来源:互联网 发布:一战中国劳工知乎 编辑:程序博客网 时间:2024/05/19 20:47


1、

/// <summary>
    /// Generates a new index buffer for the specified number of vertices (or reuses an existing one).
    /// </summary>

    int[] GenerateCachedIndexBuffer (int vertexCount, int indexCount)
    {
        for (int i = 0, imax = mCache.Count; i < imax; ++i)
        {
            int[] ids = mCache[i];
            if (ids != null && ids.Length == indexCount)
                return ids;
        }

        int[] rv = new int[indexCount];
        int index = 0;

        for (int i = 0; i < vertexCount; i += 4)
        {
            rv[index++] = i;
            rv[index++] = i + 1;
            rv[index++] = i + 2;

            rv[index++] = i + 2;
            rv[index++] = i + 3;
            rv[index++] = i;
        }

        if (mCache.Count > maxIndexBufferCache) mCache.RemoveAt(0);
        mCache.Add(rv);
        return rv;
    }

0 0
原创粉丝点击