纯粹出于好奇,我一直想知道有多少关键字可以适用于声明.假设模板不计(因为无穷大),我能想到的最长的是:
extern const unsigned long int i;
Run Code Online (Sandbox Code Playgroud)
我也试图在那里适应新的.
我看了一堆,但没看到任何关于它.纯娱乐!
编辑 - 由于这个问题过于宽泛,你怎么能只为每个不同的关键字输入一次关键字.没有例外.当然,长期是一个完全合法的类型,我只想知道可以一起使用多少不同的类型.因此,在一个声明中可以容纳多少个关键字.可以是函数,成员函数或变量.
我想要一个具有计算阶段和标准图形阶段(顶点、tess 控制、tess 评估、片段)的单个着色器程序。
不幸的是,如果我将计算阶段附加到程序的其余部分然后链接它,对位置查询(例如glGetAttribLocation)(对于任何阶段的制服/属性)的调用开始返回-1,表明它们无法找到命名对象。我还尝试使用布局(位置= N),这导致没有绘制任何内容。
如果我将这些阶段附加到两个不同的着色器程序并一个接一个地使用它们,则两者都可以正常工作(计算着色器写入 VBO,绘制着色器从同一 VBO 读取),只是我必须在它们之间进行切换。
将计算阶段与标准图形阶段相结合是否有限制?我能找到的所有示例都有两个程序,但我还没有找到为什么需要这样的解释。