1)、定義旋轉軸,圖形圍繞旋轉軸旋轉'uniform vec4 u_translation;' // 定義u_translation 平移相關資訊
// void main()函式中倆者相加
'gl_position = a_position + u_translation;' // 倆者相加
// 平移函式
function translation(gl)
'uniform mat4 u_xformmatrix;' + // 定義平移矩陣
// void main倆者相乘即可
'gl_position = a_position * u_xformmatrix;' +
// 定義變換矩陣函式
/** * 平移
* gl gl物件
*/function translationmatrix(gl)
2)、定義旋轉方向
3)、定義旋轉角度
'uniform float u_cosb;' + // 定義角度相關資訊
'uniform float u_sinb;' + // 定義角度相關資訊
// void main()
'gl_position.x = a_position.x * u_cosb - a_position.y * u_sinb;' + // 根據公式計算x軸相關資訊
'gl_position.y = a_position.x * u_sinb + a_position.y * u_cosb;' + // 根據公式計算y軸相關資訊
'gl_position.z = a_position.z;' + // 等於自身或者1
'gl_position.w = 1.0;' + // // 顏色管道 等於1
/*** 旋轉
* gl gl物件
*/function rotation(gl)
'uniform mat4 u_xformmatrix;' + // 定義變換矩陣變數
// void main
'gl_position = a_position * u_xformmatrix;' + // 倆者相乘即可
/** * 根據矩陣進行旋轉
* gl gl物件
*/function rotationmatrix(gl)
'uniform float u_sx, u_sy, u_sz;' + // 定義縮放相關比例
// void main
'gl_position.x = a_position.x * u_sx;' + // 相乘
'gl_position.y = a_position.x * u_sy;' + // 相乘
'gl_position.z = a_position.z * u_sz;' + // 相乘
'gl_position.w = 1.0;' + // // 顏色管道 等於1
/** * 縮放
* gl gl物件
*/function zoom(gl)
/**
* 矩陣縮放
* gl gl物件
*/function zoommatrix(gl)
平移、旋轉、縮放等組合(
demo
)
'gl_position = a_position * u_xformmatrixtranslation * u_xformmatrixrotation * u_xformmatrixzoom;' + // 倆者相乘即可 變換矩陣運算
/** * 根據矩陣進行混合變換 平移 旋轉 縮放
* gl gl物件
*/function hybridtransformation(gl)
WEBGL學習筆記(二) 矩陣變換
遊戲已經做好,但是不能支援哈,我在我的獨立部落格裡面加入了這個遊戲。載入時候會黑屏,等待數秒即可,點選這裡體驗試玩 three.js 使用矩陣matrices進行3d變換 位置 position 平移,旋轉rotations,和縮放scaling.每乙個object3d例項都儲存乙個矩陣儲存位置,旋...
WebGL 頂點資料矩陣變換
此處需要了解乙個矩陣函式庫cuon matrix.js這是 webgl程式設計指南 作者寫的乙個庫,它封裝了一些簡單易用的方法,來實現一些複雜繁瑣的矩陣計算操作 具體方法如下表 matrix4物件有兩種方法,一種是名稱中帶有set和一種不帶set的 使用上面的方法可以方便進行矩陣變換 如平移操作 v...
LearnOpenGL學習筆記 五 變換
openggl中對物體的變換是通過矩陣物件來實現的,需要掌握一些最基本的矩陣運算相關知識。include include include我們需要定義頂點著色器,使能夠接收乙個mat4的uniform矩陣,通過變換矩陣左乘位置向量,就可以實現對圖形的變換。version 330 core layout...