【发布时间】:2014-08-01 18:04:16
【问题描述】:
我最近开始编写一个 OpenGL 3D 应用程序并学习了几个教程,例如 open.gl。
我目前在尝试以 3D 显示我的对象时遇到渲染问题,深度缓冲区似乎根本不起作用。不管我启用它,清除缓冲区位,还是没有,显示总是一样的。
即使复制粘贴code from open.gl,3D 也永远不会生效。
我的测试代码和上面的源代码唯一不同的是我不能使用 GLSL 的#version 150 核心,因此使用#version 130 和#define GLM_FORCE_RADIANS 来避免编译错误。
【问题讨论】:
-
您确定安装了正确的驱动程序吗? Windows 带有一个默认的后备 OpenGL 实现,但是它缺乏对所有现代功能的支持。 Windows 驱动程序更新未安装功能齐全的 OpenGL 驱动程序,因此您必须从 GPU 制造商网站下载正确的驱动程序并手动安装。
-
您是否将 opengl32.lib 和 glu32.lib 链接到您的项目,如果是,您是否有正确的驱动程序,您还需要下载 glm 并确保包含库的包含,因为glm 是一个全头库,您不必链接它,查看代码,您还需要下载 glew 并将其链接到您的项目,然后它应该可以工作。
-
我目前正在使用 VMWare 在 Ubuntu iso 下工作,我将尝试更新所有内容,看看这是否会改变结果。是因为我无法使用正确的 GLSL 版本的驱动程序吗?