shaderBasic.go 863 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Copyright 2016 The G3N Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. package shader
  5. func init() {
  6. AddShader("shaderBasicVertex", shaderBasicVertex)
  7. AddShader("shaderBasicFrag", shaderBasicFrag)
  8. AddProgram("shaderBasic", "shaderBasicVertex", "shaderBasicFrag")
  9. }
  10. //
  11. // Vertex Shader template
  12. //
  13. const shaderBasicVertex = `
  14. #version {{.Version}}
  15. {{template "attributes" .}}
  16. {{template "material" .}}
  17. // Model uniforms
  18. uniform mat4 MVP;
  19. // Final output color for fragment shader
  20. out vec3 Color;
  21. void main() {
  22. Color = VertexColor;
  23. gl_Position = MVP * vec4(VertexPosition, 1.0);
  24. }
  25. `
  26. //
  27. // Fragment Shader template
  28. //
  29. const shaderBasicFrag = `
  30. #version {{.Version}}
  31. in vec3 Color;
  32. out vec4 FragColor;
  33. void main() {
  34. FragColor = vec4(Color, 1.0);
  35. }
  36. `