小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Android使用OPENGL顯示YUV圖像

 mediatv 2017-11-08


需要流暢顯示YUV圖像需要使用Opengl庫調(diào)用GPU資源,網(wǎng)上在這部分的資料很少。實(shí)際上Android已經(jīng)為我們提供了相關(guān)的Opengl方法

主體過程如下:

1、建立GLSurfaceView

2、建立Render

4、設(shè)置GLSurfaceView的Render為你創(chuàng)建的Render,并設(shè)置RenderMode為RENDERMODE_WHEN_DIRTY

3、把數(shù)據(jù)推入Render

而在Render中需要實(shí)現(xiàn)3個(gè)方法

1、void onSurfaceCreated(GL10 gl, EGLConfig config)

2、void onDrawFrame(GL10 gl)

3、void onSurfaceChanged(GL10 gl, int width, int height)  

  onSurfaceCreated需要一些初始化工作,括號內(nèi)是具體方法:

生成Textures的ID(glGenTextures)->綁定需要操作的Texture(glBindTexture)->設(shè)置相關(guān)參數(shù)(glTexParameterf)->操作下一個(gè)Texture....

->建立Shader(glCreateShader)->導(dǎo)入Shader代碼字符串(glShaderSource)->編譯Shader(glCompileShader)->檢查編譯狀態(tài)(glGetShaderiv)->下一個(gè)Shader....

->建立Program(glCreateProgram)->綁定Shader(glAttachShader)->綁定屬性(glBindAttribLocation)->鏈接Program(glLinkProgram)->檢查Program鏈接狀態(tài)(glGetProgramiv)

->取得attribute變量、uniform變量的句柄->告訴Opengl在rendering的時(shí)候使用這個(gè)Program(glUseProgram)

  onDrawFrame在視圖刷新的時(shí)候會(huì)被使用

綁定需要操作的Texture(glBindTexture)->設(shè)置Texture內(nèi)容(glTexImage2D)->操作下一個(gè)Texture....

清緩存->指定頂點(diǎn)屬性數(shù)組(glVertexAttribPointer)->使能頂點(diǎn)數(shù)組(glEnableVertexAttribArray)

->激活Opengl的Texture(glActiveTexture)->綁定需要操作的Texture(glBindTexture)->設(shè)置紋理單元的一致變量(glUniform1i)->操作下一個(gè)Texture....

繪圖?。。?!(glDrawArrays)

在將數(shù)據(jù)準(zhǔn)備完成的時(shí)候,使用requestRender()就會(huì)調(diào)用onDrawFrame

 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多