Пример #1
0
 public void TestCreate()
 {
     using (DynamicInfraredTexture texture = new DynamicInfraredTexture(device))
     {
         Assert.AreNotEqual(texture.ShaderView.NativePointer, IntPtr.Zero);
     }
 }
Пример #2
0
 public void TestCopy()
 {
     using (InfraredFrameData frame = new InfraredFrameData())
     {
         using (DynamicInfraredTexture texture = new DynamicInfraredTexture(device))
         {
             texture.Copy(device.ImmediateContext, frame);
         }
     }
 }
Пример #3
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            RenderForm form = new RenderForm("Kinect color sample");

            RenderDevice  device    = new RenderDevice(SharpDX.Direct3D11.DeviceCreationFlags.BgraSupport);
            RenderContext context   = new RenderContext(device);
            DX11SwapChain swapChain = DX11SwapChain.FromHandle(device, form.Handle);

            KinectSensor sensor = KinectSensor.GetDefault();

            sensor.Open();



            bool doQuit   = false;
            bool doUpload = false;
            InfraredFrameData                 currentData = null;
            DynamicInfraredTexture            irTexture   = new DynamicInfraredTexture(device);
            KinectSensorInfraredFrameProvider provider    = new KinectSensorInfraredFrameProvider(sensor);

            provider.FrameReceived += (sender, args) => { currentData = args.FrameData; doUpload = true; };

            form.KeyDown += (sender, args) => { if (args.KeyCode == Keys.Escape)
                                                {
                                                    doQuit = true;
                                                }
            };

            RenderLoop.Run(form, () =>
            {
                if (doQuit)
                {
                    form.Dispose();
                    return;
                }

                if (doUpload)
                {
                    irTexture.Copy(context, currentData);
                }

                context.RenderTargetStack.Push(swapChain);

                device.Primitives.ApplyFullTri(context, irTexture.ShaderView);

                device.Primitives.FullScreenTriangle.Draw(context);
                context.RenderTargetStack.Pop();
                swapChain.Present(0, SharpDX.DXGI.PresentFlags.None);
            });

            swapChain.Dispose();
            context.Dispose();
            device.Dispose();

            irTexture.Dispose();
            provider.Dispose();

            sensor.Close();
        }
Пример #4
0
 public void TestNullDevice()
 {
     using (DynamicInfraredTexture texture = new DynamicInfraredTexture(null))
     {
     }
 }