29package com.jogamp.opengl.test.junit.jogl.acore;
31import com.jogamp.opengl.GL;
32import com.jogamp.opengl.GLAutoDrawable;
33import com.jogamp.opengl.GLCapabilities;
34import com.jogamp.opengl.GLCapabilitiesImmutable;
35import com.jogamp.opengl.GLContext;
36import com.jogamp.opengl.GLDrawableFactory;
37import com.jogamp.opengl.GLEventListener;
38import com.jogamp.opengl.GLException;
39import com.jogamp.opengl.GLProfile;
41import org.junit.Assert;
42import org.junit.FixMethodOrder;
43import org.junit.runners.MethodSorters;
45import com.jogamp.common.os.Platform;
46import com.jogamp.common.util.PropertyAccess;
47import com.jogamp.newt.opengl.GLWindow;
48import com.jogamp.opengl.JoglVersion;
49import com.jogamp.opengl.test.junit.util.NewtTestUtil;
50import com.jogamp.opengl.test.junit.util.UITestCase;
52@FixMethodOrder(MethodSorters.NAME_ASCENDING)
63 Assert.assertTrue(glp.
isGL4bc());
64 Assert.assertTrue(glp.
isGL4());
65 Assert.assertTrue(glp.
isGL3bc());
66 Assert.assertTrue(glp.
isGL3());
67 Assert.assertTrue(glp.
isGL2());
68 Assert.assertFalse(glp.
isGLES3());
69 Assert.assertFalse(glp.
isGLES2());
70 Assert.assertFalse(glp.
isGLES1());
81 Assert.assertTrue(gl.
isGL4bc());
82 Assert.assertTrue(gl.
isGL4());
83 Assert.assertTrue(gl.
isGL3bc());
84 Assert.assertTrue(gl.
isGL3());
85 Assert.assertTrue(gl.
isGL2());
87 if( gles3CompatAvail ) {
95 Assert.assertFalse(gl.
isGLES3());
96 Assert.assertFalse(gl.
isGLES2());
97 Assert.assertFalse(gl.
isGLES1());
99 Assert.assertTrue(ctx.
isGL4bc());
100 Assert.assertTrue(ctx.
isGL4());
101 Assert.assertTrue(ctx.
isGL3bc());
102 Assert.assertTrue(ctx.
isGL3());
103 Assert.assertTrue(ctx.
isGL2());
105 if( gles3CompatAvail ) {
113 Assert.assertFalse(ctx.
isGLES3());
114 Assert.assertFalse(ctx.
isGLES2());
115 Assert.assertFalse(ctx.
isGLES1());
119 Assert.assertFalse(glp.
isGL4bc());
120 Assert.assertTrue(glp.
isGL4());
121 Assert.assertFalse(glp.
isGL3bc());
122 Assert.assertTrue(glp.
isGL3());
123 Assert.assertFalse(glp.
isGL2());
124 Assert.assertFalse(glp.
isGLES3());
125 Assert.assertFalse(glp.
isGLES2());
126 Assert.assertFalse(glp.
isGLES1());
137 Assert.assertFalse(gl.
isGL4bc());
138 Assert.assertTrue(gl.
isGL4());
139 Assert.assertFalse(gl.
isGL3bc());
140 Assert.assertTrue(gl.
isGL3());
141 Assert.assertFalse(gl.
isGL2());
143 if( gles3CompatAvail ) {
151 Assert.assertFalse(gl.
isGLES3());
152 Assert.assertFalse(gl.
isGLES2());
153 Assert.assertFalse(gl.
isGLES1());
155 Assert.assertFalse(ctx.
isGL4bc());
156 Assert.assertTrue(ctx.
isGL4());
157 Assert.assertFalse(ctx.
isGL3bc());
158 Assert.assertTrue(ctx.
isGL3());
159 Assert.assertFalse(ctx.
isGL2());
161 if( gles3CompatAvail ) {
169 Assert.assertFalse(ctx.
isGLES3());
170 Assert.assertFalse(ctx.
isGLES2());
171 Assert.assertFalse(ctx.
isGLES1());
175 Assert.assertFalse(glp.
isGL4bc());
176 Assert.assertFalse(glp.
isGL4());
177 Assert.assertTrue(glp.
isGL3bc());
178 Assert.assertTrue(glp.
isGL3());
179 Assert.assertTrue(glp.
isGL2());
180 Assert.assertFalse(glp.
isGLES3());
181 Assert.assertFalse(glp.
isGLES2());
182 Assert.assertFalse(glp.
isGLES1());
193 Assert.assertFalse(gl.
isGL4bc());
194 Assert.assertFalse(gl.
isGL4());
195 Assert.assertTrue(gl.
isGL3bc());
196 Assert.assertTrue(gl.
isGL3());
197 Assert.assertTrue(gl.
isGL2());
199 if( gles3CompatAvail ) {
207 Assert.assertFalse(gl.
isGLES3());
208 Assert.assertFalse(gl.
isGLES2());
209 Assert.assertFalse(gl.
isGLES1());
211 Assert.assertFalse(ctx.
isGL4bc());
212 Assert.assertFalse(ctx.
isGL4());
213 Assert.assertTrue(ctx.
isGL3bc());
214 Assert.assertTrue(ctx.
isGL3());
215 Assert.assertTrue(ctx.
isGL2());
217 if( gles3CompatAvail ) {
225 Assert.assertFalse(ctx.
isGLES3());
226 Assert.assertFalse(ctx.
isGLES2());
227 Assert.assertFalse(ctx.
isGLES1());
231 Assert.assertFalse(glp.
isGL4bc());
232 Assert.assertFalse(glp.
isGL4());
233 Assert.assertFalse(glp.
isGL3bc());
234 Assert.assertTrue(glp.
isGL3());
235 Assert.assertFalse(glp.
isGL2());
236 Assert.assertFalse(glp.
isGLES3());
237 Assert.assertFalse(glp.
isGLES2());
238 Assert.assertFalse(glp.
isGLES1());
249 Assert.assertFalse(gl.
isGL4bc());
250 Assert.assertFalse(gl.
isGL4());
251 Assert.assertFalse(gl.
isGL3bc());
252 Assert.assertTrue(gl.
isGL3());
253 Assert.assertFalse(gl.
isGL2());
255 if( gles3CompatAvail ) {
263 Assert.assertFalse(gl.
isGLES3());
264 Assert.assertFalse(gl.
isGLES2());
265 Assert.assertFalse(gl.
isGLES1());
267 Assert.assertFalse(ctx.
isGL4bc());
268 Assert.assertFalse(ctx.
isGL4());
269 Assert.assertFalse(ctx.
isGL3bc());
270 Assert.assertTrue(ctx.
isGL3());
271 Assert.assertFalse(ctx.
isGL2());
273 if( gles3CompatAvail ) {
281 Assert.assertFalse(ctx.
isGLES3());
282 Assert.assertFalse(ctx.
isGLES2());
283 Assert.assertFalse(ctx.
isGLES1());
287 Assert.assertFalse(glp.
isGL4bc());
288 Assert.assertFalse(glp.
isGL4());
289 Assert.assertFalse(glp.
isGL3bc());
290 Assert.assertFalse(glp.
isGL3());
291 Assert.assertTrue(glp.
isGL2());
292 Assert.assertFalse(glp.
isGLES3());
293 Assert.assertFalse(glp.
isGLES2());
294 Assert.assertFalse(glp.
isGLES1());
305 Assert.assertFalse(gl.
isGL4bc());
306 Assert.assertFalse(gl.
isGL4());
307 Assert.assertFalse(gl.
isGL3bc());
308 Assert.assertFalse(gl.
isGL3());
309 Assert.assertTrue(gl.
isGL2());
315 Assert.assertFalse(gl.
isGLES3());
316 Assert.assertFalse(gl.
isGLES2());
317 Assert.assertFalse(gl.
isGLES1());
319 Assert.assertFalse(ctx.
isGL4bc());
320 Assert.assertFalse(ctx.
isGL4());
321 Assert.assertFalse(ctx.
isGL3bc());
322 Assert.assertFalse(ctx.
isGL3());
323 Assert.assertTrue(ctx.
isGL2());
327 Assert.assertFalse(gles3CompatAvail);
330 Assert.assertFalse(ctx.
isGLES3());
331 Assert.assertFalse(ctx.
isGLES2());
332 Assert.assertFalse(ctx.
isGLES1());
336 Assert.assertFalse(glp.
isGL4bc());
337 Assert.assertFalse(glp.
isGL4());
338 Assert.assertFalse(glp.
isGL3bc());
339 Assert.assertFalse(glp.
isGL3());
340 Assert.assertFalse(glp.
isGL2());
341 Assert.assertTrue(glp.
isGLES3());
342 Assert.assertTrue(glp.
isGLES2());
343 Assert.assertFalse(glp.
isGLES1());
354 Assert.assertFalse(gl.
isGL4bc());
355 Assert.assertFalse(gl.
isGL4());
356 Assert.assertFalse(gl.
isGL3bc());
357 Assert.assertFalse(gl.
isGL3());
358 Assert.assertFalse(gl.
isGL2());
364 Assert.assertTrue(gl.
isGLES3());
365 Assert.assertTrue(gl.
isGLES2());
366 Assert.assertFalse(gl.
isGLES1());
368 Assert.assertFalse(ctx.
isGL4bc());
369 Assert.assertFalse(ctx.
isGL4());
370 Assert.assertFalse(ctx.
isGL3bc());
371 Assert.assertFalse(ctx.
isGL3());
372 Assert.assertFalse(ctx.
isGL2());
376 Assert.assertTrue(gles3CompatAvail);
379 Assert.assertTrue(ctx.
isGLES3());
380 Assert.assertTrue(ctx.
isGLES2());
381 Assert.assertFalse(ctx.
isGLES1());
385 Assert.assertFalse(glp.
isGL4bc());
386 Assert.assertFalse(glp.
isGL4());
387 Assert.assertFalse(glp.
isGL3bc());
388 Assert.assertFalse(glp.
isGL3());
389 Assert.assertFalse(glp.
isGL2());
390 Assert.assertFalse(glp.
isGLES3());
391 Assert.assertTrue(glp.
isGLES2());
392 Assert.assertFalse(glp.
isGLES1());
403 Assert.assertFalse(gl.
isGL4bc());
404 Assert.assertFalse(gl.
isGL4());
405 Assert.assertFalse(gl.
isGL3bc());
406 Assert.assertFalse(gl.
isGL3());
407 Assert.assertFalse(gl.
isGL2());
413 Assert.assertFalse(gl.
isGLES3());
414 Assert.assertTrue(gl.
isGLES2());
415 Assert.assertFalse(gl.
isGLES1());
417 Assert.assertFalse(ctx.
isGL4bc());
418 Assert.assertFalse(ctx.
isGL4());
419 Assert.assertFalse(ctx.
isGL3bc());
420 Assert.assertFalse(ctx.
isGL3());
421 Assert.assertFalse(ctx.
isGL2());
425 Assert.assertFalse(gles3CompatAvail);
428 Assert.assertFalse(ctx.
isGLES3());
429 Assert.assertTrue(ctx.
isGLES2());
430 Assert.assertFalse(ctx.
isGLES1());
434 Assert.assertFalse(glp.
isGL4bc());
435 Assert.assertFalse(glp.
isGL4());
436 Assert.assertFalse(glp.
isGL3bc());
437 Assert.assertFalse(glp.
isGL3());
438 Assert.assertFalse(glp.
isGL2());
439 Assert.assertFalse(glp.
isGLES3());
440 Assert.assertFalse(glp.
isGLES2());
441 Assert.assertTrue(glp.
isGLES1());
452 Assert.assertFalse(gl.
isGL4bc());
453 Assert.assertFalse(gl.
isGL4());
454 Assert.assertFalse(gl.
isGL3bc());
455 Assert.assertFalse(gl.
isGL3());
456 Assert.assertFalse(gl.
isGL2());
462 Assert.assertFalse(gl.
isGLES3());
463 Assert.assertFalse(gl.
isGLES2());
464 Assert.assertTrue(gl.
isGLES1());
466 Assert.assertFalse(ctx.
isGL4bc());
467 Assert.assertFalse(ctx.
isGL4());
468 Assert.assertFalse(ctx.
isGL3bc());
469 Assert.assertFalse(ctx.
isGL3());
470 Assert.assertFalse(ctx.
isGL2());
474 Assert.assertFalse(gles3CompatAvail);
477 Assert.assertFalse(ctx.
isGLES3());
478 Assert.assertFalse(ctx.
isGLES2());
479 Assert.assertTrue(ctx.
isGLES1());
484 validateGLProfileGL4bc(glp);
486 validateGLProfileGL3bc(glp);
487 }
else if(glp.
isGL2()) {
488 validateGLProfileGL2(glp);
489 }
else if(glp.
isGL4()) {
490 validateGLProfileGL4(glp);
491 }
else if(glp.
isGL3()) {
492 validateGLProfileGL3(glp);
494 throw new GLException(
"GL2GL3 is neither GL4bc, GL3bc, GL2, GL4 nor GL3");
502 }
else if(gl.
isGL2()) {
504 }
else if(gl.
isGL4()) {
506 }
else if(gl.
isGL3()) {
509 throw new GLException(
"GL2GL3 is neither GL4bc, GL3bc, GL2, GL4 nor GL3");
515 validateGLProfileGL4bc(glp);
516 }
else if( glp.
isGL4() ) {
517 validateGLProfileGL4(glp);
519 validateGLProfileGLES3(glp);
521 throw new GLException(
"GL4ES3 is neither GL4bc, GL4 nor GLES3");
527 }
else if( gl.
isGL4() ) {
532 throw new GLException(
"GL4ES3 is neither GL4bc, GL4 nor GLES3");
538 validateGLProfileGL4bc(glp);
540 validateGLProfileGL3bc(glp);
541 }
else if(glp.
isGL2()) {
542 validateGLProfileGL2(glp);
543 }
else if(glp.
isGL4()) {
544 validateGLProfileGL4(glp);
545 }
else if(glp.
isGL3()) {
546 validateGLProfileGL3(glp);
548 validateGLProfileGLES3(glp);
550 validateGLProfileGLES2(glp);
552 throw new GLException(
"GL2ES2 is neither GL4bc, GL3bc, GL2, GL4, GL3, GLES3 nor GLES2");
560 }
else if(gl.
isGL2()) {
562 }
else if(gl.
isGL4()) {
564 }
else if(gl.
isGL3()) {
571 throw new GLException(
"GL2ES2 is neither GL4bc, GL3bc, GL2, GL4, GL3, GLES3 nor GLES2");
577 validateGLProfileGL4bc(glp);
579 validateGLProfileGL3bc(glp);
580 }
else if(glp.
isGL2()) {
581 validateGLProfileGL2(glp);
583 validateGLProfileGLES1(glp);
585 throw new GLException(
"GL2ES1 is neither GL4bc, GL3bc, GL2 nor GLES1");
593 }
else if(gl.
isGL2()) {
598 throw new GLException(
"GL2ES1 is neither GL4bc, GL3bc, GL2 nor GLES1");
603 System.err.println(
"GLProfile Mapping "+requestedProfile+
" -> "+glp);
613 if( gles3CompatAvail ) {
636 if( gles3CompatAvail ) {
648 if( gles3CompatAvail ) {
662 validateGLProfileGL4bc(glp);
664 validateGLProfileGL3bc(glp);
665 }
else if(glp.
isGL2()) {
666 validateGLProfileGL2(glp);
667 }
else if(glp.
isGL4()) {
668 validateGLProfileGL4(glp);
669 }
else if(glp.
isGL3()) {
670 validateGLProfileGL3(glp);
672 validateGLProfileGLES3(glp);
674 validateGLProfileGLES2(glp);
676 validateGLProfileGLES1(glp);
680 validateGLProfileGL4bc(glp);
682 validateGLProfileGL3bc(glp);
684 validateGLProfileGL2(glp);
686 validateGLProfileGL4(glp);
688 validateGLProfileGL3(glp);
690 validateGLProfileGLES3(glp);
692 validateGLProfileGLES2(glp);
694 validateGLProfileGLES1(glp);
696 validateGLProfileGL2GL3(glp);
698 validateGLProfileGL4ES3(glp);
700 validateGLProfileGL2ES2(glp);
702 validateGLProfileGL2ES1(glp);
711 System.err.println(
"GLContext Mapping "+requestedProfile+
" -> "+glpReq+
" -> "+glp+
" -> "+ctx.
getGLVersion());
713 System.err.println(
"GL impl. class "+gl.getClass().getName());
715 Assert.assertNotNull( gl.
getGL4() );
716 System.err.println(
"GL Mapping "+glp+
" -> GL4");
719 Assert.assertNotNull( gl.
getGL4bc() );
720 System.err.println(
"GL Mapping "+glp+
" -> GL4bc");
723 Assert.assertNotNull( gl.
getGL3() );
724 System.err.println(
"GL Mapping "+glp+
" -> GL3");
727 Assert.assertNotNull( gl.
getGL3bc() );
728 System.err.println(
"GL Mapping "+glp+
" -> GL3bc");
731 Assert.assertNotNull( gl.
getGL2() );
732 System.err.println(
"GL Mapping "+glp+
" -> GL2");
735 Assert.assertNotNull( gl.
getGLES3() );
736 System.err.println(
"GL Mapping "+glp+
" -> GLES3");
739 Assert.assertNotNull( gl.
getGLES2() );
740 System.err.println(
"GL Mapping "+glp+
" -> GLES2");
743 Assert.assertNotNull( gl.
getGLES1() );
744 System.err.println(
"GL Mapping "+glp+
" -> GLES1");
748 System.err.println(
"GL Mapping "+glp+
" -> GL4ES3");
752 System.err.println(
"GL Mapping "+glp+
" -> GL3ES3");
756 System.err.println(
"GL Mapping "+glp+
" -> GL2GL3");
760 System.err.println(
"GL Mapping "+glp+
" -> GL2ES2");
764 System.err.println(
"GL Mapping "+glp+
" -> GL2ES1");
771 }
else if(gl.
isGL2()) {
773 }
else if(gl.
isGL4()) {
775 }
else if(gl.
isGL3()) {
793 throw new GLException(
"GL3bc is neither GL4bc nor GL3bc");
800 }
else if( gl.
isGL2() ) {
803 throw new GLException(
"GL2 is neither GL4bc, GL3bc, GL2");
808 }
else if( gl.
isGL4() ) {
811 throw new GLException(
"GL4 is neither GL4bc, nor GL4");
818 }
else if( gl.
isGL4() ) {
820 }
else if( gl.
isGL3() ) {
823 throw new GLException(
"GL3 is neither GL4bc, GL3bc, GL4 nor GL3");
833 throw new GLException(
"GLES2 is neither GLES3 nor GLES2");
851 Assert.assertNotNull(glWindow);
852 glWindow.
setTitle(getSimpleTestName(
"."));
857 final GL gl = drawable.
getGL();
860 validateOnline(requestedProfile, glp, gl);
863 public void reshape(
final GLAutoDrawable drawable,
final int x,
final int y,
final int width,
final int height) {
881 final boolean isOSX = Platform.OSType.MACOS == Platform.getOSType();
882 final boolean disableOpenGLARBContext =
null != System.getProperty(
"jogl.disable.openglarbcontext") && !isOSX;
883 if( disableOpenGLARBContext ) {
884 Assert.assertFalse(
"Property 'jogl.disable.openglarbcontext' set, but created w/ ARB",
893 throws InterruptedException {
896 Assert.assertNotNull(glad);
900 final GL gl = drawable.
getGL();
903 validateOnline(requestedProfile, caps.getGLProfile(), gl);
906 public void reshape(
final GLAutoDrawable drawable,
final int x,
final int y,
final int width,
final int height) {
918 final boolean isOSX = Platform.OSType.MACOS == Platform.getOSType();
919 final boolean disableOpenGLARBContext = PropertyAccess.isPropertyDefined(
"jogl.disable.openglarbcontext",
true) && !isOSX;
920 if( disableOpenGLARBContext ) {
921 Assert.assertFalse(
"Property 'jogl.disable.openglarbcontext' set, but created w/ ARB",
An implementation of GLAutoDrawable and Window interface, using a delegated Window instance,...
final void setTitle(final String title)
final void setSize(final int width, final int height)
Sets the size of the window's client area in window units, excluding decorations.
final void setVisible(final boolean visible)
Calls setVisible(true, visible), i.e.
final void destroy()
Destroys all resources associated with this GLAutoDrawable, inclusive the GLContext.
static GLWindow create(final GLCapabilitiesImmutable caps)
Creates a new GLWindow attaching a new Window referencing a new default Screen and default Display wi...
Specifies a set of OpenGL capabilities.
Abstraction for an OpenGL rendering context.
static final boolean isGLES3CompatibleAvailable(final AbstractGraphicsDevice device)
Returns true if a ES3 compatible profile is available, i.e.
final boolean isGL2()
Indicates whether this GLContext is capable of GL2.
final boolean isGL4bc()
Indicates whether this GLContext is capable of GL4bc.
final boolean isGL2GL3()
Indicates whether this GLContext is capable of GL2GL3.
final boolean isGL3()
Indicates whether this GLContext is capable of GL3.
final boolean isCreatedWithARBMethod()
final boolean isGL2ES2()
Indicates whether this GLContext is capable of GL2ES2.
final boolean isGLES3Compatible()
Return true if this context is an ES3 context or implements the extension GL_ARB_ES3_compatibility,...
final boolean isGL3ES3()
Indicates whether this GLContext is capable of GL3ES3.
final boolean isGLES2()
Indicates whether this GLContext is capable of GLES2.
final boolean isGLES3()
Indicates whether this GLContext is capable of GLES3.
final boolean isGL2ES1()
Indicates whether this GLContext is capable of GL2ES1.
final boolean isGLES1()
Indicates whether this GLContext is capable of GLES1.
final String getGLVersion()
Returns a valid OpenGL version string, ie
final boolean isGL4()
Indicates whether this GLContext is capable of GL4.
final boolean isGL3bc()
Indicates whether this GLContext is capable of GL3bc.
final boolean isGL4ES3()
Returns true if this profile is capable of GL4ES3, i.e.
abstract GLOffscreenAutoDrawable createOffscreenAutoDrawable(AbstractGraphicsDevice device, GLCapabilitiesImmutable caps, GLCapabilitiesChooser chooser, int width, int height)
Creates a realized GLOffscreenAutoDrawable incl it's offscreen NativeSurface with the given capabilit...
static GLDrawableFactory getFactory(final GLProfile glProfile)
Returns the sole GLDrawableFactory instance.
A generic exception for OpenGL errors used throughout the binding as a substitute for RuntimeExceptio...
Specifies the the OpenGL profile.
static boolean isAvailable(final AbstractGraphicsDevice device, final String profile)
Returns the availability of a profile on a device.
final boolean isGLES3()
Indicates whether this profile is capable of GLES3.
static final String GLES3
The embedded OpenGL profile ES 3.x, with x >= 0.
static final String GL2ES2
The intersection of the desktop GL3, GL2 and embedded ES2 profile.
final boolean isGLES2()
Indicates whether this profile is capable of GLES2.
static final String GL3
The desktop OpenGL core profile 3.x, with x >= 1.
final boolean isGL4ES3()
Indicates whether this profile is capable of GL4ES3.
static final String GLES2
The embedded OpenGL profile ES 2.x, with x >= 0.
final boolean isGL2ES2()
Indicates whether this profile is capable of GL2ES2.
static final String GL4bc
The desktop OpenGL compatibility profile 4.x, with x >= 0, ie GL2 plus GL4.
final boolean isGL4bc()
Indicates whether this profile is capable of GL4bc.
static final String GL2GL3
The intersection of the desktop GL3 and GL2 profile.
final boolean isGLES1()
Indicates whether this profile is capable of GLES1.
final boolean isGL4()
Indicates whether this profile is capable of GL4.
final boolean isGL3ES3()
Indicates whether this profile is capable of GL3ES3.
final boolean isGL2GL3()
Indicates whether this profile is capable of GL2GL3.
static AbstractGraphicsDevice getDefaultDevice()
static final String GL3bc
The desktop OpenGL compatibility profile 3.x, with x >= 1, ie GL2 plus GL3.
static final String GL2
The desktop OpenGL profile 1.x up to 3.0.
final boolean isGL2ES1()
Indicates whether this profile is capable of GL2ES1.
final boolean isGL3bc()
Indicates whether this profile is capable of GL3bc.
static final String GLES1
The embedded OpenGL profile ES 1.x, with x >= 0.
final String getImplName()
return this profiles implementation name, eg.
static final String GL4ES3
The intersection of the desktop GL4 and ES3 profile, available only if either ES3 or GL4 w/ GL_ARB_ES...
static final String GL4
The desktop OpenGL core profile 4.x, with x >= 0.
final boolean isGL3()
Indicates whether this profile is capable of GL3.
final boolean isGL2()
Indicates whether this profile is capable of GL2 .
static final String GL2ES1
The intersection of the desktop GL2 and embedded ES1 profile.
static StringBuilder getGLStrings(final GL gl, final StringBuilder sb)
static void validateGLProfileGL4ES3(final GLProfile glp)
static void validateGL4bc(final GL gl)
static void validateGLProfileGL2(final GLProfile glp)
static void validateGLProfileGLES3(final GLProfile glp)
static void validateGLProfileGL2ES2(final GLProfile glp)
static void validateGL4ES3(final GL gl)
static void validateGL4(final GL gl)
static void validateGL2(final GL gl)
static void validateOffline(final String requestedProfile, final GLProfile glp)
static void validateGL2ES1(final GL gl)
static void validateGL2GL3(final GL gl)
static void validateGLProfileGL3(final GLProfile glp)
static void validateGLProfileGL3bc(final GLProfile glp)
static void validateOnline(final String requestedProfile, final GLProfile glpReq, final GL gl)
static void validateGL2ES2(final GL gl)
static void validateGLES2(final GL gl)
static void validateGLProfileGLES2(final GLProfile glp)
static void validateGLProfileGL4bc(final GLProfile glp)
static void validateGLProfileGL2ES1(final GLProfile glp)
void validateOnlineOffscreen(final String requestedProfile, final GLCapabilitiesImmutable caps)
static void validateGL3bc(final GL gl)
static void validateGLES3(final GL gl)
static void validateGLProfileGL2GL3(final GLProfile glp)
static void validateGLES1(final GL gl)
void validateOnlineOnscreen(final String requestedProfile, final GLProfile glp)
static void validateGLProfileGL4(final GLProfile glp)
static void validateGLProfileGLES1(final GLProfile glp)
static void validateGL3(final GL gl)
static boolean waitForRealized(final Screen screen, final boolean realized, final Runnable waitAction)
static boolean waitForVisible(final Window win, final boolean visible, final Runnable waitAction)
A higher-level abstraction than GLDrawable which supplies an event based mechanism (GLEventListener) ...
GL getGL()
Returns the GL pipeline object this GLAutoDrawable uses.
void addGLEventListener(GLEventListener listener)
Adds the given listener to the end of this drawable queue.
void destroy()
Destroys all resources associated with this GLAutoDrawable, inclusive the GLContext.
GLContext getContext()
Returns the context associated with this drawable.
GLES1 getGLES1()
Casts this object to the GLES1 interface.
boolean isGL2GL3()
Indicates whether this GL object conforms to a GL2GL3 compatible profile.
boolean isGL2ES1()
Indicates whether this GL object conforms to a GL2ES1 compatible profile.
GL4ES3 getGL4ES3()
Casts this object to the GL4ES3 interface.
GL2ES1 getGL2ES1()
Casts this object to the GL2ES1 interface.
boolean isGL4bc()
Indicates whether this GL object conforms to the OpenGL ≥ 4.0 compatibility profile.
boolean isGL3ES3()
Indicates whether this GL object conforms to a GL3ES3 compatible profile.
GL2ES2 getGL2ES2()
Casts this object to the GL2ES2 interface.
GL4 getGL4()
Casts this object to the GL4 interface.
GLProfile getGLProfile()
Returns the GLProfile associated with this GL object.
GL3 getGL3()
Casts this object to the GL3 interface.
boolean isGL3()
Indicates whether this GL object conforms to the OpenGL ≥ 3.1 core profile.
boolean isGL2()
Indicates whether this GL object conforms to the OpenGL ≤ 3.0 profile.
boolean isGL2ES2()
Indicates whether this GL object conforms to a GL2ES2 compatible profile.
GL3bc getGL3bc()
Casts this object to the GL3bc interface.
boolean isGLES1()
Indicates whether this GL object conforms to the OpenGL ES ≥ 1.0 profile.
GLContext getContext()
Returns the GLContext associated which this GL object.
GLES2 getGLES2()
Casts this object to the GLES2 interface.
boolean isGLES3()
Indicates whether this GL object conforms to the OpenGL ES ≥ 3.0 profile.
boolean isGL4ES3()
Returns true if this GL object conforms to a GL4ES3 compatible profile, i.e.
GL2 getGL2()
Casts this object to the GL2 interface.
GLES3 getGLES3()
Casts this object to the GLES3 interface.
GL3ES3 getGL3ES3()
Casts this object to the GL3ES3 interface.
GL4bc getGL4bc()
Casts this object to the GL4bc interface.
boolean isGL3bc()
Indicates whether this GL object conforms to the OpenGL ≥ 3.1 compatibility profile.
boolean isGL4()
Indicates whether this GL object conforms to the OpenGL ≥ 4.0 core profile.
GL2GL3 getGL2GL3()
Casts this object to the GL2GL3 interface.
boolean isGLES2()
Indicates whether this GL object conforms to the OpenGL ES ≥ 2.0 profile.
Specifies an immutable set of OpenGL capabilities.
Declares events which client code can use to manage OpenGL rendering into a GLAutoDrawable.