Пример #1
0
        unsafe static void Main()
        {
            Application.SetHighDpiMode(HighDpiMode.SystemAware);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var window    = new Form1();
            var device    = Dawn.createDevice(window.Handle);
            var queue     = WebGPUNative.wgpuDeviceGetDefaultQueue(device);
            var swapChain = Dawn.createSwapChain(device, WGPUTextureUsage.WGPUTextureUsage_OutputAttachment, 800, 450, WGPUPresentMode.WGPUPresentMode_Mailbox);

            Triangle.Device    = device;
            Triangle.Queue     = queue;
            Triangle.SwapChain = swapChain;
            TriangleCPP.initialize(device, queue, swapChain);

            Triangle.CreatePipelineAndBuffers();
            //TriangleCPP.initializePipelineAndBuffers(Triangle.pipeline, Triangle.vertBuf, Triangle.indxBuf, Triangle.uRotBuf, Triangle.bindGroup);
            //TriangleCPP.createPipelineAndBuffers();

            window.Show();

            while (true)
            {
                System.Windows.Forms.Application.DoEvents();
                Triangle.redraw();
                //TriangleCPP.redraw();
            }
        }
Пример #2
0
        static void Main()
        {
            //Emscripten.wgpu_set_dotnet_entry_point(EntryPoint);
            //Emscripten.wgpu_run();

            var device = Emscripten.CreateDevice(IntPtr.Zero);

            Console.WriteLine("----> Device: " + device);
            var queue = WebGPUNative.wgpuDeviceGetDefaultQueue(device);

            Console.WriteLine("----> Queue: " + device);
            var swapChain = Emscripten.CreateSwapChain(device);

            Console.WriteLine("----> SwapChain: " + device);

            Triangle.Device    = device;
            Triangle.Queue     = queue;
            Triangle.SwapChain = swapChain;

            Triangle.CreatePipelineAndBuffers();
            Console.WriteLine("----> PipelinesAndBuffers!");

            Emscripten.MainLoop(Triangle.redraw);
        }