Index: /issm/trunk-jpl/src/android/ISSM_Visual/.classpath
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/.classpath	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/.classpath	(revision 13958)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+	<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="gen"/>
+	<classpathentry kind="output" path="bin/classes"/>
+</classpath>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/.project
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/.project	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/.project	(revision 13958)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>ISSM_Visual</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/AndroidManifest.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/AndroidManifest.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/AndroidManifest.xml	(revision 13958)
@@ -0,0 +1,25 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.example.issm_visual"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="8"
+        android:targetSdkVersion="15" />
+
+    <application
+        android:icon="@drawable/ic_launcher"
+        android:label="@string/app_name"
+        android:theme="@style/AppTheme" >
+        <activity
+            android:name=".ISSMVisual"
+            android:label="@string/title_activity_issmvisual" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+
+</manifest>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/bin/AndroidManifest.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/bin/AndroidManifest.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/bin/AndroidManifest.xml	(revision 13958)
@@ -0,0 +1,25 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.example.issm_visual"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="8"
+        android:targetSdkVersion="15" />
+
+    <application
+        android:icon="@drawable/ic_launcher"
+        android:label="@string/app_name"
+        android:theme="@style/AppTheme" >
+        <activity
+            android:name=".ISSMVisual"
+            android:label="@string/title_activity_issmvisual" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+
+</manifest>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/bin/jarlist.cache
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/bin/jarlist.cache	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/bin/jarlist.cache	(revision 13958)
@@ -0,0 +1,3 @@
+# cache for current jar dependecy. DO NOT EDIT.
+# format is <lastModified> <length> <SHA-1> <path>
+# Encoding is UTF-8
Index: /issm/trunk-jpl/src/android/ISSM_Visual/gen/com/example/issm_visual/BuildConfig.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/gen/com/example/issm_visual/BuildConfig.java	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/gen/com/example/issm_visual/BuildConfig.java	(revision 13958)
@@ -0,0 +1,6 @@
+/** Automatically generated file. DO NOT MODIFY */
+package com.example.issm_visual;
+
+public final class BuildConfig {
+    public final static boolean DEBUG = true;
+}
Index: /issm/trunk-jpl/src/android/ISSM_Visual/gen/com/example/issm_visual/R.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/gen/com/example/issm_visual/R.java	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/gen/com/example/issm_visual/R.java	(revision 13958)
@@ -0,0 +1,40 @@
+/* AUTO-GENERATED FILE.  DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found.  It
+ * should not be modified by hand.
+ */
+
+package com.example.issm_visual;
+
+public final class R {
+    public static final class attr {
+    }
+    public static final class drawable {
+        public static final int ic_action_search=0x7f020000;
+        public static final int ic_launcher=0x7f020001;
+    }
+    public static final class id {
+        public static final int frame=0x7f070003;
+        public static final int menu_settings=0x7f070005;
+        public static final int relativeLay=0x7f070000;
+        public static final int seekBar=0x7f070001;
+        public static final int status=0x7f070002;
+        public static final int value=0x7f070004;
+    }
+    public static final class layout {
+        public static final int activity_issmvisual=0x7f030000;
+    }
+    public static final class menu {
+        public static final int activity_issmvisual=0x7f060000;
+    }
+    public static final class string {
+        public static final int app_name=0x7f040000;
+        public static final int hello_world=0x7f040001;
+        public static final int menu_settings=0x7f040002;
+        public static final int title_activity_issmvisual=0x7f040003;
+    }
+    public static final class style {
+        public static final int AppTheme=0x7f050000;
+    }
+}
Index: /issm/trunk-jpl/src/android/ISSM_Visual/proguard-project.txt
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/proguard-project.txt	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/proguard-project.txt	(revision 13958)
@@ -0,0 +1,20 @@
+# To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
Index: /issm/trunk-jpl/src/android/ISSM_Visual/project.properties
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/project.properties	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/project.properties	(revision 13958)
@@ -0,0 +1,14 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system edit
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+#
+# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
+#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
+
+# Project target.
+target=android-16
Index: /issm/trunk-jpl/src/android/ISSM_Visual/res/layout/activity_issmvisual.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/res/layout/activity_issmvisual.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/res/layout/activity_issmvisual.xml	(revision 13958)
@@ -0,0 +1,46 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/relativeLay"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="horizontal" >
+
+    <SeekBar
+        android:id="@+id/seekBar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentLeft="true"
+        android:layout_marginBottom="41dp" />
+
+    <TextView
+        android:id="@+id/status"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_above="@+id/seekBar"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="16dp"
+        android:text="Status: " />
+
+    <FrameLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:tools="http://schemas.android.com/tools"
+        android:id="@+id/frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_above="@+id/value"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="16dp" >
+    </FrameLayout>
+
+    <TextView
+        android:id="@+id/value"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_above="@+id/status"
+        android:layout_alignRight="@+id/status"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="16dp"
+        android:text="Value: " />
+
+</RelativeLayout>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/res/menu/activity_issmvisual.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/res/menu/activity_issmvisual.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/res/menu/activity_issmvisual.xml	(revision 13958)
@@ -0,0 +1,6 @@
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:id="@+id/menu_settings"
+        android:title="@string/menu_settings"
+        android:orderInCategory="100"
+        android:showAsAction="never" />
+</menu>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/res/values-v11/styles.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/res/values-v11/styles.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/res/values-v11/styles.xml	(revision 13958)
@@ -0,0 +1,5 @@
+<resources>
+
+    <style name="AppTheme" parent="android:Theme.Holo.Light" />
+
+</resources>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/res/values-v14/styles.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/res/values-v14/styles.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/res/values-v14/styles.xml	(revision 13958)
@@ -0,0 +1,5 @@
+<resources>
+
+    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" />
+
+</resources>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/res/values/strings.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/res/values/strings.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/res/values/strings.xml	(revision 13958)
@@ -0,0 +1,8 @@
+<resources>
+
+    <string name="app_name">ISSM_Visual</string>
+    <string name="hello_world">Hello world!</string>
+    <string name="menu_settings">Settings</string>
+    <string name="title_activity_issmvisual">ISSMVisual</string>
+
+</resources>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/res/values/styles.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/res/values/styles.xml	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/res/values/styles.xml	(revision 13958)
@@ -0,0 +1,5 @@
+<resources>
+
+    <style name="AppTheme" parent="android:Theme.Light" />
+
+</resources>
Index: /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/ISSMVisual.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/ISSMVisual.java	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/ISSMVisual.java	(revision 13958)
@@ -0,0 +1,99 @@
+package com.example.issm_visual;
+
+
+import android.app.Activity;
+import android.content.Context;
+import android.opengl.GLES20;
+import android.opengl.GLSurfaceView;
+import android.opengl.GLSurfaceView.Renderer;
+import android.os.Bundle;
+import android.util.AttributeSet;
+import android.view.Menu;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.FrameLayout;
+import android.widget.RelativeLayout;
+import android.widget.SeekBar;
+import android.widget.SeekBar.OnSeekBarChangeListener;
+import android.widget.TextView;
+import android.widget.Toast;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.FloatBuffer;	 
+import java.nio.ShortBuffer;
+import javax.microedition.khronos.egl.EGLConfig;
+import javax.microedition.khronos.opengles.GL10; 
+
+public class ISSMVisual extends Activity implements OnSeekBarChangeListener
+{
+	private SeekBar bar;
+    private TextView txtStatus, txtValue;
+    private GLSurfaceView mGLView;
+	private FrameLayout frame;
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_issmvisual);
+        
+        bar = (SeekBar)findViewById(R.id.seekBar); // make seekbar object
+        bar.setOnSeekBarChangeListener(this); // set seekbar listener
+        txtValue = (TextView)findViewById(R.id.value);
+        txtStatus = (TextView)findViewById(R.id.status);
+        
+        mGLView = new MyGLSurfaceView(this);
+        frame = (FrameLayout)findViewById(R.id.frame);
+        frame.addView(mGLView);
+    }
+
+
+	@Override
+    public void onProgressChanged(SeekBar seekBar, int val,
+    		boolean fromUser) 
+    {
+    	// change progress text label with current Seekbar value
+    	txtValue.setText("Value: " + val);
+    	txtStatus.setText("Status: changing");
+    }
+	
+    @Override
+    public void onStartTrackingTouch(SeekBar seekBar) 
+    {
+    	txtStatus.setText("Status: Starting to track touch");
+
+    }
+    
+    @Override
+    public void onStopTrackingTouch(SeekBar seekBar) 
+    {
+    	seekBar.setSecondaryProgress(seekBar.getProgress()); // set the shade of the previous value.
+    	txtStatus.setText("Status: Ended tracking touch");
+    }
+    
+    @Override
+    protected void onPause() {
+        super.onPause();
+        // The following call pauses the rendering thread.
+        // If your OpenGL application is memory intensive,
+        // you should consider de-allocating objects that
+        // consume significant memory here.
+        mGLView.onPause();
+    }
+    
+    @Override
+    protected void onResume() {
+        super.onResume();
+        // The following call resumes a paused rendering thread.
+        // If you de-allocated graphic objects for onPause()
+        // this is a good place to re-allocate them.
+        mGLView.onResume();
+    }
+
+    
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) 
+    {
+        getMenuInflater().inflate(R.menu.activity_issmvisual, menu);
+        return true;
+    }
+}
Index: /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/MyGLRenderer.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/MyGLRenderer.java	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/MyGLRenderer.java	(revision 13958)
@@ -0,0 +1,248 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.issm_visual;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.FloatBuffer;
+
+import javax.microedition.khronos.egl.EGLConfig;
+import javax.microedition.khronos.opengles.GL10;
+
+import android.opengl.GLES20;
+import android.opengl.GLSurfaceView;
+
+public class MyGLRenderer implements GLSurfaceView.Renderer {
+
+    private Triangle mTriangle1, mTriangle2, mTriangle3;
+
+    @Override
+    public void onSurfaceCreated(GL10 unused, EGLConfig config) {
+
+        // Set the background frame color
+        GLES20.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
+
+        mTriangle1 = new Triangle(
+        0.0f,  0.6f, 0.0f,   // top
+       -0.5f, -0.3f, 0.0f,   // bottom left
+        0.5f, -0.3f, 0.0f,
+        0.0f, 0.0f, 1.0f, 1.0f);   // bottom right
+        //mTriangle = new Triangle();
+        
+        mTriangle2 = new Triangle(
+        -0.5f, -0.3f, 0.0f,
+         0.0f, -1.0f, 0.0f,
+         0.5f,  -0.3f, 0.0f,
+         1.0f, 0.0f, 0.0f, 1.0f);
+        
+        mTriangle3 = new Triangle(
+        0.0f,  0.6f, 0.0f,
+        0.5f, -0.3f, 0.0f,
+        1.0f,  0.6f, 0.0f,
+        1.0f, 1.0f, 0.0f, 1.0f);
+    }
+
+    @Override
+    public void onDrawFrame(GL10 unused) {
+
+        // Draw background color
+        GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
+
+        // Draw triangle
+        mTriangle1.draw(); 
+        mTriangle2.draw();
+        mTriangle3.draw();
+    }
+
+    @Override
+    public void onSurfaceChanged(GL10 unused, int width, int height) {
+        // Adjust the viewport based on geometry changes,
+        // such as screen rotation
+        GLES20.glViewport(0, 0, width, height);
+    }
+
+    public static int loadShader(int type, String shaderCode){
+
+        // create a vertex shader type (GLES20.GL_VERTEX_SHADER)
+        // or a fragment shader type (GLES20.GL_FRAGMENT_SHADER)
+        int shader = GLES20.glCreateShader(type);
+
+        // add the source code to the shader and compile it
+        GLES20.glShaderSource(shader, shaderCode);
+        GLES20.glCompileShader(shader);
+
+        return shader;
+    }
+
+}
+
+class Triangle 
+{
+
+    private final String vertexShaderCode =
+        "attribute vec4 vPosition;" +
+        "void main() {" +
+        "  gl_Position = vPosition;" +
+        "}";
+
+    private final String fragmentShaderCode =
+        "precision mediump float;" +
+        "uniform vec4 vColor;" +
+        "void main() {" +
+        "  gl_FragColor = vColor;" +
+        "}";
+
+    private final FloatBuffer vertexBuffer;
+    private final int mProgram;
+    private int mPositionHandle;
+    private int mColorHandle;
+
+    // number of coordinates per vertex in this array
+    static final int COORDS_PER_VERTEX = 3;
+    float triangleCoords[] ; /*){ // in counterclockwise order:
+         0.0f,  0.6f, 0.0f,   // top
+        -0.5f, -0.3f, 0.0f,   // bottom left
+         0.5f, -0.3f, 0.0f};  */ // bottom right
+         
+        /* -0.55f, -0.35f, 0.0f,
+         0.0f, -1.2f, 0.0f,
+         0.55f,  -0.35f, 0.0f
+    };*/
+    
+    private final int vertexCount = 9 / COORDS_PER_VERTEX;
+    private final int vertexStride = COORDS_PER_VERTEX * 4; // bytes per vertex
+
+    // Set color with red, green, blue and alpha (opacity) values
+    float color[];
+    //private final FloatBuffer colorBuffer;
+    private final int colorCount = 4/COORDS_PER_VERTEX;
+    
+    public Triangle() 
+    {
+        // initialize vertex byte buffer for shape coordinates
+        ByteBuffer bb = ByteBuffer.allocateDirect(
+                // (number of coordinate values * 4 bytes per float)
+                triangleCoords.length * 4);
+        // use the device hardware's native byte order
+        bb.order(ByteOrder.nativeOrder());
+
+        // create a floating point buffer from the ByteBuffer
+        vertexBuffer = bb.asFloatBuffer();
+        // add the coordinates to the FloatBuffer
+        vertexBuffer.put(triangleCoords);
+        // set the buffer to read the first coordinate
+        vertexBuffer.position(0);
+
+        /*ByteBuffer bb1 = ByteBuffer.allocateDirect(color.length*4);
+        bb1.order(ByteOrder.nativeOrder());
+        colorBuffer = bb1.asFloatBuffer();
+        colorBuffer.put(color);
+        colorBuffer.position(0);*/
+        
+        //GLES20.glEnableVertexAttribArray(1);
+        //GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, colorBuffer);
+        
+        // prepare shaders and OpenGL program
+        int vertexShader = MyGLRenderer.loadShader(GLES20.GL_VERTEX_SHADER,
+                                                   vertexShaderCode);
+        int fragmentShader = MyGLRenderer.loadShader(GLES20.GL_FRAGMENT_SHADER,
+                                                     fragmentShaderCode);
+
+        mProgram = GLES20.glCreateProgram();             // create empty OpenGL Program
+        GLES20.glAttachShader(mProgram, vertexShader);   // add the vertex shader to program
+        GLES20.glAttachShader(mProgram, fragmentShader); // add the fragment shader to program
+        GLES20.glLinkProgram(mProgram);                  // create OpenGL program executables
+    }
+    public Triangle(float x1, float y1, float z1,
+    			    float x2, float y2, float z2,
+    			    float x3, float y3, float z3,
+    			    float c1, float c2, float c3, float c4) 
+    {
+    	triangleCoords = new float[9];
+    	color = new float[4];
+    	triangleCoords[0] = x1;
+    	triangleCoords[1] = y1;
+    	triangleCoords[2] = z1;
+    	triangleCoords[3] = x2;
+    	triangleCoords[4] = y2;
+    	triangleCoords[5] = z2;
+    	triangleCoords[6] = x3;
+    	triangleCoords[7] = y3;
+    	triangleCoords[8] = z3;
+    	color[0] = c1;
+    	color[1] = c2;
+    	color[2] = c3;
+    	color[3] = c4;
+        // initialize vertex byte buffer for shape coordinates
+        ByteBuffer bb = ByteBuffer.allocateDirect(
+                // (number of coordinate values * 4 bytes per float)
+                triangleCoords.length * 4);
+        // use the device hardware's native byte order
+        bb.order(ByteOrder.nativeOrder());
+
+        // create a floating point buffer from the ByteBuffer
+        vertexBuffer = bb.asFloatBuffer();
+        // add the coordinates to the FloatBuffer
+        vertexBuffer.put(triangleCoords);
+        // set the buffer to read the first coordinate
+        vertexBuffer.position(0);
+
+        /*ByteBuffer bb1 = ByteBuffer.allocateDirect(color.length*4);
+        bb1.order(ByteOrder.nativeOrder());
+        colorBuffer = bb1.asFloatBuffer();
+        colorBuffer.put(color);
+        colorBuffer.position(0);*/
+           
+        // prepare shaders and OpenGL program
+        int vertexShader = MyGLRenderer.loadShader(GLES20.GL_VERTEX_SHADER,
+                                                   vertexShaderCode);
+        int fragmentShader = MyGLRenderer.loadShader(GLES20.GL_FRAGMENT_SHADER,
+                                                     fragmentShaderCode);
+
+        mProgram = GLES20.glCreateProgram();             // create empty OpenGL Program
+        GLES20.glAttachShader(mProgram, vertexShader);   // add the vertex shader to program
+        GLES20.glAttachShader(mProgram, fragmentShader); // add the fragment shader to program
+        GLES20.glLinkProgram(mProgram);                  // create OpenGL program executables
+    }
+
+    public void draw() 
+    {
+        // Add program to OpenGL environment
+        GLES20.glUseProgram(mProgram);
+
+        // get handle to vertex shader's vPosition member
+        mPositionHandle = GLES20.glGetAttribLocation(mProgram, "vPosition");
+
+        // Enable a handle to the triangle vertices
+        GLES20.glEnableVertexAttribArray(mPositionHandle);
+
+        // Prepare the triangle coordinate data
+        GLES20.glVertexAttribPointer(mPositionHandle, COORDS_PER_VERTEX,
+                                     GLES20.GL_FLOAT, false,
+                                     vertexStride, vertexBuffer);
+
+        // get handle to fragment shader's vColor member
+        mColorHandle = GLES20.glGetUniformLocation(mProgram, "vColor");
+
+        // Set color for drawing the triangle
+        //GLES20.glUniform4fv(mColorHandle, 0, color, 0);
+        //GLES20.glVertexAttrib4f(0, 0.5f, 0.5f, 0.0f, 1.0f);
+        //GLES20.glVertexAttribPointer(mPositionHandle, 4, GLES20.GL_FLOAT, false, stride, offset)
+        GLES20.glUniform4fv(mColorHandle, 1, color, 0);
+        // Draw the triangle
+        GLES20.glDrawArrays(GLES20.GL_TRIANGLES, 0, vertexCount);
+    }
+}
Index: /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/MyGLSurfaceView.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/MyGLSurfaceView.java	(revision 13958)
+++ /issm/trunk-jpl/src/android/ISSM_Visual/src/com/example/issm_visual/MyGLSurfaceView.java	(revision 13958)
@@ -0,0 +1,21 @@
+package com.example.issm_visual;
+
+import android.content.Context;
+import android.opengl.GLSurfaceView;
+
+
+class MyGLSurfaceView extends GLSurfaceView {
+
+    public MyGLSurfaceView(Context context) {
+        super(context);
+
+        // Create an OpenGL ES 2.0 context.
+        setEGLContextClientVersion(2);
+
+        // Set the Renderer for drawing on the GLSurfaceView
+        setRenderer(new MyGLRenderer());
+
+        // Render the view only when there is a change in the drawing data
+        setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
+    }
+}
