wgpu
let instance = wgpu::Instance::new(wgpu::BackendBit::PRIMARY);let surface = unsafe { instance.create_surface(window) };let adapter = instance.request_adapter(...)let (device, queue) = adapter.request_device(...)let swap_chain = device.create_swap_chain(...)let frame = self.swap_chain.get_current_frame()?.output;let mut encoder = device.create_command_encoder(...)let mut render_pass = encoder.begin_render_pass(...)queue.submit(iter::once(encoder.finish()));
...let shader = device.create_shader_module(...)let render_pipeline_layout = device.create_pipeline_layout(...)let render_pipeline = device.create_render_pipeline(...)...render_pass.set_pipeline(...);render_pass.draw(0..3, 0..1);...
// wgpu 中的坐标系基于 DirectX 和 Metal 的坐标系。 这意味着在标准化设备坐标中,x 轴和 y 轴在 -1.0 到 +1.0 的范围内,z 轴在 0.0 到 +1.0 的范围内
render_pass.set_vertex_buffer(...);render_pass.set_index_buffer(...)render_pass.draw_indexed(...)