// Path: src/jp/gauzau/MikuMikuDroid/Miku.java
// public class RenderSet {
// 	public String shader;
// 	public String target;
// 	public RenderSet(String s, String t) {
// 		shader = s;
// 		target = t;
// 	}
// }


import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.ShortBuffer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import jp.gauzau.MikuMikuDroid.Miku.RenderSet;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.graphics.BitmapFactory;
import android.hardware.Camera;
import android.opengl.GLES20;
import android.opengl.GLU;
import android.os.Build;
import android.util.Log;

						return false;
					}
				}
			}
		}

		if (mCoreLogic.getBG() != null) {
			if(all || mBG.mIsTextureLoaded == false) {
				if(readAndBindBgTexture(scale)) {
					mBG.mIsTextureLoaded = true;
				} else {
					return false;
				}
			}
		}
		
		return true;
	}

	private boolean initializeTextures(Miku miku, int scale) {
		boolean ret = true;
		ret &= readAndBindToonTexture(miku.mModel);
		ret &= readAndBindTexture(miku.mModel, scale);
		ret &= readAndBindSphereTexture(miku.mModel, scale);
		
		return ret;
	}
	
	private void bindBuffer(MikuModel miku, GLSL glsl) {
		GLES20.glEnableVertexAttribArray(glsl.maPositionHandle);

// Path: src/jp/gauzau/MikuMikuDroid/Miku.java
// public class RenderSet {
// 	public String shader;
// 	public String target;
// 	public RenderSet(String s, String t) {
// 		shader = s;
// 		target = t;
// 	}
// }


// Path: src/jp/gauzau/MikuMikuDroid/MikuRendererGLES20.java
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.ShortBuffer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import jp.gauzau.MikuMikuDroid.Miku.RenderSet;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.graphics.BitmapFactory;
import android.hardware.Camera;
import android.opengl.GLES20;
import android.opengl.GLU;
import android.os.Build;
import android.util.Log;

						return false;
					}
				}
			}
		}

		if (mCoreLogic.getBG() != null) {
			if(all || mBG.mIsTextureLoaded == false) {
				if(readAndBindBgTexture(scale)) {
					mBG.mIsTextureLoaded = true;
				} else {
					return false;
				}
			}
		}
		
		return true;
	}

	private boolean initializeTextures(Miku miku, int scale) {
		boolean ret = true;
		ret &= readAndBindToonTexture(miku.mModel);
		ret &= readAndBindTexture(miku.mModel, scale);
		ret &= readAndBindSphereTexture(miku.mModel, scale);
		
		return ret;
	}
	
	private void bindBuffer(MikuModel miku, GLSL glsl) {
		GLES20.glEnableVertexAttribArray(glsl.maPositionHandle);

		miku.mAllBuffer.position(0);
