OpenGL學習筆記

2021-10-19 21:23:18 字數 1724 閱讀 1196

數學基礎

叉積mv矩陣

文章內容主要來自 《計算機圖形學程式設計(使用opengl和c++)》

光柵化過程確定了用以顯示3個頂點所確定的三角形的所有畫素需要繪製的位置

光柵化過程開始時先對三角形的每對頂點進行插值

如果光柵化過程到此為止,那麼呈現出的影象將會是線框模型

使用 glpolygonmode(gl_front_and_back, gl_line); 會顯示線框下的模型;

如果不適用上面的**或第二個引數 gl_line 修改為 gl_fill,那麼插值過程會繼續沿著光柵線填充三角形的內部

z-buffer 演算法

在每個場景渲染前,深度緩衝區全部初始化為表示最大深度的值

當畫素顏色由片段著色器輸出時,計算它到觀察者的距離

如果距離小於深度緩衝區儲存的值(對當前畫素),那麼用當前畫素顏色替換顏色緩衝區中的顏色,同時用當前距離替換深度緩衝區中的值,否則拋棄當前畫素

a·b = ux + vy + wz

glm: dot(vec3, vec3) 或 dot(vec4, vec4);

glsl: dot(vec3, vec3) 或 dot(vec4, vec4);

cos

(θ)=

v⋅w∣

v∣⋅∣

w∣cos(\theta) = \vert v \vert · \vert w \vert}

cos(θ)

=∣v∣

⋅∣w∣

v⋅w​

glm: cross(vec3, vec3)

glsl: cross(vec3, vec3)

通過叉積來獲得法向量的能力對學習光照部分非常重要

(內容來自《計算機圖形學程式設計(使用opengl和c++)》3.7節)

假設

需要做的變換如下

將p

wp_w

pw​平移,其向量內容為負的期望相機位置,即 −cw

-c_w

−cw​

將p

wp_w

pw​旋轉,其角度為負的期望相機旋轉尤拉角

我們可以構建乙個單一變換矩陣以完成旋轉和平移,矩陣叫檢視變換矩陣v;矩陣v通過合併矩陣t(包含負相機期望位置的平移矩陣)和r(包含負相機期望旋轉的旋轉矩陣

p c=

r(t∗

pw)→

pc=(

r∗t)

pw→p

c=(v

∗pw)

p_c = r(t*p_w) \rightarrow p_c = (r*t)p_w \rightarrow p_c=(v*p_w)

pc​=r(

t∗pw

​)→p

c​=(

r∗t)

pw​→

pc​=

(v∗pw​)

OpenGL學習筆記

我是一名ios開發者,opengl是乙個比較重要的技術。所以就此開啟我的菜鳥之路。opengl open graphics library 是乙個跨程式設計語 言 跨平台的程式設計圖形程式接 它將計算機的資源抽象稱為乙個個opengl的物件,對這些資源的操作抽象為乙個的opengl指令.direct...

OpenGL學習筆記

因工作需要,這些天要研究opengl。我給自己定的目標是 1.節前能熟悉opengl基礎知識 2.確定一款以opengl為基礎的gui 3.學習如何使用該gui的控制項繪製3d選單 今天找到幾個 嵌入式系統使用的是opengl es,是桌面opengl的乙個子集,定義了一系列靈活高效的圖形加速介面。...

OpenGL 學習筆記

這一次的引擎計畫 必須要實現之前的opengl的系統學習計畫 首先在如下位址可以找到一些必要的最新的資源 要學有用的,陳舊的不要,ogl,webgl,gles都有 1,對於ogl本身來說,沒有視窗管理的部分,所以很多人就幫ogl做了,比如glut 最新版本的都是90年的 freeglut等等,現在最...