矩阵重启,你就是MVP

The Matrix Resurrections

前言

这是白玉无冰记录3D数学第三篇章,矩阵!往期目录如下:

17b20e84da9b6c3c235b209ccadbae6b.png

在开始唠嗑前,先简单介绍一下标题与配图的含义。

  • 矩阵重启:重新捡起矩阵的知识

  • MVP:三个矩阵的简称

  • Matrix 4: 3D 游戏开发中,常用的是4X4矩阵

985a65eee480b772085925d252c0a5f9.png

白玉无冰打算围绕 Cocos Creator 3.4 中的源码,展开认识其中用到的矩阵。

762a7a2cb4e0b8439ac4e9c603189481.png

开始

直观感受

矩阵就是一组数字摆成矩形的阵法。

402 Payment Required

矩阵就是映射!矩阵就是映射!矩阵就是映射!

8cb2efdeac32eb9320a22bf9e94e992b.png

摘录《程序员的数学3线性代数》中的内容感受一下矩阵!

89a19aba8e53d12c94d10b7f189cc4a1.png
矩阵就是映射

矩阵就是映射! mxn 的矩阵是 n维-> m维 的映射!

f86ee772fe2ed30be621fb212cfc6bde.png
n维-> m维

矩阵就是映射! 矩阵的乘积就是映射的叠加!

ef620c9c299a254d81920cbf3a7c0d47.png
矩阵的乘积就是映射的叠加

矩阵就是映射! 逆矩阵就是逆映射!好比把水变成冰的过程看作一个矩阵,那么逆矩阵就是冰变成水的过程。

并不是所有的矩阵都有逆矩阵,类似把水果榨成果汁可以做到,但是把果汁还原成水果就不行了。

dc3ae2090b00e145767344c15f33500c.png
逆映射

Mat4

engine/cocos/core/math/mat4.tsCocos Creator 引擎表示四维(4x4)矩阵(Mathematical 4x4 matrix.)。

mat4.ts 构造了一个形如

402 Payment Required

的矩阵。

为何下标是按照列主序构建的呢?因为 Cocos Effect 使用的是 GLSL 语言,矩阵是按照列主序存在数组中的。f5047fb74c6eacb6cfe326d9bbfdac10.png

Cocos Effect 是一种基于 YAML 和 GLSL 的单源码嵌入式领域特定语言(single-source embedded domain-specific language),YAML 部分声明流程控制清单,GLSL 部分声明实际的 shader 片段,这两部分内容上相互补充,共同构成了一个完整的渲染流程描述。

顺便翻一下《WebGL编程指南》,把GLSL矩阵部分截取下来,一并作为参考与思考。

22aa41918f5bfe121e8b4abad4ccf6aa.png
GLSL矩阵语法

engine/editor/assets/chunks/particle-common.chunk 中的代码为例,复习一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值