Java w / LWJGL:像素格式未加速

时间:2018-05-26 12:56:48

标签: java windows opengl lwjgl

我正在尝试制作游戏引擎。但是在Java中遇到了LWJGL的问题,甚至无法运行窗口!这是我的代码:

package Main;

import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;

public class Main {

    public static void main(String[] args) {

        Main display = new Main();
        display.start();
    }

    public void start() {
        try {
            Window();
            InitGL();
            Run();
        } catch(Exception e){
            e.printStackTrace();
        }
    }

    DisplayMode displayMode;
    private void Window() throws Exception{
        Display.setFullscreen(false);
        DisplayMode d[] = Display.getAvailableDisplayModes();
        for(int i =0; i < d.length; i++) {
            if(d[i].getWidth() == 640 && d[i].getHeight() == 480
                    && d[i].getBitsPerPixel() == 32) {
                displayMode = d[i];
                break;
            }
        }
        Display.setDisplayMode(displayMode);
        Display.setTitle("Game Engine");
        Display.create();
    }

    private void InitGL() {
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glShadeModel(GL11.GL_SMOOTH);
        GL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
        GL11.glClearDepth(1.0);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        GL11.glDepthFunc(GL11.GL_LEQUAL);

        GL11.glMatrixMode(GL11.GL_PROJECTION);
        GL11.glLoadIdentity();

        GLU.gluPerspective( // GLU cannot be resolved!  (Error)
                45.0f,
                (float)displayMode.getWidth()/(float)displayMode.getHeight(),
                0.1f, 100.0f);
        GL11.glMatrixMode(GL11.GL_MODELVIEW);
        GL11.glHint(GL11.GL_PERSPECTIVE_CORRECTION_HINT, GL11.GL_NICEST);
    }

    private void Run() {
        while(!Display.isCloseRequested()) {
            try {
                Render();
                Display.update();
                Display.sync(30);
            }catch(Exception e) {

            }
        }
        Display.destroy();
    }

    private void Render() {
        GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
        GL11.glLoadIdentity();
    }
}

引用中指出我无法自行解决错误!

我在Windows 10系统上运行它,运行带有集成显卡的Intel Pentium处理器的笔记本电脑。但是这应该没什么区别,只要运行得慢一些。

我很乐意帮助任何人,对不起,如果这已经得到了解答,但我发现很难找到解决问题的答案。

我在Java方面相对较新,但在其他一些语言方面经验丰富。请不要问我为什么要这样做,这只是让我继续前进的事。

0 个答案:

没有答案
相关问题