zoukankan      html  css  js  c++  java
  • Android OpenGL ES: 渐变颜色的三角形

    public class MyRenderer implements Renderer 
    {
    FloatBuffer verticesBuffer;
    private final int VERTEX_SIZE = (2 + 4) * 4;

    @Override
    public void onDrawFrame(GL10 gl)
    {
    gl.glViewport(0, 0, 320, 480);
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glLoadIdentity();
    gl.glOrthof(0, 320, 0, 480, 1, -1);

    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
    gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

    verticesBuffer.position(0);
    gl.glVertexPointer(2, GL10.GL_FLOAT, VERTEX_SIZE, verticesBuffer);
    verticesBuffer.position(2);
    gl.glColorPointer(4, GL10.GL_FLOAT, VERTEX_SIZE, verticesBuffer);
    gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
    }

    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height)
    {

    }

    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config)
    {
    ByteBuffer byteBuffer = ByteBuffer.allocateDirect(3 * 6 * 4); // 3:顶点数 6:维数2 + 颜色数4 4:一个float型占4个字节
    byteBuffer.order(ByteOrder.nativeOrder());
    verticesBuffer = byteBuffer.asFloatBuffer();
    verticesBuffer.put(new float[] {0, 0, 1, 0, 0, 1,
    320, 0, 0, 1, 0, 1,
    160, 480, 0, 0, 1, 1});
    verticesBuffer.flip();
    }
    }
  • 相关阅读:
    SpringMVC-Day1 (课题有用)
    Spring-Day3
    Spring-Day2
    fix mac
    新西兰产假(陪产假)
    nz 国内航空
    英文句子
    centos7.2安装swoole扩展
    linux搭建vue框架部署环境
    微信扫描带参数二维码事件
  • 原文地址:https://www.cnblogs.com/xiaobo68688/p/2291051.html
Copyright © 2011-2022 走看看