我在通过制作小东西来练习 OpenGL演示,演示运行良好,但在我切换到 Ubuntu 18.04 后,对象不再渲染。程序编译时没有错误,但我得到的是空白屏幕,背景被清除,并显示所需的颜色。
可能存在什么问题?
我也在使用 SDL2、SOIL、GLEW 和 glm。
以下是有关我的卡和司机的详细信息:
$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.0.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.0.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
答案1
与此问题相同:Ubuntu 18.04 openGL/GLSL 问题没有纹理
基本上,Ubuntu 18.04 LTS 附带了新版本的 GLM。新版本的 GLM 更改了矩阵的默认构造函数。
例如
model = glm::mat4();
必须更改为:
model = glm::mat4(1.0f);
与 GLM 早期版本的行为相同。