【问题标题】:LWJGL Lighting.. light point doesnt act as point of light?LWJGL Lighting..光点不作为光点?
【发布时间】:2013-03-15 05:25:53
【问题描述】:

我在 (0,0,0) 处有一个简单的立方体,在 (10,0,0) 处有一个光点。由于某种原因,我的立方体的左右两侧都被照亮了。所以立方体的相对两侧都亮了。 我使用搅拌机生成法线,所以我知道那里是正确的,我还手动检查了它们并将它们倒置。但结果是一样的。

自然只有立方体的右侧应该点亮,对吧?

GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_LIGHT0);  
GL11.glLightModeli(GL11.GL_LIGHT_MODEL_LOCAL_VIEWER, GL11.GL_TRUE); 
        //
GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, floatBuffer(new float[] {0.2f, 0.2f, 0.2f, 1.0f}));  
GL11.glLight(GL11.GL_LIGHT0, GL11.GL_DIFFUSE, floatBuffer(new float[] {0.8f, 0.8f, 0.8f, 1.0f}));   
GL11.glLight(GL11.GL_LIGHT0, GL11.GL_SPECULAR, floatBuffer(new float[] {1.0f, 1.0f, 1.0f, 1.0f}));  
        //
GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, floatBuffer(new float[] {10, 0, 0, 1}));         
    //
GL11.glEnable(GL11.GL_COLOR_MATERIAL);          
GL11.glColorMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT_AND_DIFFUSE);

// 我对它做了更多的工作,现在我有了一个球体,我看它的每个方向,它都显示出完全相同的光。与光源相对的球体背面不应该像现实生活中一样黑暗吗?

// 我拍了照片,但网站说我需要 10 个声望点才能发布它们:(。

【问题讨论】:

    标签: opengl lwjgl lighting


    【解决方案1】:

    我发现了问题。有一个很好的解释:这里Problems with OpenGL lighting in Java/lwjgl
    //
    问题是我需要像这样在渲染循环中不断设置灯光位置,

    public void render()
    {
    GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, position));
    }
    

    【讨论】:

      猜你喜欢
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      相关资源
      最近更新 更多