1
3
在纹理加载代码中有两个问题: 2.-你的纹理数据是浮点数,但是你对GL说它们是无符号字节,把它改成GL_FLOAT。 在这个改变之后你的纹理应该会出现。 |
2
1
有一个GLSL命令允许您访问纹理的单个纹理,而无需纹理过滤: 它不使用标准化坐标(0-1),而是使用整数,因此texel fetch(32,32)将把texel 32 texel取到右边,并把32texel取下来。 不过,看起来你写的是老派的GLSL,所以我不知道它有多适用。 警告:如果你用Nvidia驱动程序在Nvidia卡上编译GLSL程序,它会像CG一样编译,这有一个有趣的警告。 有趣的是,如果尝试使用索引的硬编码值访问足够大的数组的索引(使用纹理作为数组,因此这对您来说应该不是问题),那么它将编译。 但是,如果使用动态索引(变量)访问同一数组的字段,则不会编译该字段。 这几年前让我很头疼。
|