未声明的标识符 texture2DLodOffset 的无效调用
Invalid call of undeclared identifier texture2DLodOffset
我正在尝试在我的机器上获取此 FXAA shader 运行。
它似乎无法识别 GLSL 中名为 texture2DLodOffset
的函数。它也不识别 texture2DLod
。 texture2DLod
函数显然在 texture2D
中有一个替代方案作为第三个参数 bias
。但是,我找不到替代前一个缺失函数 texture2DLodOffset
的方法。有人可以帮我解决这个问题吗?
如果有人可以向我推荐更多 anti-aliasing
技术,那将是很棒的。
规格(在虚拟机上工作):
OpenGL vendor string: Parallels and Intel Inc.
OpenGL renderer string: Parallels using Intel Iris OpenGL Engine
OpenGL version string: 2.1 INTEL-10.6.20
OpenGL shading language version string: 1.20
texture2DLodOffset()
来自 EXT_gpu_shader4
,确保您的 GL 实现支持它并通过以下方式启用:
#extension GL_EXT_gpu_shader4 : enable
在你的 #version
指令之后。
或者,the jMonkeyEngine sources有一些选择:
...
#if __VERSION_ >= 130
#define OffsetVec(a, b) ivec2(a, b)
#define FxaaTexOff(t, p, o, r) textureOffset(t, p, o)
#elif defined(GL_EXT_gpu_shader4)
#define OffsetVec(a, b) ivec2(a, b)
#define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o)
#else
#define OffsetVec(a, b) vec2(a, b)
#define FxaaTexOff(t, p, o, r) texture2D(t, p + o * r)
#endif
...
您可能想要 #version 120
的最后一组:
#define OffsetVec(a, b) vec2(a, b)
#define FxaaTexOff(t, p, o, r) texture2D(t, p + o * r)
我正在尝试在我的机器上获取此 FXAA shader 运行。
它似乎无法识别 GLSL 中名为 texture2DLodOffset
的函数。它也不识别 texture2DLod
。 texture2DLod
函数显然在 texture2D
中有一个替代方案作为第三个参数 bias
。但是,我找不到替代前一个缺失函数 texture2DLodOffset
的方法。有人可以帮我解决这个问题吗?
如果有人可以向我推荐更多 anti-aliasing
技术,那将是很棒的。
规格(在虚拟机上工作):
OpenGL vendor string: Parallels and Intel Inc.
OpenGL renderer string: Parallels using Intel Iris OpenGL Engine
OpenGL version string: 2.1 INTEL-10.6.20
OpenGL shading language version string: 1.20
texture2DLodOffset()
来自 EXT_gpu_shader4
,确保您的 GL 实现支持它并通过以下方式启用:
#extension GL_EXT_gpu_shader4 : enable
在你的 #version
指令之后。
或者,the jMonkeyEngine sources有一些选择:
...
#if __VERSION_ >= 130
#define OffsetVec(a, b) ivec2(a, b)
#define FxaaTexOff(t, p, o, r) textureOffset(t, p, o)
#elif defined(GL_EXT_gpu_shader4)
#define OffsetVec(a, b) ivec2(a, b)
#define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o)
#else
#define OffsetVec(a, b) vec2(a, b)
#define FxaaTexOff(t, p, o, r) texture2D(t, p + o * r)
#endif
...
您可能想要 #version 120
的最后一组:
#define OffsetVec(a, b) vec2(a, b)
#define FxaaTexOff(t, p, o, r) texture2D(t, p + o * r)