2011-04-06 54 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着色语言具有以下运营商。标记为保留的是非法的。

  • 逐位移(预留)