examples: add instanced-cube example (#246)
add example based on webgpu-samples' instancedCube sample. Signed-off-by: Stephen Gutekanst <stephen@hexops.com> Co-authored-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
8f7a20d2e6
commit
3b86aa08cc
6 changed files with 299 additions and 0 deletions
18
examples/instanced-cube/vert.wgsl
Normal file
18
examples/instanced-cube/vert.wgsl
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
@binding(0) @group(0) var<uniform> ubos : array<mat4x4<f32>, 16>;
|
||||
|
||||
struct VertexOutput {
|
||||
@builtin(position) position_clip : vec4<f32>;
|
||||
@location(0) fragUV : vec2<f32>;
|
||||
@location(1) fragPosition: vec4<f32>;
|
||||
};
|
||||
|
||||
@stage(vertex)
|
||||
fn main(@builtin(instance_index) instanceIdx : u32,
|
||||
@location(0) position : vec4<f32>,
|
||||
@location(1) uv : vec2<f32>) -> VertexOutput {
|
||||
var output : VertexOutput;
|
||||
output.position_clip = ubos[instanceIdx] * position;
|
||||
output.fragUV = uv;
|
||||
output.fragPosition = 0.5 * (position + vec4<f32>(1.0, 1.0, 1.0, 1.0));
|
||||
return output;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue