createAttributeSetters static method

Map<String, dynamic> createAttributeSetters(
  1. OpenGLContextES gl,
  2. int program
)

Creates attribute setters.

  • gl the OpenGlES context.
  • program the program id

Implementation

static Map<String, dynamic> createAttributeSetters(OpenGLContextES gl, int program) {
  Map<String, dynamic> attribSetters = {};

  int numAttribs = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
  for (var ii = 0; ii < numAttribs; ++ii) {
    ActiveInfo? attribInfo = gl.getActiveAttrib(program, ii);
    if (attribInfo == null) {
      break;
    }
    var index = gl.getAttribLocation(program, attribInfo.name);
    var typeInfo = flutter3DUtils.attrTypeMap[attribInfo.type];
    attribSetters[attribInfo.name] = typeInfo['setter'](gl, index, typeInfo);
  }

  return attribSetters;
}