Note that there are some explanatory texts on larger screens.

plurals
  1. POLWJGL - Black screen
    primarykey
    data
    text
    <p>For some reason, when I try to run this code, all I get is a black screen. How can I actually get it to display what I want it to display?</p> <p>I'm using Eclipse and I have added lwjgl.jar and lwjgl_utils.jar into the build path.</p> <pre><code>import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import org.lwjgl.opengl.GL11; import org.lwjgl.util.glu.GLU; import org.lwjgl.input.Keyboard; public class game { private boolean done = false; private boolean fullscreen = false; private final String windowTitle = "Lesson 1"; private boolean f1 = false; private DisplayMode displayMode; /** * Everything starts and ends here. Takes 1 optional command line argument. * If fullscreen is specified on the command line then fullscreen is used, * otherwise windowed mode will be used. * @param args command line arguments */ public static void main(String args[]) { boolean fullscreen = false; if (args.length &gt; 0) { if (args[0].equalsIgnoreCase("fullscreen")) { fullscreen = true; } } game gamez = new game(); gamez.run(fullscreen); } /** * Launch point * @param fullscreen boolean value, set to true to run in fullscreen mode */ public void run(boolean fullscreen) { this.fullscreen = fullscreen; try { init(); while (!done) { mainloop(); render(); Display.update(); } cleanup(); } catch (Exception e) { e.printStackTrace(); System.exit(0); } } /** * All updating is done here. Key and mouse polling as well as window closing and * custom updates, such as AI. */ private void mainloop() { if (Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) done = true; if (Display.isCloseRequested()) done = true; if (Keyboard.isKeyDown(Keyboard.KEY_F1)) { f1 = true; switchmode(); } if (!Keyboard.isKeyDown(Keyboard.KEY_F1)) f1 = false; } private void switchmode() { fullscreen = !fullscreen; try { Display.setFullscreen(fullscreen); } catch (Exception e) { e.printStackTrace(); } } /** * For rendering all objects to the screen * @return boolean for success or not */ private void render() { GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); GL11.glLoadIdentity(); GL11.glTranslatef(-1.5f, 0.0f, -6.0f); GL11.glBegin(GL11.GL_TRIANGLES); GL11.glVertex3f(0.0f, 1.0f, 0.0f); GL11.glVertex3f(-1.0f, -1.0f, 0.0f); GL11.glVertex3f(1.0f, -1.0f, 0.0f); GL11.glEnd(); GL11.glTranslatef(3.0f, 0.0f, 0.0f); GL11.glBegin(GL11.GL_QUADS); GL11.glVertex3f(-1.0f, 1.0f, 0.0f); GL11.glVertex3f(1.0f, 1.0f, 0.0f); GL11.glVertex3f(1.0f, -1.0f, 0.0f); GL11.glVertex3f(-1.0f, -1.0f, 0.0f); GL11.glEnd(); } /** * Create a window depending on whether fullscreen is selected * @throws Exception Throws the window.create() exception up the stack. */ private void createWindow() throws Exception { Display.setFullscreen(fullscreen); DisplayMode d[] = Display.getAvailableDisplayModes(); for (int i = 0; i &lt; d.length; i++) { if (d[i].getWidth() == 640 &amp;&amp; d[i].getHeight() == 480 &amp;&amp; d[i].getBitsPerPixel() == 32) { displayMode = d[i]; break; } } Display.setDisplayMode(displayMode); Display.setTitle(windowTitle); Display.create(); } /** * Do all initilization code here. Including Keyboard and OpenGL * @throws Exception Passes any exceptions up to the main loop to be handled */ private void init() throws Exception { createWindow(); initGL(); } /** * Initialize OpenGL * */ 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_EQUAL); GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); // calculate the apsect ratio of the window GLU.gluPerspective(45.0f, (float)displayMode.getWidth() / (float)displayMode.getHeight(), 0.1f, 100.0f); GL11.glHint(GL11.GL_PERSPECTIVE_CORRECTION_HINT, GL11.GL_NICEST); } /** * Cleanup all the resources * */ private void cleanup() { Display.destroy(); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload