Ejemplo n.º 1
0
        public override void SetBuffer(NkVertex[] VertexBuffer, ushort[] IndexBuffer)
        {
            // TODO: Put NkVertex in a single buffer directly
            Vector4[] ColorArr = new Vector4[VertexBuffer.Length];
            Vector2[] VertArr  = new Vector2[VertexBuffer.Length];
            Vector2[] UVArr    = new Vector2[VertexBuffer.Length];

            for (int i = 0; i < VertexBuffer.Length; i++)
            {
                NkColor    C   = VertexBuffer[i].Color;
                NkVector2f Pos = VertexBuffer[i].Position;
                NkVector2f UV  = VertexBuffer[i].UV;

                ColorArr[i] = new Vector4(C.R / 255.0f, C.G / 255.0f, C.B / 255.0f, C.A / 255.0f);
                VertArr[i]  = new Vector2(Pos.X, Pos.Y);
                UVArr[i]    = new Vector2(UV.X, UV.Y);
            }

            Colors.SetData(ColorArr);
            Vertices.SetData(VertArr);
            UVs.SetData(UVArr);
            Elements.SetData(IndexBuffer);
        }