public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        MyGLSurfaceView view = new MyGLSurfaceView(this);         view.setRenderer(new Myrenderer());        setContentView(view);    }    class  MyGLSurfaceView extends GLSurfaceView {        public MyGLSurfaceView(Context context) {            super(context);        }        public MyGLSurfaceView(Context context, AttributeSet attrs) {            super(context, attrs);        }    }//渲染器class  Myrenderer implements GLSurfaceView.Renderer{          //表层创建                @Override                public void onSurfaceCreated(GL10 gl, EGLConfig config) {                   //设置清屏色                    gl.glClearColor(1,1,1,1);                    //启用顶点缓冲区                    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);                }               //表层size时候                @Override                public void onSurfaceChanged(GL10 gl, int width, int height) {                //设置视口                   gl.glViewport(0,0,width,height);                    //视口比例                    float tatio=(float)width/(float)height;                    //矩形模式 投影矩阵,                    gl.glMatrixMode(GL10.GL_PROJECTION);                    //加载单位矩阵                    gl.glLoadIdentity();                    //平截投体                    gl.glFrustumf(-1f,1f,-tatio,tatio,3,7);                }           //绘图                @Override                public void onDrawFrame(GL10 gl) {                    //004眼球的位置                    //000眼球的观察点                    //020眼球向上的向量                    //模型视图矩阵                    gl.glClear(GL10.GL_COLOR_BUFFER_BIT);                    gl.glMatrixMode(GL10.GL_MODELVIEW);                    gl.glLoadIdentity();                    GLU.gluLookAt(gl,0,0,4,0,0,0,0,2,0);                    float[] coords={                            0f,0f,0f,                            0f,0.5f,0f,                            0.5f,0.5f,0f,                    };                    //分配字节缓冲空间,存放顶点坐标                    ByteBuffer byteBuffer=ByteBuffer.allocateDirect(coords.length*4);               //设置本地顺序                 byteBuffer.order(ByteOrder.nativeOrder());                    FloatBuffer fbyebuffer = byteBuffer.asFloatBuffer();                    fbyebuffer.put(coords);                    byteBuffer.position(0);//设置指针位置                    gl.glColor4f(0f,1f,0f,1);//颜色                    //3三维点                    gl.glVertexPointer(3,GL10.GL_FLOAT,0,byteBuffer);                  //三角形                   gl.glDrawArrays(GL10.GL_TRIANGLES,0,4);                }            }}

更多相关文章

  1. Android 的变形矩阵 -Matrix
  2. c++输出二维字符矩阵对齐
  3. Python:2D Numpy数组(矩阵) - 查找负数之和(行)
  4. 数组与矩阵---需要排序的最短子数组长度
  5. python 按位置关系输出矩阵元素
  6. 显示一个矩阵,将一个共同因素放在同情中
  7. 矩阵类的python实现
  8. leet240. 搜索二维矩阵 II

随机推荐

  1. Android中传送序列化对象出现的ClassNotF
  2. 新浪微博开放平台开发-android客户端(3)
  3. 浅谈Android引用计数(1)
  4. android消息处理机制学习(四)-AsyncTask的
  5. Android开发之旅:应用程序基础及组件
  6. Android(安卓)Bluetooth 4.0深入学习
  7. Android字符串进阶:字体属性及测量(FontMet
  8. ANDROID音频系统散记之五:如何绕开多媒体
  9. 10个常见的 Android(安卓)新手误区
  10. Android二维码扫描之ZXing快速项目集成