コード例 #1
0
        public void CreateVertexBuffer()
        {
            Vector3F[] positions = new Vector3F[] { new Vector3F(1, 2, 3) };

            using (var threadWindow = Device.CreateWindow(1, 1))
                using (var window = Device.CreateWindow(1, 1))
                    using (VertexBufferFactory factory = new VertexBufferFactory(threadWindow.Context, positions))
                    {
                        Thread t = new Thread(factory.Create);
                        t.Start();
                        t.Join();

                        Assert.AreEqual(positions[0], factory.VertexBuffer.CopyToSystemMemory <Vector3F>()[0]);
                    }
        }
コード例 #2
0
        public void CreateVertexBuffer()
        {
            Vector3F[] positions = new Vector3F[] { new Vector3F(1, 2, 3) };

            using (var threadWindow = Device.CreateWindow(1, 1))
            using (var window = Device.CreateWindow(1, 1))
            using (VertexBufferFactory factory = new VertexBufferFactory(threadWindow.Context, positions))
            {
                Thread t = new Thread(factory.Create);
                t.Start();
                t.Join();

                Assert.AreEqual(positions[0], factory.VertexBuffer.CopyToSystemMemory<Vector3F>()[0]);
            }
        }
コード例 #3
0
        public void CreateVertexBuffersSequential()
        {
            Vector3F[] positions0 = new Vector3F[] { new Vector3F(1, 2, 3) };
            Vector3F[] positions1 = new Vector3F[] { new Vector3F(4, 5, 6) };

            using (var thread0Window = Device.CreateWindow(1, 1))
                using (var thread1Window = Device.CreateWindow(1, 1))
                    using (var window = Device.CreateWindow(1, 1))
                        using (VertexBufferFactory factory0 = new VertexBufferFactory(thread0Window.Context, positions0))
                            using (VertexBufferFactory factory1 = new VertexBufferFactory(thread1Window.Context, positions1))
                            {
                                Thread t0 = new Thread(factory0.Create);
                                t0.Start();
                                t0.Join();

                                Thread t1 = new Thread(factory1.Create);
                                t1.Start();
                                t1.Join();

                                Assert.AreEqual(positions0[0], factory0.VertexBuffer.CopyToSystemMemory <Vector3F>()[0]);
                                Assert.AreEqual(positions1[0], factory1.VertexBuffer.CopyToSystemMemory <Vector3F>()[0]);
                            }
        }
コード例 #4
0
        public void CreateVertexBuffersSequential()
        {
            Vector3F[] positions0 = new Vector3F[] { new Vector3F(1, 2, 3) };
            Vector3F[] positions1 = new Vector3F[] { new Vector3F(4, 5, 6) };

            using (var thread0Window = Device.CreateWindow(1, 1))
            using (var thread1Window = Device.CreateWindow(1, 1))
            using (var window = Device.CreateWindow(1, 1))
            using (VertexBufferFactory factory0 = new VertexBufferFactory(thread0Window.Context, positions0))
            using (VertexBufferFactory factory1 = new VertexBufferFactory(thread1Window.Context, positions1))
            {
                Thread t0 = new Thread(factory0.Create);
                t0.Start();
                t0.Join();

                Thread t1 = new Thread(factory1.Create);
                t1.Start();
                t1.Join();

                Assert.AreEqual(positions0[0], factory0.VertexBuffer.CopyToSystemMemory<Vector3F>()[0]);
                Assert.AreEqual(positions1[0], factory1.VertexBuffer.CopyToSystemMemory<Vector3F>()[0]);
            }
        }
コード例 #5
0
 public MeshLoader(FearGraphicsDevice dev, ColladaMeshLoader formatLoader, VertexBufferFactory vertBufferFactory)
 {
     device          = dev.Device;
     loader          = formatLoader;
     vertBuffFactory = vertBufferFactory;
 }