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