Example #1
0
        public void SetAndGet_Array()
        {
            D3DIndexBuffer ib = (D3DIndexBuffer)_factory.CreateIndexBuffer(1, false);

            int[] indexData = Enumerable.Range(0, 150).ToArray();
            ib.SetIndices(indexData);

            int[] returned = new int[indexData.Length];
            ib.GetData(returned, returned.Length * 4);
            Assert.Equal(indexData, returned);
        }
Example #2
0
        public unsafe void SetAndGet_IntPtr_Offset()
        {
            D3DIndexBuffer ib = (D3DIndexBuffer)_factory.CreateIndexBuffer(1, false);

            ushort[] indexData = Enumerable.Range(0, 150).Select(i => (ushort)i).ToArray();
            fixed(ushort *dataPtr = indexData)
            {
                ib.SetIndices(new IntPtr(dataPtr), IndexFormat.UInt16, 2, 150, 250);
            }

            ushort[] returned = new ushort[indexData.Length + 250];
            ib.GetData(returned, returned.Length * sizeof(ushort));

            for (int i = 250; i < returned.Length; i++)
            {
                Assert.Equal(indexData[i - 250], returned[i]);
            }
        }