2011-04-06 259 views
2

我想我的GLSL着色器中使用<<>>操作(以INT從字節的紋理解壓)。不過,如果我使用它們,着色器停止工作和編譯器編寫沒有錯誤。其他運營商如|&作品。GLSL - 左,右移位操作問題

回答

2

><是執行比較操作符。的比特移位運算符是>><<

儘管這些操作員在GLSL中得到了認可,但他們在1.20版中「保留供將來使用」。根據規範,它們在版本4.10中是合法的。我不知道他們是在哪個版本中引入的。

+1

他們是合法的GLSL 1.40。 – kvark 2011-04-07 18:26:42

0

在GLSL版本1.30(#version 130)中增加了按位移位運算符<<>>,其中OpenGL版本爲3.0。

參見The OpenGL® Shading Language, Language Version: 1.30 - Chapter 1.2 Changes

以下是在版本1.3添加功能的摘要:

  • 按位偏移和掩蔽


在較早版本的運營商<<>>^h已被保留。

The OpenGL® Shading Language, Language Version: 1.20 - Chapter 5 Operators and Expressions

OpenGL着色語言具有以下運營商。標記爲保留的是非法的。

  • 逐位移(預留)