數學基礎
叉積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);cosglsl: dot(vec3, vec3) 或 dot(vec4, vec4);
(θ)=
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節)
假設
需要做的變換如下我們可以構建乙個單一變換矩陣以完成旋轉和平移,矩陣叫檢視變換矩陣v;矩陣v通過合併矩陣t(包含負相機期望位置的平移矩陣)和r(包含負相機期望旋轉的旋轉矩陣)將p
wp_w
pw平移,其向量內容為負的期望相機位置,即 −cw
-c_w
−cw
將p
wp_w
pw旋轉,其角度為負的期望相機旋轉尤拉角
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等等,現在最...