You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LWJGL+OpenGL渲染立方体异常:颜色错乱及不可见问题求助

LWJGL OpenGL立方体渲染问题解决

一、快速让立方体回到可见范围

OpenGL默认相机位于原点(0,0,0),视线沿**-Z轴方向**(看向屏幕外)。你当前把立方体放在Z=0的位置,和相机重叠,部分顶点可能超出默认视锥体的可见范围;如果误设为正Z值,立方体会跑到相机后方,自然无法看见。

直接修改glTranslatef的Z参数为负数,将立方体往相机前方推送:

GL11.glTranslatef(0.0f, 0.0f, -5.0f); // 数值在-3到-10之间均可,按需调整

二、修复颜色错乱问题

你的RenderCube方法里有两个顶点坐标写错,导致面不是规整的四边形,进而引发颜色渲染错乱:

  1. 黄色面(glColor3f(1.0f, 1.0f, 0.0f))的最后一个顶点,将0.1f改为1.0f:
    // 原错误代码
    GL11.glVertex3f(0.1f, 1.0f, -1.0f);
    // 修正后
    GL11.glVertex3f(1.0f, 1.0f, -1.0f);
    
  2. 蓝色面(glColor3f(0.0f, 0.0f, 1.0f))的最后一个顶点,将0.1f改为1.0f:
    // 原错误代码
    GL11.glVertex3f(-1.0f, -1.0f, 0.1f);
    // 修正后
    GL11.glVertex3f(-1.0f, -1.0f, 1.0f);
    

三、额外优化建议

初始化时添加GL11.glEnable(GL11.GL_DEPTH_TEST);,开启深度测试,避免后方的面错误遮挡前方的面,让立方体渲染更符合视觉逻辑。

内容的提问来源于stack exchange,提问作者W.G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 07:05:20