// Path: smartgl/src/main/java/fr/arnaudguyon/smartgl/tools/Assert.java
// public class Assert {
// 
//     public static void assertTrue(boolean condition) {
//         assertTrue("", condition);
//     }
//     public static void assertTrue(String text, boolean condition) {
//         if (!condition) {
//             doAssert(text);
//         }
//     }
//     public static void assertNotNull(Object object) {
//         assertNotNull("", object);
//     }
//     public static void assertNotNull(String text, Object object) {
//         if (object == null) {
//             doAssert(text);
//         }
//     }
// 
//     public static void assertEquals(Object object1, Object object2) {
//         if (object1 == null) {
//             if (object2 != null) {
//                 doAssert("");
//             }
//         } else {
//             if (object2 == null) {
//                 doAssert("");
//             } else {
//                 if (!object1.equals(object2)) {
//                     doAssert("");
//                 }
//             }
//         }
//     }
// 
//     private static void doAssert(String text) {
//         throw new RuntimeException(text);
//     }
// }


import android.opengl.GLES20;
import android.util.Log;
import fr.arnaudguyon.smartgl.tools.Assert;

	public int getPixelScriptId() {
		return mPixelScriptId;
	}

	public abstract boolean useTexture();
	public abstract boolean useColor();
	protected abstract String getVertexAttribName();
	protected abstract String getUVAttribName();
	protected abstract String getColorAttribName();
	protected abstract String getProjMatrixAttribName();

	public int getVertexAttribId() {
		return mVertexAttribId;
	}

	public int getUVAttribId() {
		return mUVAttribId;
	}

	public int getColorAttribId() {
		return mColorAttribId;
	}

	public int getProjMatrixId() {
		return mProjMatrixId;
	}

	private int loadShader(int shaderType, String script) {

		int shader = GLES20.glCreateShader(shaderType);

// Path: smartgl/src/main/java/fr/arnaudguyon/smartgl/tools/Assert.java
// public class Assert {
// 
//     public static void assertTrue(boolean condition) {
//         assertTrue("", condition);
//     }
//     public static void assertTrue(String text, boolean condition) {
//         if (!condition) {
//             doAssert(text);
//         }
//     }
//     public static void assertNotNull(Object object) {
//         assertNotNull("", object);
//     }
//     public static void assertNotNull(String text, Object object) {
//         if (object == null) {
//             doAssert(text);
//         }
//     }
// 
//     public static void assertEquals(Object object1, Object object2) {
//         if (object1 == null) {
//             if (object2 != null) {
//                 doAssert("");
//             }
//         } else {
//             if (object2 == null) {
//                 doAssert("");
//             } else {
//                 if (!object1.equals(object2)) {
//                     doAssert("");
//                 }
//             }
//         }
//     }
// 
//     private static void doAssert(String text) {
//         throw new RuntimeException(text);
//     }
// }


// Path: smartgl/src/main/java/fr/arnaudguyon/smartgl/opengl/Shader.java
import android.opengl.GLES20;
import android.util.Log;
import fr.arnaudguyon.smartgl.tools.Assert;

	public int getPixelScriptId() {
		return mPixelScriptId;
	}

	public abstract boolean useTexture();
	public abstract boolean useColor();
	protected abstract String getVertexAttribName();
	protected abstract String getUVAttribName();
	protected abstract String getColorAttribName();
	protected abstract String getProjMatrixAttribName();

	public int getVertexAttribId() {
		return mVertexAttribId;
	}

	public int getUVAttribId() {
		return mUVAttribId;
	}

	public int getColorAttribId() {
		return mColorAttribId;
	}

	public int getProjMatrixId() {
		return mProjMatrixId;
	}

	private int loadShader(int shaderType, String script) {

		int shader = GLES20.glCreateShader(shaderType);

		Assert.assertTrue(shader != 0);
