OpenGl ES 3.0 筆記一:初步概念

🎯 整體比喻:開一場 3D 打印畫展!

想象你在做一件事情:「拿設計圖,把它畫在一張紙上」。
這整個流程就好像 GPU 在渲染一幅畫。
而下面這幾個階段,就是這場「畫展」里每個具體的人或機器要做的事情:


1. 頂點著色器(Vertex Shader)

作用:處理每一個點(頂點),決定它放在哪里、長什么樣。

🧠 比喻:
就像你在設計圖上標出各個點的位置
比如「頭頂在這里,手在這里」,每個點可能還有顏色、大小之類信息。

🛠 舉例:

  • 輸入:一個三角形的三個頂點 (坐標、顏色、法線等)
  • 頂點著色器:
    • 乘以MVP矩陣,把本地坐標變成屏幕上的位置。
    • 可以改變點的顏色、大小等。
  • 輸出:每個點的新位置、新屬性。

? 記憶口訣:“點”搬到正確位置上!


2. 圖元裝配(Primitive Assembly)

作用:把一個個點連起來,組成「圖形」比如三角形、線段。

🧠 比喻:
就像把設計圖上的點用線連接起來,畫出三角形、矩形、房子輪廓!

🛠 舉例:

  • 輸入:三個頂點
  • 圖元裝配:
    • 發現這三個點要組成一個三角形
  • 輸出:一個確定了頂點順序的三角形

? 記憶口訣:“點連成線/面”!


3. 光柵化(Rasterization)

作用:把連續的三角形變成一堆小格子(像素),決定要涂哪塊。

🧠 比喻:
想象你拿一張方格紙(像素格子),用鉛筆把三角形里屬于的格子都涂黑。
光柵化就是在格子上“染色”!

🛠 舉例:

  • 輸入:一個大三角形(頂點位置)
  • 光柵化:
    • 計算哪些像素格子在三角形內部
    • 對每個像素插值顏色、紋理坐標等
  • 輸出:每個像素點準備好要著色的信息

? 記憶口訣:“面變成一堆像素點”!


4. 片段著色器(Fragment Shader)

作用:每個像素自己決定怎么最終著色。

🧠 比喻:
就像每個被鉛筆點到的小格子自己決定畫紅的?藍的?加紋理?加亮?

🛠 舉例:

  • 輸入:一個像素的位置、插值后的顏色、紋理坐標
  • 片段著色器:
    • 查紋理,混合顏色,做光照計算
  • 輸出:最終這個像素的顏色(比如紅色、綠色、透明度等)

? 記憶口訣:“每個像素自己上色”!


5. 逐片段操作(Per-Fragment Operations)

作用:最終的「管控」:裁剪、不透明度混合、寫進屏幕緩存。

🧠 比喻:
就像審查員,每個格子畫完后,檢查一遍:

  • 這個像素要不要丟掉?
  • 這個像素透明嗎?
  • 如果是透明的,要怎么跟下面的疊加?

🛠 舉例:

  • 深度測試:當前片段是不是比已有的片段更靠前?
  • 混合:比如透明玻璃的疊加效果。
  • 模板測試:做一些遮罩效果。

? 記憶口訣:“最終審核決定能不能留”!


📈 總流程圖示意

頂點數據↓
【頂點著色器】(點的位置、顏色)↓
【圖元裝配】(連接成三角形)↓
【光柵化】(確定哪些像素被覆蓋)↓
【片段著色器】(每個像素自己決定顏色)↓
【逐片段操作】(測試深度/混合,決定最后顯示)↓
屏幕畫面

? 小總結記憶法

階段比喻關鍵詞
頂點著色器點的位置/初步化妝定點位置
圖元裝配點連成面連線成形
光柵化三角形染色面轉像素
片段著色器每個像素化妝顏色決定
逐片段操作審核打分能不能畫

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78479.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78479.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78479.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人類社會的第四階段

本書的主旨是探討一場新的權力革命,它將以20世紀民族國家的毀滅為代價, 解放出個體。創新,以前所未有的方式改變了暴力的邏輯,并且正在革新未來的 邊界。如果我們的推論是正確的,你們正站在一場有史以來最宏大的革命的…

位置差在坐標系間的相互轉換

1 NED轉經緯高 (n 系下的北向、東向和垂向位置差異(單位 m)轉化為緯度、經度和高程分量的差異) 2 基站坐標轉換 緯度、經度、高程 到 ECEF %緯度、經度、高程 到 ECEF clc; clear; glvs; addpath(genpath(E:\GNSSINS\ACES)…

WPF定義擴展屬性和依賴屬性

WPF擴展屬性與依賴屬性詳解 一、依賴屬性(Dependency Property)詳解 1. 什么是依賴屬性? 依賴屬性是WPF框架的核心特性之一,它允許屬性值依賴于: 父元素的屬性值(繼承)樣式和模板動畫數據綁定資源查找2. 依賴屬性的特點 ??屬性值繼承??:子元素可以繼承父元素的屬性…

邊緣函數:全棧開發的最后1毫秒性能革命

一、邊緣計算的時空折疊術 1. 傳統CDN vs. 智能邊緣網絡 全球電商平臺實測數據: 場景云端處理延遲邊緣處理延遲轉化率提升搜索建議320ms8ms18%個性化推薦450ms12ms27%實時庫存檢查680ms9ms42%欺詐檢測920ms15ms63% 二、邊緣全棧架構的量子糾纏 1. 代碼的時空分布…

Codeforces Round 1021 (Div. 2) D. Baggage Claim(建圖)

每周五篇博客:(4/5) https://codeforces.com/contest/2098/problem/D 題意 每個機場都有一個行李索賠區,巴爾貝索沃機場也不例外。在某個時候,Sheremetyevo的一位管理員提出了一個不尋常的想法:將行李索…

LLM(大語言模型)技術的最新進展可總結

截至2025年4月26日,LLM(大語言模型)技術的最新進展可總結為以下關鍵方向: 1. 架構創新與性能突破 多模態能力深化:GPT-4o等模型通過統一架構支持文本、圖像、音頻和視頻的跨模態推理,顯著提升復雜場景下的…

黑馬點評redis改 part 6

GEO數據結構 GEO就是Geolocation的簡寫形式,代表地理坐標。Redis在3.2版本中加入了對GEO的支持,允許存儲地理坐標信息,幫助我們根據經緯度來檢索數據。常見的命令有: GEOADD:添加一個地理空間信息,包含&a…

Spring_MVC 中的 JSON 數據處理與 REST 風格開發

Spring_MVC 中的 JSON 數據處理與 REST 風格開發 一、JSON 格式參數 1. 格式布置 依賴導入 為了處理 JSON 數據&#xff0c;需要在項目中引入 Jackson 庫&#xff0c;它是 Spring_MVC 默認使用的 JSON 處理工具。 <dependency><groupId>com.fasterxml.jackson…

藍橋杯 8. 移動距離

移動距離 原題目鏈接 題目描述 X 星球居民小區的樓房全是一樣的&#xff0c;并且按矩陣樣式排列。樓房的編號為 1, 2, 3, ??。 當排滿一行時&#xff0c;從下一行相鄰的樓往反方向排號。 例如&#xff0c;當小區排號寬度為 6 時&#xff0c;排列如下&#xff1a; 1 2 …

第11章 安全網絡架構和組件(一)

11.1 OSI 模型 協議可通過網絡在計算機之間進行通信。 協議是一組規則和限制&#xff0c;用于定義數據如何通過網絡介質&#xff08;如雙絞線、無線傳輸等&#xff09;進行傳輸。 國際標準化組織(ISO)在20世紀70年代晚期開發了開放系統互連(OSI)參考模型。 11.1.1 OSI模型的…

文獻分享:一種四價雙特異性抗體的功能性和IgG樣穩定性、藥理學和可開發特性研究

背景 雙特異性抗體&#xff08;bsAb&#xff09;是一種有前途的藥物形式&#xff0c;能夠同時結合相同或不同抗原上的兩個不同表位。迄今為止&#xff0c;已有14個雙特異性抗體藥物獲得上市批準&#xff0c;盡管取得了這些成功并且迄今為止設計了多種形式&#xff0c;但具有高…

英文中數字讀法規則

以下是英文中數字讀法的詳細規則&#xff0c;涵蓋基本數字、大數字、小數、分數、序數詞及特殊場景&#xff08;如電話號碼、年份、金額等&#xff09;&#xff1a; 一、基本數字&#xff08;0-10&#xff09; 數字基數詞&#xff08;Cardinal&#xff09;序數詞&#xff08;O…

32BIT的SPI主機控制

SPI傳輸位數可參數化配置。 SPI_MASTER: timescale 1ns / 1ps module SPI_Master #(parameter CLK_FREQ 50,parameter SPI_CLK 1000,parameter CPOL 0,parameter CPHA 0 )(input clk,input rst_n,input WrRdReq, //讀/寫數據請求output …

vue響應式原理——vue2和vue3的響應式實現區別

Vue的核心功能點之一是響應式&#xff1a;Vue 會自動跟蹤 JavaScript 狀態并在其發生變化時響應式地更新 DOM。 簡單的來說就是&#xff0c;頁面的渲染效果會隨著數據變化而變化&#xff0c;不用我們去手動操作DOM樹進行數據變化后的渲染。為了實現這一目的&#xff0c;我們最簡…

Kaamel白皮書:2025版COPPA落地實操指南

COPPA簡介 《兒童在線隱私保護法案》&#xff08;COPPA&#xff09;于1998年在美國頒布&#xff0c;其最初的動因源于人們日益增長的對互聯網上收集兒童個人信息的擔憂。為了響應這一問題&#xff0c;聯邦貿易委員會&#xff08;FTC&#xff09;被授權制定并執行相關法規。COP…

測試基礎筆記第十四天

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 一、字符串1.字符串2.字符串切片3.查找find&#xff08;&#xff09;4.去除兩端空白字符 strip5.字符串轉換大小寫 lower、upper5.拆分 split()6.字符串的其他常見方…

什么是Lua模塊?你會如何使用NGINX的Lua模塊來定制請求處理流程?

大家好&#xff0c;我是鋒哥。今天分享關于【什么是Lua模塊&#xff1f;你會如何使用NGINX的Lua模塊來定制請求處理流程&#xff1f;】面試題。希望對大家有幫助&#xff1b; 什么是Lua模塊&#xff1f;你會如何使用NGINX的Lua模塊來定制請求處理流程&#xff1f; 1000道 互聯…

ubuntu擴展邏輯卷并調整文件系統大小步驟

安裝好ubuntu如果沒有調整磁盤空間,一般默認給你100G的空間,在用完時再調整也還來得及,下面是 ubuntu擴展邏輯卷并調整文件系統大小步驟&#xff1a; 1. 擴展邏輯卷 運行以下命令來擴展邏輯卷 /dev/ubuntu-vg/ubuntu-lv&#xff0c;使其使用卷組中所有未分配的空間&#xff…

復雜背景下無人機影像小目標檢測:MPE-YOLO抗遮擋與抗背景干擾設計

目錄 一、引言 二、挑戰和貢獻 密集小目標和遮擋 實時性要求與精度權衡 復雜背景 三、MPE-YOLO模型細節 多級特征集成器&#xff08;MFI&#xff09; 感知增強卷積&#xff08;PEC&#xff09; 增強范圍C2f模塊&#xff08;ES-C2f&#xff09; 四、Coovally AI模型訓…

【C++】13.list的模擬實現

首先&#xff0c;我們需要把鏈表管理起來&#xff0c;也就是把一個個節點管理起來&#xff0c;但是每個節點的信息我們也需要管理&#xff0c;例如節點的前驅指針和后驅指針&#xff0c;以及節點的值&#xff0c;所以我們這里先封裝兩個類來管理節點和鏈表。 namespace Ro {te…