想用GLSurfaceView配合OPENGL es2.0编程实现把图片显示到手机界面中,照着网上的例子,自己在eclipse中敲了一遍,但是就是无法显示出图片(试过128*128的png和bmp),就显示出一个白色的界面。
网上找了下,没找到原因,求大神给看看。
代码如下:
package com.example.glsurfaceview_drawpicture;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.ShortBuffer;
import java.security.spec.MGF1ParameterSpec;
import java.util.TooManyListenersException;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.GLSurfaceView.Renderer;
import android.opengl.GLUtils;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
public class MainActivity extends Activity
implements Renderer{
final float[] vertexCoord = {
-0.5f,0.5f,0.0f,
-0.5f,-0.5f,0.0f,
0.5f,-0.5f,0.0f,
0.5f,0.5f,0.0f
};
final float[] textureCoord ={
1.0f,0.0f,
0.0f,0.0f,
1.0f,0.0f,
1.0f,1.0f
};
final short[] mdrawCoord = {0,1,2,0,2,3};
final String sVertexShader=
"uniform mat4 u_MVPMatrix;" +
"attribute vec4 a_position;"
+ "attribute vec2 a_texturecoord;"
+ "varying vec2 v_texturecoord;"
+ "void main()"
+ "{"
+ "gl_Position = a_position;"
+ "v_texturec
网上找了下,没找到原因,求大神给看看。
代码如下:
package com.example.glsurfaceview_drawpicture;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.ShortBuffer;
import java.security.spec.MGF1ParameterSpec;
import java.util.TooManyListenersException;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.GLSurfaceView.Renderer;
import android.opengl.GLUtils;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
public class MainActivity extends Activity
implements Renderer{
final float[] vertexCoord = {
-0.5f,0.5f,0.0f,
-0.5f,-0.5f,0.0f,
0.5f,-0.5f,0.0f,
0.5f,0.5f,0.0f
};
final float[] textureCoord ={
1.0f,0.0f,
0.0f,0.0f,
1.0f,0.0f,
1.0f,1.0f
};
final short[] mdrawCoord = {0,1,2,0,2,3};
final String sVertexShader=
"uniform mat4 u_MVPMatrix;" +
"attribute vec4 a_position;"
+ "attribute vec2 a_texturecoord;"
+ "varying vec2 v_texturecoord;"
+ "void main()"
+ "{"
+ "gl_Position = a_position;"
+ "v_texturec