OpenGL 学习总结
阅读原文时间:2023年07月15日阅读:1

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

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时,一定要对其有个长时间的积累或者有长时间积累的同事或外援才可以干!

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章