我读了OpenGL ES 2.0着色器语言规范(PDF),当我通过这个代码去改变:什么是不变的OpenGL着色语言
invariant varying mediump vec3 Color;
我想了解不变性概念,但意思“不变的变化”对我来说似乎相当令人费解。
有人可以向我解释含义和为什么这很有用吗?
我读了OpenGL ES 2.0着色器语言规范(PDF),当我通过这个代码去改变:什么是不变的OpenGL着色语言
invariant varying mediump vec3 Color;
我想了解不变性概念,但意思“不变的变化”对我来说似乎相当令人费解。
有人可以向我解释含义和为什么这很有用吗?
invariant
并不意味着const
。 invariant
是如何导致产生该值的表达式为编译为的属性。
varying
是一个属性,指定在VS完成执行后之后发生的值。 varying
变量传递给光栅化器进行插值。
其中一个控制如何将数据输入到变量中。另一个控制变量中数据最终进入的位置。他们是正交,而不是antinomic。
invariant
是一个关键字,通知着色器优化器,优化器应该记住在2个不同时间输入相同输入的变量应该是相同的。根据许多因素,某些优化通常会在不同的时间给出不同的结果。这个关键字将确保优化器避免在这个特定的变量中使用这些技术。
“差异和不变限定词”中解释的哪些部分对理解有困难? –
@NicolBolas为什么要声明一个“不变”?论文是反对的...... – Antzi