OpenGL ES学习笔记(1)

2020-06-06  本文已影响0人  the_Zhang

OpenGL ES学习笔记

1. 入门

在Android中使用OpenGL ES需要使用到GLSurfaceView和Renderer

1.1 GLSurfaceView

// 设置OpenGLES版本
gl_surfaceView.setEGLContextClientVersion(2)
// 设置渲染器
gl_surfaceView.setRenderer(OpenGLRender())
// 设置渲染模式 (RENDERMODE_CONTINUOUSLY | RENDERMODE_WHEN_DIRTY)
// RENDERMODE_CONTINUOUSLY 表示自动渲染(默认)
// RENDERMODE_WHEN_DIRTY   表示手动渲染,需要调用 GLSurfaceView.requestRender()方法渲染
gl_surfaceView.renderMode = GLSurfaceView.RENDERMODE_CONTINUOUSLY

// 注:gl_surfaceView是布局文件中GLSurfaceView的id

GLSurfaceView的渲染在OpenGL线程中,如果需要相互通信可以使用如下的方法

1.2 Renderer

class OpenGLRender : GLSurfaceView.Renderer{

    override fun onSurfaceCreated(gl: GL10?, config: EGLConfig?) {
        // 设置清空屏幕时用的颜色(R, G, B, A)
        glClearColor(1f, 0f, 0f, 0f)
    }

    override fun onSurfaceChanged(gl: GL10?, width: Int, height: Int) {
        // 设置窗口大小
        glViewport(0, 0, width, height)
    }

    override fun onDrawFrame(gl: GL10?) {
        // 清空屏幕
        glClear(GL_COLOR_BUFFER_BIT)
    }
}

上一篇 下一篇

猜你喜欢

热点阅读