Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. /**
  2. * Clean simple way to create and link the vertex and fragment shaders to a new program.
  3. */
  4. const createProgram = ($,vertexSource, fragmentSource) => {
  5. const { COMPILE_STATUS, VERTEX_SHADER, FRAGMENT_SHADER } = $;
  6. const createShader = (source, shaderType) => {
  7. const shader = $.createShader(shaderType);
  8. $.shaderSource(shader, source);
  9. $.compileShader(shader);
  10. return $.getShaderParameter(shader, COMPILE_STATUS)
  11. ? shader : $.getShaderInfoLog(shader);
  12. };
  13. const program = $.createProgram();
  14. $.attachShader(program, createShader(vertexSource, VERTEX_SHADER));
  15. $.attachShader(program, createShader(fragmentSource, FRAGMENT_SHADER));
  16. $.linkProgram(program);
  17. return $.getProgramParameter(program, $.LINK_STATUS) ? ($.useProgram(program),program)
  18. : $.getProgramInfoLog(program);
  19. };
  20. const program = createProgram($,vertexShader, fragmentShader);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement