mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-30 07:14:46 +00:00
Use index buffers to draw a rectangle
This commit is contained in:
parent
dda634cf0a
commit
d7a902e3aa
2 changed files with 26 additions and 7 deletions
|
@ -222,10 +222,17 @@ fn run_event_loop() -> Result<(), Box<dyn Error>> {
|
|||
// Vertex Buffer for drawing rectangles
|
||||
let vertex_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
|
||||
label: Some("Vertex Buffer"),
|
||||
contents: bytemuck::cast_slice(&vertex::test()),
|
||||
contents: bytemuck::cast_slice(&vertex::vertex_buffer_test()),
|
||||
usage: wgpu::BufferUsage::VERTEX,
|
||||
});
|
||||
|
||||
// Index Buffer for drawing rectangles
|
||||
let index_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
|
||||
label: Some("Index Buffer"),
|
||||
contents: bytemuck::cast_slice(&vertex::index_buffer_test()),
|
||||
usage: wgpu::BufferUsage::INDEX,
|
||||
});
|
||||
|
||||
// Clear frame
|
||||
{
|
||||
let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
|
||||
|
@ -251,9 +258,13 @@ fn run_event_loop() -> Result<(), Box<dyn Error>> {
|
|||
0, // The buffer slot to use for this vertex buffer.
|
||||
vertex_buffer.slice(..), // Use the entire buffer.
|
||||
);
|
||||
render_pass.draw(
|
||||
0..((&vertex::test()).len() as u32), // Draw all of the vertices from our test data.
|
||||
0..1, // Instances
|
||||
|
||||
render_pass.set_index_buffer(index_buffer.slice(..));
|
||||
|
||||
render_pass.draw_indexed(
|
||||
0..((&vertex::index_buffer_test()).len() as u32), // Draw all of the vertices from our test data.
|
||||
0, // Base Vertex
|
||||
0..1, // Instances
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue