OpenGL ES之GLSL渲染图片显示的整体流程
生活随笔
收集整理的這篇文章主要介紹了
OpenGL ES之GLSL渲染图片显示的整体流程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
整體思路
本文不采用UIKit的GLKBaseEffect渲染一張圖片的顯示,而是使用編譯鏈接自定義的著色器(shader)。用GLSL語(yǔ)言來(lái)實(shí)現(xiàn)自定義頂點(diǎn)/片元著色器,并將圖形進(jìn)行簡(jiǎn)單的渲染顯示。
一、GLKit渲染
- 利用GLKit渲染加載一張jpg/png圖片,請(qǐng)參考之前的文章:OpenGL ES之GLKit的使用功能和API說(shuō)明。
二、GLSL自定義著色器實(shí)現(xiàn)圖片渲染的思路說(shuō)明
- 創(chuàng)建圖層:重寫(xiě)layerClass,將YDWView返回的圖層從CALayer替換成CAEAGLLayer,并設(shè)置描述屬性;
- 創(chuàng)建上下文:上下文主要是用于保存OpenGL ES中的狀態(tài),是一個(gè)狀態(tài)機(jī),不論是GLKIt還是GLSL,都是需要context的;
- 清空緩存區(qū):buffer分為 frameBuffer 和 renderBuffer 兩個(gè)大類,都需要清空;
- 設(shè)置RenderBuffer:渲染緩存區(qū)
- 設(shè)置FrameBuffer:幀緩存區(qū)
- 開(kāi)始繪制:讀取頂點(diǎn)/片元著色器的程序,并加載shader,編譯頂點(diǎn)著色程序/片元著色器程序,然后鏈接程序,設(shè)置頂點(diǎn)、紋理坐標(biāo),并處理頂點(diǎn)坐標(biāo)和紋理。
三、GLSL著色語(yǔ)言
- GLSL的基礎(chǔ)使用、數(shù)據(jù)類型和常用API請(qǐng)參考:
總結(jié)
以上是生活随笔為你收集整理的OpenGL ES之GLSL渲染图片显示的整体流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: iOS之深入探究CADisplayLin
- 下一篇: OpenGL ES之Swift使用GLS