zoukankan      html  css  js  c++  java
  • Android OpenGL ES:红色三角形

     1 public class MyRenderer implements Renderer 
    2 {
    3 FloatBuffer verticesBuffer;
    4
    5 @Override
    6 public void onDrawFrame(GL10 gl)
    7 {
    8 gl.glViewport(0, 0, 320, 480);
    9 gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    10 gl.glMatrixMode(GL10.GL_PROJECTION);
    11 gl.glLoadIdentity();
    12 gl.glOrthof(0, 320, 0, 480, 1, -1);
    13
    14 gl.glColor4f(1, 0, 0, 1);
    15 gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
    16 gl.glVertexPointer(2, GL10.GL_FLOAT, 0, verticesBuffer);
    17 gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
    18 }
    19
    20 @Override
    21 public void onSurfaceChanged(GL10 gl, int width, int height)
    22 {
    23
    24 }
    25
    26 @Override
    27 public void onSurfaceCreated(GL10 gl, EGLConfig config)
    28 {
    29 ByteBuffer byteBuffer = ByteBuffer.allocateDirect(3 * 2 * 4); // 3:顶点数 2:维数,x和y 4:一个float型占4个字节
    30 byteBuffer.order(ByteOrder.nativeOrder());
    31 verticesBuffer = byteBuffer.asFloatBuffer();
    32 verticesBuffer.put(new float[] {0, 0,
    33 320, 0,
    34 160, 480});
    35 verticesBuffer.flip();
    36 }
    37 }
    // Activity:
    public class OpenGLTestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GLSurfaceView glSurfaceView = new GLSurfaceView(this);
    MyRenderer renderer = new MyRenderer();
    glSurfaceView.setRenderer(renderer);
    setContentView(glSurfaceView);
    }
    }



  • 相关阅读:
    Qt 学习之路:Canvas
    Qt 学习之路:模型-视图高级技术
    Qt 学习之路 :视图代理
    Qt 学习之路 :动态视图
    Qt 学习之路 :Repeater
    Qt 学习之路 :Qt Quick Controls
    mysql-gdb--oracle
    redis-BOOK
    2016qconbeijing
    LINUX 内核月报 taobao
  • 原文地址:https://www.cnblogs.com/xiaobo68688/p/2291045.html
Copyright © 2011-2022 走看看