버텍스랑 유니폼 버퍼 원래 직접 들고있다가 썼는데




컨테이너 타입 따로 만듦




그리고 커서




여기까지 드로우콜 3개 씀 다 네모라서 전부 버텍스 4개 박으면 됨



pub fn draw<'a>(&'a self, rpass: &mut wgpu::RenderPass<'a>) {
rpass.set_bind_group(0, &self.bind_group, &[]);

rpass.push_debug_group("Draw cell");
rpass.set_pipeline(&self.pipeline);
rpass.set_vertex_buffer(0, self.instances.gpu_buffer().slice(..));
rpass.draw(0..4, 0..self.instances.len() as _);
rpass.pop_debug_group();

rpass.push_debug_group("Draw text");
rpass.set_pipeline(&self.text_pipeline);
rpass.set_vertex_buffer(0, self.text_instances.gpu_buffer().slice(..));
rpass.draw(0..4, 0..self.text_instances.len() as _);
rpass.pop_debug_group();

rpass.push_debug_group("Draw ui");
rpass.set_pipeline(&self.ui_pipeline);
// cursor
rpass.draw(0..4, 0..1);
rpass.pop_debug_group();
}