猿问

glTranslatef 不随 z 轴移动

我编写了在屏幕上绘制矩形的应用程序。我想在 z 轴上移动这个矩形,但它不起作用。它消失了。我不知道如何修复它。


代码:


package game;



import org.lwjgl.opengl.GL;


import static org.lwjgl.glfw.GLFW.*;

import static org.lwjgl.opengl.GL11.*;


public class Main {


    public static void main(String[] args) {

        glfwInit();

        System.out.println("Hello World!");

        long  window = glfwCreateWindow(1280   ,720,"Title",0,0);


        glfwMakeContextCurrent(window);

        glfwSwapInterval(1);

        GL.createCapabilities();


        ///////////////////////////////

        glTranslatef(0,0,5);

        ///////////////////////////////



        while(!glfwWindowShouldClose(window)){

            glfwPollEvents();

            glBegin(GL_QUADS);

                glVertex2f(-0.5f,0.5f);

                glVertex2f(-0.5f,-0.5f);

                glVertex2f(0.5f,-0.5f);

                glVertex2f(0.5f,0.5f);

            glEnd();

            System.out.println(z);

            glfwSwapBuffers(window);

        }

        System.exit(0 );

    }

}


一只甜甜圈
浏览 109回答 1
1回答

Helenr

默认情况下,仅显示立方体内 x、y、z 坐标为 -1 到 1 的内容。由于glTranslatef在代码的开头,您有效地在坐标处渲染了一个正方形(-0.5f,0.5f,5), (-0.5f,-0.5f,5), (0.5f,-0.5f,5), (0.5f,0.5f,5)它位于立方体之外,因此未显示。要更改渲染内容的坐标,我建议查看glOrtho和glFrustum。您还glFrustum可以在 3D 透视图中看到事物。
随时随地看视频慕课网APP

相关分类

Java
我要回答