OpenGL-對一些常見專業(yè)名詞的理解

前言

OpenGL,一個跨平臺的圖像渲染引擎框架;
OpenGL ES,作為OpenGL的一個子集,針對移動端設備或者游戲主機等嵌入式設備的渲染框架;
Metal,Apple推出的圖形渲染框架,目前作為iOS底層的渲染的核心;

常見名詞

  • 狀態(tài)機(Context):在使用OpenGL指令前,需要創(chuàng)建一個OpenGL的上下文(Context),來保存一些配置信息(或者叫狀態(tài)信息),可以保存狀態(tài),接收輸入,停止狀態(tài)。就比如我們在使用iOS中的CoreGraphics繪圖的操作一樣:
//獲取上下文
CGContextRef context = UIGraphicsGetCurrentContext();
//更新/設置上下文狀態(tài)
CGContextAddEllipseInRect(context, CGRectMake(0,0,100,100));
//更新/設置上下文狀態(tài)
CGContextSetFillColorWithColor(context, [UIColor blueColor].CGColor);
//更新/設置上下文狀態(tài)
CGContextFillPath(context);

-渲染(Render):繪制到屏幕的過程。

-頂點數(shù)組(VertexArray):屏幕上的位置信息集合(頂點數(shù)據(jù)),比如UIView.frame,通常存放在內(nèi)存中。

-頂點緩沖區(qū)(VertexBuffer):將頂點數(shù)據(jù)緩存到GPU的顯存中。

-管線:就像工廠的生產(chǎn)流水線,一個接一個的環(huán)節(jié)。

-固定管線:一個設定好的生產(chǎn)方式;比如調(diào)用一些系統(tǒng)固定功能的API,我們不需要關注內(nèi)部實現(xiàn),而且無法改變它的內(nèi)部實現(xiàn);在OpenGL中就是固定著色器(OpenGL提供了一些預設好的渲染API).

-可編程管線:可自定義,正好跟固定管線相反,在OpenGL下使用GLSL語法來自定義。

-著色器(shader):運行在GPU上的一個代碼段。

-固定著色器(存儲著色器):預設好的代碼段,直接調(diào)用,不可更改。

-自定義著色器:使用GLSL語法自定義代碼段,比如頂點著色器(確實要顯示圖形的位置;縮放/平移/旋轉(zhuǎn);3D效果的投影換算),片元著色器(對圖形每一個像素點的處理,GPU并行計算)。

-GLSL: OpenGL Shader Language 的縮寫

-光柵化:將代碼邏輯位置轉(zhuǎn)換為屏幕像素物理位置的過程,首先確認圖像像素范圍,然后將顏色映射上去。

-紋理:理解為一張圖片,位圖(bitmap);

-混合(Blend):對兩個圖層重疊部分的渲染計算。比如兩個半透明視圖重疊部分的顏色計算。

-變換矩陣:矩陣(Matrix)是一個按照長方陣列排列的復數(shù)或?qū)崝?shù)集合,是數(shù)學線性代數(shù)中的一個概念。比如iOS下CGAffineTransform,可以實現(xiàn)視圖的平移,縮放,旋轉(zhuǎn)。

-投影矩陣:?用于將3D坐標轉(zhuǎn)換為?二維屏幕坐標,實際線條也將在?二維坐標下進?行行繪制。

-正投影:又稱為平行投影,1:1的繪制,描述2D效果

-透視投影:描述3D效果,具有空間感(遠小近大)

-物體坐標系:類似于UIView.layer.bounds

-世界坐標系:類似于UIView.layer.frame

以上的解釋可能不是很標準,只是個人對這些名詞的一些理解,如果有錯誤的地方,請指正,謝謝!

圖片的渲染流程

圖片的渲染是有CPU和GPU共同完成的

  • CPU:計算顯示的位置(Frame),圖片解壓(png->bitmap)等,通過總線交給GPU;
  • GPU:頂點著色->圖元裝配->光柵化->片元著色->幀緩存區(qū)->渲染顯示

CoreGraphics 解壓圖片

1.CGBitmapContextCreate()
2.CGContextDrawImage()
3.CGBitmapContextCreateImage()

總結

以上信息待完善。這里先記錄一下!?。?/p>

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容