shader.wgsl 550 B

12345678910111213141516171819202122232425262728
  1. // Vertex shader
  2. struct VertexInput {
  3. @location(0) position: vec3<f32>,
  4. @location(1) color: vec3<f32>,
  5. };
  6. struct VertexOutput {
  7. @builtin(position) clip_position: vec4<f32>,
  8. @location(0) color: vec3<f32>,
  9. };
  10. @vertex
  11. fn vs_main(
  12. model: VertexInput,
  13. ) -> VertexOutput {
  14. var out: VertexOutput;
  15. out.color = model.color;
  16. out.clip_position = vec4<f32>(model.position, 1.0);
  17. return out;
  18. }
  19. // Fragment shader
  20. @fragment
  21. fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> {
  22. return vec4<f32>(0.5,0.2,0.7, 1.0);
  23. }