/**
*
*/
package icy.util;
import icy.gui.dialog.IdConfirmDialog;
import javax.media.opengl.GLProfile;
/**
* Utilities class for OpenGL.
*
* @author Stephane
*/
public class OpenGLUtil
{
/**
* Returns <code>true</code> is the specified version of OpenGL is supported by the graphics card (or by its
* driver).<br/>
* Ex: if (isOpenGLSupported(2)) // test for OpenGL 2 compliance
*
* @param version
* the version of OpenGL we want to test for (1 to 4)
*/
public static boolean isOpenGLSupported(int version)
{
return isOpenGLSupported(version, false);
}
/**
* Returns <code>true</code> is the specified version of OpenGL is supported by the graphics card
* (or by its driver).<br/>
* Ex: if (isOpenGLSupported(2, true)) // test if GPU supports OpenGL 2 (hardware support)<br/>
* if (isOpenGLSupported(3, false)) // test if driver support OpenGL 3 (hardware or software implementation)<br/>
*
* @param version
* the version of OpenGL we want to test for (1 to 4)
* @param hard
* specify if we query about hardware support (GPU) or not
*/
public static boolean isOpenGLSupported(int version, boolean hard)
{
try
{
// get maximum supported GL profile
final GLProfile glp = GLProfile.getMaximum(hard);
boolean result = false;
switch (version)
{
case 2:
result |= glp.isGL2();
case 3:
result |= glp.isGL3();
case 4:
result |= glp.isGL4();
}
if ((version > 0) && (version <= 4)) return result;
}
catch (Exception e)
{
// OpenGL throwing error --> just report as not supported
}
return false;
}
}