@Override
  public void initialize() {
    super.initialize();
    muToonColor0 = (RVec4) addUniform(ToonShaderVar.U_TOON_COLOR0);
    muToonColor1 = (RVec4) addUniform(ToonShaderVar.U_TOON_COLOR1);
    muToonColor2 = (RVec4) addUniform(ToonShaderVar.U_TOON_COLOR2);
    muToonColor3 = (RVec4) addUniform(ToonShaderVar.U_TOON_COLOR3);

    mgNdotL = new RFloat[mLights.size()];

    for (int i = 0; i < mLights.size(); i++) {
      mgNdotL[i] = (RFloat) addGlobal(DiffuseShaderVar.L_NDOTL, i);
    }
  }