GLSL 内置函数

determinant()

返回方阵行列式以判断有向面积或体积缩放。

示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段

函数签名

float determinant(mat m)

参数

m
签名中给出的输入量,类型和尺寸必须匹配

返回值

一个 float,表示方阵 m 的行列式;值为零表示矩阵奇异、不可逆。

在线示例

修改右侧代码,左侧预览会实时更新。

determinant 做什么

返回方阵行列式以判断有向面积或体积缩放。

看懂预览

mat2(x,0.0,0.0,y) 的行列式为 x*y,两个相对的象限因此同色。把 y 改为 1.0,结果就只随横向位置变化。

核心调用

determinant(mat2(x,0.0,0.0,y));

为零表示奇异;负值表示方向发生翻转。

修改实验

把矩阵改成 mat2(x,1.0,1.0,y)。行列式会从 xy 变成 xy - 1,背景颜色随之移向色标较低的一端。

规范

GLSL ES 3.00 built-in functions, chapter 8

相关函数