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(); } }
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); }