【发布时间】:2013-07-16 23:44:52
【问题描述】:
我无法让我的 GLSL 着色器在 AMD 和 Nvidia 硬件上工作。
我不是在寻求修复特定着色器的帮助,而是寻求通常如何避免出现这些问题。是否可以检查着色器是否会在 AMD/Nvidia 驱动程序上编译,而无需在具有相应硬件的机器上运行应用程序并实际尝试它?
我知道,最终,测试是唯一确定的方法,但在开发过程中,我希望至少能避免明显的问题。
使用 GLSL 的每个人都必须有这些问题,为什么我找不到解决它们的好方法呢?
【问题讨论】:
-
你得到什么样的错误?主要使用 opengl4.x/glfw/glew 我必须修复函数指针。假设 glGenVertexArrays 适用于 AMD 但不适用于 Nvidia。所以你需要检索函数的地址:glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) glfwGetProcAddress("glGenVertexArrays");