getProgramCacheKey method

String getProgramCacheKey(
  1. WebGLParameters parameters
)

Implementation

String getProgramCacheKey(WebGLParameters parameters) {
  List<dynamic> array = [];

  if (parameters.shaderID != null) {
    array.add(parameters.shaderID!);
  } else {
    array.add(parameters.customVertexShaderID);
    array.add(parameters.customFragmentShaderID);
  }

  if (parameters.defines != null) {
    for (final name in parameters.defines!.keys) {
      array.add(name);
      array.add(parameters.defines![name].toString());
    }
  }

  if (parameters.isRawShaderMaterial == false) {
    getProgramCacheKeyParameters(array, parameters);
    getProgramCacheKeyBooleans(array, parameters);

    array.add(renderer.outputEncoding.toString());
  }

  array.add(parameters.customProgramCacheKey);

  return array.join();
}