Source: dependencies/pixi-gl-core/setVertexAttribArrays.js

dependencies/pixi-gl-core/setVertexAttribArrays.js

  1. // var GL_MAP = {};
  2. /**
  3. * @param gl {WebGLRenderingContext} The current WebGL context
  4. * @param attribs {*}
  5. * @param state {*}
  6. */
  7. var setVertexAttribArrays = function (gl, attribs, state)
  8. {
  9. var i;
  10. if(state)
  11. {
  12. var tempAttribState = state.tempAttribState,
  13. attribState = state.attribState;
  14. for (i = 0; i < tempAttribState.length; i++)
  15. {
  16. tempAttribState[i] = false;
  17. }
  18. // set the new attribs
  19. for (i = 0; i < attribs.length; i++)
  20. {
  21. tempAttribState[attribs[i].attribute.location] = true;
  22. }
  23. for (i = 0; i < attribState.length; i++)
  24. {
  25. if (attribState[i] !== tempAttribState[i])
  26. {
  27. attribState[i] = tempAttribState[i];
  28. if (state.attribState[i])
  29. {
  30. gl.enableVertexAttribArray(i);
  31. }
  32. else
  33. {
  34. gl.disableVertexAttribArray(i);
  35. }
  36. }
  37. }
  38. }
  39. else
  40. {
  41. for (i = 0; i < attribs.length; i++)
  42. {
  43. var attrib = attribs[i];
  44. gl.enableVertexAttribArray(attrib.attribute.location);
  45. }
  46. }
  47. };
  48. module.exports = setVertexAttribArrays;