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);
    }
    }



  • 相关阅读:
    C# UrlDecode将+替换为空格问题
    Hashtable无序,用Dictionary代替
    Oracle查找Web执行SQL
    远程连接Oracle服务器
    asp.net core网站SSL nginx配置
    Supervisor踩过的坑
    centos nginx配置支持WebSocket(signalR)
    SignalR在asp.net core下使用
    Hangfire 在asp.net core环境的使用
    liteUploader上传控件的封装使用
  • 原文地址:https://www.cnblogs.com/xiaobo68688/p/2291045.html
Copyright © 2011-2022 走看看