aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/com/sun/opengl/impl
Commit message (Collapse)AuthorAgeFilesLines
* Factored out the remaining toolkit, and specifically AWT, dependenciesKenneth Russel2008-12-2017-651/+836
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from GLDrawableFactory implementations into NativeWindowFactory implementations. These dependencies were the up-front selection of the GraphicsConfiguration and the locking and unlocking of the toolkit, which are both currently needed only on X11 platforms due to how OpenGL and the window system interact there. Added X11GraphicsDevice and X11GraphicsConfiguration classes which are intended to be used by Newt or potentially other third-party window toolkits. Unified the separate NativeWindow and AWT GLDrawableFactory implementations in the GLDrawableFactory class. Exposed the toolkit locking mechanism through the NativeWindowFactory and introduced the concept of a default NativeWindowFactory which is used by the X11 drawable and context implementations. Removed unnecessary toolkit locking calls from Mac OS X and Windows drawable and context implementations. Added a registration mechanism for new NativeWindowFactories, allowing third parties to plug in new window toolkits orthogonally to the OpenGL drawable and context code. The public APIs for the NativeWindowFactory and the GLDrawableFactory, in particular how they are fetched, changed as a result of these refactorings. Updated all uses. Fixed bug in X11OffscreenGLXDrawable introduced during last set of changes. Tested demos on Solaris, Mac OS X and Windows. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1824 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed setSize(), setPosition(), setVisible(), and setFullscreen()Kenneth Russel2008-12-1617-130/+46
| | | | | | | | | | | | from javax.media.opengl.NativeWindow interface as these are concerns of the window toolkit and not the OpenGL binding. Removed isVisible(), isFullscreen(), getX(), and getY(). getWidth() and getHeight() remain. Changed implementations of offscreen and pbuffer drawables and changed GLJPanel to destroy and re-create its offscreen GLDrawable upon resize rather than attempting to resize the GLDrawable directly. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1823 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed nested toolkit locking problem with X11PbufferGLXDrawable. WithKenneth Russel2008-12-1416-57/+92
| | | | | | | | | | this fix pbuffers and the GLJPanel are working again on X11 platforms. Moved lockToolkit, unlockToolkit and isToolkitLocked from GLDrawableFactory to GLDrawableFactoryImpl. Updated all call sites. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1819 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed initialization of chosen GLCapabilities on X11 platforms forKenneth Russel2008-12-132-5/+12
| | | | | | | on-screen GLDrawables git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1818 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed NullPointerException during GLDrawable creation on X11 platformsKenneth Russel2008-12-131-1/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1817 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in pbuffer support on Mac OS X due to confusion about whatKenneth Russel2008-12-122-27/+12
| | | | | | | | the native window's surface handle contains. Fixed bug in computation of chosen GLCapabilities on Mac OS X. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1816 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed breakage of GLJPanel caused by confusion between requested and Kenneth Russel2008-12-1217-82/+92
| | | | | | | | | | | | | chosen GLCapabilities. Separated these out and refactored requested GLCapabilities into GLDrawableImpl superclass. Removed setChosenGLCapabilities from the public API and made it protected on GLDrawableImpl. Removed it from all public GLDrawable implementations such as GLCanvas and GLJPanel. Fixed bug in Gears demo where mouse listener was not being hooked up correctly. Tested so far on Windows; testing on other platforms to follow. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1815 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made compaction support optional in BackingStoreManager, and thereforeKenneth Russel2008-12-072-10/+35
| | | | | | | | | RectanglePacker, to make it easier for clients to get up and running; note that this also disallows expansion. Changed additionFailed to return a boolean. Updated GL2TextRenderer appropriately. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1814 232f8b59-042b-4e1e-8c03-345bb8c30851
* ../jogl.logSven Gothel2008-11-271-1/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1810 232f8b59-042b-4e1e-8c03-345bb8c30851
* KD Fix: Use EGL AttributeList directlySven Gothel2008-11-272-2/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1809 232f8b59-042b-4e1e-8c03-345bb8c30851
* Newt-KD: window working, pointer event buggySven Gothel2008-11-262-1/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1806 232f8b59-042b-4e1e-8c03-345bb8c30851
* Newt WindowSven Gothel2008-11-264-69/+197
| | | | | | | | | | | | | | | | | | | - Uses GLCapabilities for window creation - Note: This is implemented in the new KDWindow only, for now. - FIXME: Respect GLCapabilities for other implementations (X11, MacOS, Windows) visualID shall be determined by GLCapabilities, and set to 0 if not implemented. - New OpenKODE KDWindow - Compile native code at with 'ant -DuseKD=true' - Use KD in newt with the Java property set newt.ws.name=KD - API change: NewtFactory.createWindow() takes GLCapabilities insteast of a fake visualID git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1804 232f8b59-042b-4e1e-8c03-345bb8c30851
* Replaced implementation of GLU Registry.gluCheckExtension withKenneth Russel2008-11-251-8/+6
| | | | | | | something CVM-compatible git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1803 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLU_TESS_AVOID_DEGENERATE_TRIANGLES boolean property to the GLUKenneth Russel2008-11-243-4/+67
| | | | | | | | | | | tessellator to try to improve the triangulation to support antialiasing in the JavaFX graphics stack. The new code largely works as intended, but is not as robust as desired, and also does not completely solve the problem. Checking in nonetheless to checkpoint the work. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1802 232f8b59-042b-4e1e-8c03-345bb8c30851
* proper EGL version attr settingSven Gothel2008-11-232-9/+14
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1801 232f8b59-042b-4e1e-8c03-345bb8c30851
* Temp. hack to un-break CVM build. Check my comments inlineSven Gothel2008-11-221-2/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1800 232f8b59-042b-4e1e-8c03-345bb8c30851
* Incooperate cleaned up pathSven Gothel2008-11-212-2/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1798 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added parsing of OpenGL version string back intoKenneth Russel2008-11-211-0/+155
| | | | | | | | ExtensionAvailabilityCache, and addition of synthetic GL_VERSION_x_y extensions, for compatibility with previous versions of desktop JOGL git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1797 232f8b59-042b-4e1e-8c03-345bb8c30851
* EGLDrawable: Update the capabilities to the chosen one by EGLSven Gothel2008-11-191-1/+21
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1793 232f8b59-042b-4e1e-8c03-345bb8c30851
* cleanupSven Gothel2008-11-141-3/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1789 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added function name aliasing for 'isFunctionAvailable' dyn lookup caseSven Gothel2008-11-141-2/+11
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1788 232f8b59-042b-4e1e-8c03-345bb8c30851
* - EGLSven Gothel2008-11-142-4/+37
| | | | | | | | | | | | | | | | | | | | | - Adding 'eglGetProcAddress(long eglGetProcAddressHandle, String funcName)', to be able to bootstrap 'eglGetProcAddress'. - EGLDrawableFactory - Adding ES2 libname GLES20 - Adding dynamicLookupFunctionOnLibs: Lookup in the libraries (dlsym) - Change dynamicLookupFunction: - Bootstrap 'eglGetProcAddress' first - 1st try eglGetProcAddress - 2nd try dynamicLookupFunctionOnLibs - GLContextImpl.isFunctionAvailable() - 1st try GL proc table (cached) - 2nd try platform extension proc table (cached) - 3rd try EGLDrawableFactory.dynamicLookupFunction (not cached) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1787 232f8b59-042b-4e1e-8c03-345bb8c30851
* Rollback: EGLConfig back to wrapped buffer, since long nio buffers are not ↵Sven Gothel2008-11-132-6/+6
| | | | | | available on CVM git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1786 232f8b59-042b-4e1e-8c03-345bb8c30851
* - Removed StaticGLInfo usage.Sven Gothel2008-11-138-441/+265
| | | | | | | | | | | | | | | | | | | | | | | Function availability is checked by the dynamic ProcAddressTable, so it works as described/desired and removed around 30 kB of text. - Adding EGLExt to support EGLImage to share video buffers between another API (e.g. OpenMax) - EGL: Added platform extension query support - EGLClientBuffer is opaque long - GLXExt: Removed duplicated enumerates from GLX - GLContext: Promoted getPlatformExtensionsString() - GLProfile.setProfile<GL*>(void) changed order of setting the GL profile to: highest -> lowest: GL2 .. GL2ES12 .. GLES2 .. GLES1 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1784 232f8b59-042b-4e1e-8c03-345bb8c30851
* X11 getPlatformExtensionsString shall use the toolkit lookingSven Gothel2008-11-071-2/+8
| | | | | | | optional, since it could be called from a locked state, e.g. setSwapInterval. Done. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1783 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fix: TextureIO.java* DDSImage.java* (Relocation of io utils)Sven Gothel2008-09-021-3/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1767 232f8b59-042b-4e1e-8c03-345bb8c30851
* Relocated common io helper from com.*.util.io -> com.*.impl.ioSven Gothel2008-09-023-0/+295
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1766 232f8b59-042b-4e1e-8c03-345bb8c30851
* BufferUtil:Sven Gothel2008-08-292-13/+7
| | | | | | | | | | | | | | | | | - new GL type tools - new put methods ImmModeSink: - using 1 VBO array for 1-4 attributes GLArrayData - split into GLArrayData and GLArrayDataEditable, the latter of modifying purposes only - GLArrayDataWrapper implements a container only git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1764 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added missing SystemUtils. Added proper GLSL ArrayData validationSven Gothel2008-08-212-0/+28
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1763 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleanup GLArrayData*, misc stuffSven Gothel2008-08-214-67/+137
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1762 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixing repo (shader directory, removal)Sven Gothel2008-08-1829-561/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1761 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixing repo (shader directory)Sven Gothel2008-08-1818-0/+322
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1760 232f8b59-042b-4e1e-8c03-345bb8c30851
* Applied patch from Rick Brownrigg from NASA to fix GLU tessellator Kenneth Russel2008-08-182-2/+3
| | | | | | | error reporting git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1759 232f8b59-042b-4e1e-8c03-345bb8c30851
* ShaderState:Sven Gothel2008-08-147-19/+67
| | | | | | | | | | | | | | - reset: - lookup attributes first and process, if available - update the location in the state Fixed: - Add: CullFace (lill speed enhancement with textures) - Note: APX 2500 doesn't support blending, disregarding the ES 2.0 spec Blending must be implemented in the shader. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1756 232f8b59-042b-4e1e-8c03-345bb8c30851
* GLArrayData*Sven Gothel2008-08-132-16/+17
| | | | | | | | | | | | | | | | | | | | | - cleanup names and enable/disable code - bail out if components==0 in GL* impl. - add passing the VBO name for wrapping VBO server objects from the fixed function calls ShaderState: - reset: - only pass _enabled_ vertex attribute data in case of a reset - enable VBO in case of a wrapped VBO server object Fixed: - Added glMaterialf to GL (enables Angeles demo) - Working: Angeles on ES2 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1755 232f8b59-042b-4e1e-8c03-345bb8c30851
* Ooops .. (repairing)Sven Gothel2008-08-122-1/+10
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1754 232f8b59-042b-4e1e-8c03-345bb8c30851
* Proper ES2 demo with precompiled shader (cleanup)Sven Gothel2008-08-121-9/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1753 232f8b59-042b-4e1e-8c03-345bb8c30851
* Proper ES2 demo with precompiled shaderSven Gothel2008-08-121-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1752 232f8b59-042b-4e1e-8c03-345bb8c30851
* GLWindow: Added perf logging; FBO: adjusted texture format; Fixed: ↵Sven Gothel2008-08-122-2/+3
| | | | | | ColorTexture fix for ES2 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1750 232f8b59-042b-4e1e-8c03-345bb8c30851
* Working:Sven Gothel2008-08-1220-64/+358
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | APX 2500 ES 2.0 + FixedFunction GLSL ES 1.0 +++ javax.media.opengl.glsl - Shader and program state management - Loading and merging shader source code - Loading binaries incl. auto selection of the binary file in respect to the supported binary format. I.e. in case of GLES2.GL_NVIDIA_PLATFORM_BINARY_NV: source: com/sun/opengl/impl/glsl/fixed/shader/ashader.fp binary: com/sun/opengl/impl/glsl/fixed/shader/bin/nvidia/ashader.bfp ShaderCode sc = ShaderCode.create( gl, gl.GL_VERTEX_SHADER, 1, FixedFuncPipeline.class, "shader", "shader/bin", "ashader"); (Derivation of com.sun.javafx.graphics.gl2es2.ShaderUtil) javax.media.opengl.sdk.glsl CompileShaderNVidia implements abstract CompileShader Toolkit to convert JOGL shader source to binaries, according to the location rule as described in ShaderCode. Example: Converts all fixed function shader to binaries. jogl/src/classes/com/sun/opengl/impl/glsl/fixed/shader/scripts/nvidia-apx/glslc-ff.bat (Generalization of com.sun.javafx.graphics.gl2es2.PrecompileNVShader) +++ Fixed function now resides in 'jogl.fixed.jar' - contains shader source and binaries - contains the implementation GL2ES2: - removed glShaderBinaryOrSource() - use glCreateLoadShader() for binary and glCreateCompileShader() for source - using addition glGetError() check for shader upload/compilation - Skipping 'glValidateProgram' in case of ES2 and no compiler, since it fails on APX2500 .. - added: (caching the results) "public Set glGetShaderBinaryFormats()" "public boolean glShaderCompilerAvailable()" - shader-name and binary-data buffer: use 'remaining()' instead of 'limit()' BufferUtil: - adding variant: <Type>Buffer new<Type>Buffer(<type>[] values, int offset, int len) +++ Working on all profiles ES1 + ES2 (CVM) with lighting: demo.es1.cube.Cube demo.es1.cube.CubeImmModeSink demo.es1.cubefbo.Main javabullet.demos.genericjoint.GenericJointDemo git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1749 232f8b59-042b-4e1e-8c03-345bb8c30851
* FixedFunction shader as files, prepared for binary shader filesSven Gothel2008-08-1116-275/+278
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1748 232f8b59-042b-4e1e-8c03-345bb8c30851
* Minor CVM/ES1 fixesSven Gothel2008-08-114-20/+51
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1747 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed unnecessary GL2 dependencies from desktop window system code. Kenneth Russel2008-08-084-20/+1
| | | | | | | | | | | | Moved Linux-specific DRIHack into shared code so it could be called from the common code path in GLProfile which now loads the shared libraries. Temporarily ignored WGL_OML_sync_control and WGL_NV_gpu_affinity extensions to avoid dependencies on NIO classes (java.nio.LongBuffer) not in CDC/FP/JSR-239 NIO profile. Can now run JOGL with CVM on the desktop. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1743 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed new glsl packagingSven Gothel2008-08-045-5/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1742 232f8b59-042b-4e1e-8c03-345bb8c30851
* ../jogl.logSven Gothel2008-08-0414-660/+864
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1741 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed loading of GLES and EGL libraries, and error reporting when none Kenneth Russel2008-07-311-15/+23
| | | | | | | | | | available. Fixed building with -Djogl.cdcfp, in particular nested building of gluegen. Took out call to SHFullScreen, which doesn't seem to be available on the NVidia APX 2500 any more. Fixed #includes in InternalBufferUtils.c. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1738 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changes needed to build against JDK 1.4.2 and in particular with -Djogl.cdcfp=1Kenneth Russel2008-07-311-1/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1737 232f8b59-042b-4e1e-8c03-345bb8c30851
* ES2 FixedFunction w. texture (demo.es1.cubefbo.Main) workingSven Gothel2008-07-252-19/+33
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1736 232f8b59-042b-4e1e-8c03-345bb8c30851
* ../jogl.logSven Gothel2008-07-2510-79/+654
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1735 232f8b59-042b-4e1e-8c03-345bb8c30851
* GLUquadricImpl: now part of jogl.core; fixed GL2 immediate modeSven Gothel2008-07-211-4/+16
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1734 232f8b59-042b-4e1e-8c03-345bb8c30851