2015-05-03 183 views
0

我有一個片段着色器#version 130,我有一個向量:uniform vec3 sunPosition;爲什麼GLSL const bool不起作用?

這是正常工作:

bool isTheSunUp = sunPosition.y > 0; 

但下面不complie:

const bool isTheSunUp = sunPosition.y > 0; 

爲什麼?

+1

閱讀4.3.2節和4.3.3節。 [規範](https://www.opengl.org/registry/doc/GLSLangSpec.4.30.6.pdf) - 它清楚地解釋了爲什麼這是非法的。 –

回答

1

我認爲這是因爲sunPosition不是一個常量。看這個頁面https://bugs.freedesktop.org/show_bug.cgi?id=25830,似乎當你初始化一個常量時,你不能基於可能會有所不同的東西。

「爲const聲明初始值設定項必須是常量表達式」

相關問題