Advertisement
Guest User

Untitled

a guest
Jun 16th, 2015
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.16 KB | None | 0 0
  1. public static boolean isGLSLSupported(VersionNumber vn) {
  2.        
  3.         boolean[] container = new boolean[] {false};
  4.         try {
  5.             EventQueue.invokeAndWait(() -> {
  6.                 JFrame foo = new JFrame("version text");
  7.                 GLCapabilities caps = new GLCapabilities(GLProfile.get(GLProfile.GL3));
  8.                 GLCanvas glCanvas = new GLCanvas(caps);
  9.                 glCanvas.addGLEventListener(new GLEventListener() {
  10.                     @Override
  11.                     public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
  12.                     }
  13.                    
  14.                     @Override
  15.                     public void init(GLAutoDrawable drawable) {
  16.                         container[0] = drawable.getContext().getGLSLVersionNumber().compareTo(vn) > -1;
  17.                     }
  18.                    
  19.                     @Override
  20.                     public void dispose(GLAutoDrawable drawable) {
  21.                     }
  22.                    
  23.                     @Override
  24.                     public void display(GLAutoDrawable drawable) {
  25.                     }
  26.                 });
  27.                 foo.add(glCanvas);
  28.                 foo.setUndecorated(true);
  29.                 foo.setSize(1, 1);
  30.                 foo.setVisible(true);
  31.                 glCanvas.display();
  32.                 foo.setVisible(false);
  33.                 foo.dispose();
  34.             });
  35.         } catch (Exception ex) {
  36.             System.out.println("Error trying to detect OpenGL version:");
  37.             ex.printStackTrace();
  38.         }
  39.        
  40.         return container[0];
  41.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement