zoukankan      html  css  js  c++  java
  • OpenGL 学习总结

    最终呈现画出三角形的一个方式:

    public void draw(float[] mvpMatrix) {
    // Add program to OpenGL ES environment
    GLES20.glUseProgram(mProgram);

    // get handle to vertex shader's vPosition member
    mPositionHandle = GLES20.glGetAttribLocation(mProgram, "vPosition");

    // Enable a handle to the triangle vertices 获取三角形三个顶点的处理器
    GLES20.glEnableVertexAttribArray(mPositionHandle);

    // Prepare the triangle coordinate data
    GLES20.glVertexAttribPointer(mPositionHandle, COORDS_PER_VERTEX,
    GLES20.GL_FLOAT, false,
    vertexStride, vertexBuffer);

    // get handle to fragment shader's vColor member 获取片段着色器,填充三角形的颜色
    mColorHandle = GLES20.glGetUniformLocation(mProgram, "vColor");

    // Set color for drawing the triangle
    GLES20.glUniform4fv(mColorHandle, 1, color, 0);

    // get handle to shape's transformation matrix
    mMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");

    // Pass the projection and view transformation to the shader 即投影、相机视角和旋转矩阵组合在一起,最后赋值给了着色器
    GLES20.glUniformMatrix4fv(mMVPMatrixHandle, 1, false, mvpMatrix, 0);

    // Draw the triangle
    GLES20.glDrawArrays(GLES20.GL_TRIANGLES, 0, vertexCount);

    // Disable vertex array
    GLES20.glDisableVertexAttribArray(mPositionHandle);
    }

    需要学习计算机图形学基础知识和完整的OpenGL技能,对其有个全面了解,才能使用openGL进行绘制视频流和性能调优,OpenGL里面的函数真多!所以使用OpenGL时,一定要对其有个长时间的积累或者有长时间积累的同事或外援才可以干!
  • 相关阅读:
    git笔记
    微信扫码支付 php
    linux 下远程连接windows
    ubuntu15.10下搭建cordova+ionic开发环境
    Linux下磁盘分区挂载
    协议抓包分析软件
    MySQL分表的三种方法
    html5的audio实现高仿微信语音播放效果
    ThinkPHP页面跳转success与error方法
    jquery正则表达式验证(手机号、身份证号、中文名称)
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/8343262.html
Copyright © 2011-2022 走看看