我有点惊讶我不知道这一点,但是承认你还在学习它永远不会伤害:)
在GLSL中,有min
和max
个功能,根据他们的documentation:
返回两个值中较小/较大的值
但是当值是向量时,如何确定?显然(1, 1)
会小于(2, 2)
,但(1, 3)
和(4, -2)
的最小值或最大值是多少?这种逻辑在哪里被正式描述?
答案 0 :(得分:31)
引自first source that I could find(PDF),位于§8.3常用功能的顶部,第132页:
这些都是按组件运作的。描述是按组件进行的。
几乎所有在向量上操作但实际上只对标量有意义的函数在组件方面操作。 (包括abs
,sign
,floor
,trunc
,round
,roundEven
,ceil
,fract
,mod
,modf
,min
,max
,clamp
,mix
,step
,smoothstep
和还有很多。)
因此,例如,(1, 3)
和(4, -2)
的分钟为(1, -2)
。