2016-09-12 35 views
2

我读了OpenGL ES 2.0着色器语言规范(PDF),当我通过这个代码去改变:什么是不变的OpenGL着色语言

 invariant varying mediump vec3 Color; 

我想了解不变性概念,但意思“不变的变化”对我来说似乎相当令人费解。

有人可以向我解释含义和为什么这很有用吗?

+0

“差异和不变限定词”中解释的哪些部分对理解有困难? –

+0

@NicolBolas为什么要声明一个“不变”?论文是反对的...... – Antzi

回答

0

invariant并不意味着constinvariant是如何导致产生该值的表达式为编译为的属性。

varying是一个属性,指定在VS完成执行后之后发生的值varying变量传递给光栅化器进行插值。

其中一个控制如何将数据输入到变量中。另一个控制变量中数据最终进入的位置。他们是正交,而不是antinomic。

1

invariant是一个关键字,通知着色器优化器,优化器应该记住在2个不同时间输入相同输入的变量应该是相同的。根据许多因素,某些优化通常会在不同的时间给出不同的结果。这个关键字将确保优化器避免在这个特定的变量中使用这些技术。