LibGDX中复制教程代码仍无法创建显示3D立方体问题求助
问题根因及修复方案
你代码里存在直接导致立方体无法显示的错误,还有一处冗余无效代码,修正后即可正常运行:
- 最核心错误:渲染时未清除深度缓冲区
你当前render方法中的清屏代码重复传入了两次颜色缓冲标识,完全没有包含深度缓冲标识,3D渲染依赖深度测试判断物体前后层级,不清空深度缓冲会导致渲染结果被丢弃,把对应代码替换为:Gdx.gl.glClear(Gdx.gl20.GL_COLOR_BUFFER_BIT | Gdx.gl20.GL_DEPTH_BUFFER_BIT); - 可选兼容优化:添加深度测试显式开启逻辑
部分旧版本libGDX不会默认开启深度测试,可以在create方法末尾添加一行代码避免环境兼容问题:Gdx.gl.glEnable(Gdx.gl20.GL_DEPTH_TEST); - 删除冗余代码
create方法中的camera.projection.set(camera.projection);属于自己给自己赋值的无效代码,直接删除即可,不会影响逻辑。
按上面的改动调整后,你的立方体就可以正常显示旋转效果。
内容的提问来源于stack exchange,提问作者L.M.
相关产品推荐
相关产品推荐

