summaryrefslogtreecommitdiffstats
path: root/src/jogl
Commit message (Collapse)AuthorAgeFilesLines
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=391Sven Gothel2010-03-262-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As shown below, the concurrent access of GLStateTracker while being cleared by GLContext.destroy() causes a NPE. GLContext.destroy() shall disable it first, then clear it. The state stack pop method shall also swap the mapping with a most atomic action. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.sun.opengl.impl.GLStateTracker.getInt(GLStateTracker.java:94) at com.sun.opengl.impl.gl2.GL2Impl.glGetIntegerv(GL2Impl.java:6102) at com.sun.opengl.impl.gl2.GL2Impl.imageSizeInBytes(GL2Impl.java:26000) at com.sun.opengl.impl.gl2.GL2Impl.imageSizeInBytes(GL2Impl.java:25713) at com.sun.opengl.impl.gl2.GL2Impl.glTexImage2D(GL2Impl.java:18692) at glredbook1314.combiner.init(combiner.java:104) at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:88) at javax.media.opengl.awt.GLJPanel$Updater.init(GLJPanel.java:557) at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:88) at com.sun.opengl.impl.GLPbufferImpl$InitAction.run(GLPbufferImpl.java:274) at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:149) at com.sun.opengl.impl.GLPbufferImpl.maybeDoSingleThreadedWorkaround(GLPbufferImpl.java:267) at com.sun.opengl.impl.GLPbufferImpl.swapBuffers(GLPbufferImpl.java:157) at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:159) at javax.media.opengl.awt.GLJPanel.dispose(GLJPanel.java:238) +++
* fixed compiler error in TextureRenderer.Michael Bien2010-03-261-1/+1
|
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=378Sven Gothel2010-03-268-175/+194
| | | | | | | | | | | | | | Changed solution with a necessary API change of TextureData etc. Adding required GLProfile element to the factories etc, so it is clear for which GLProfile data is being created without the need of a current GLContext. TextureData/AWTTextureData: Removed the glPostInit* effort .. IMPACT: Texture util's API change - minor user code change necessary. +++
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=378Sven Gothel2010-03-252-0/+227
| | | | | | | | | | | | | | | | | Test: Added JUNIT Test Environment: - tests: jogl.test.jar - run: 'ant junit.run' Currently only runs 1 test regarding this bug id. Adding PATH (windows) or LD_LIBRARY_PATH (unix). Test initialized AWTTextureData without a current GLContext and then uses it to render .. Solution: Pending initialization of GL depending data, offered in TextureData.glPostInit(), specialized in AWTTextureData.
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=378Sven Gothel2010-03-252-22/+87
| | | | | | | | | | | | | | | | | Test: Added JUNIT Test Environment: - tests: jogl.test.jar - run: 'ant junit.run' Currently only runs 1 test regarding this bug id. Adding PATH (windows) or LD_LIBRARY_PATH (unix). Test initialized AWTTextureData without a current GLContext and then uses it to render .. Solution: Pending initialization of GL depending data, offered in TextureData.glPostInit(), specialized in AWTTextureData.
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=363LICENSE_CLEANUP_STARTSven Gothel2010-03-2496-96/+96
| | | | Upgrade SGI FreeB license headers
* refactoring: new struct accessor method naming conventions.Michael Bien2009-11-115-51/+51
|
* Add OpenGL 3.x compatibility profile GL3bc,Sven Gothel2009-10-184-17/+82
| | | | | | | | | | | where 'bc' is not a religious remark, but simply means 'backward compatible' :) GL3bc := GL2 + GL3, hence the interface does not define any new values or methods. Moved GL3's 3.1 part from gl3.h to gl3ext.h, so it can be included in gl3bc.c, besides gl2.h.
* All tracker are aggregated in the GLContext nowSven Gothel2009-10-177-58/+90
| | | | | | | | | | | | | | | and used within the GL*Impl. New GLStateTracker: - Tracking client/server states - Currently supports PixelStorei - Prologued in glPixelStorei and glGetIntegerv, the latter will return the tracked state if available and not call the GL method. Impacts performance and ES1 compatibility (supports ALIGNMENT). Fixed 'imageSizeInBytes' calculation: - skipPixels and skipRows is a static one time offset
* All tracker are aggregated in the GLContext nowSven Gothel2009-10-171-0/+211
| | | | | | | | | | | | | | | and used within the GL*Impl. New GLStateTracker: - Tracking client/server states - Currently supports PixelStorei - Prologued in glPixelStorei and glGetIntegerv, the latter will return the tracked state if available and not call the GL method. Impacts performance and ES1 compatibility (supports ALIGNMENT). Fixed 'imageSizeInBytes' calculation: - skipPixels and skipRows is a static one time offset
* GLProfile: usesNativeGLES[12] remove check with non impl GL2ES[12] ; Add ↵Sven Gothel2009-10-161-4/+19
| | | | usesNativeGL[23]
* Fix WindowsOffscreenWGLDrawableSven Gothel2009-10-161-2/+3
|
* Fix Solaris buildSven Gothel2009-10-151-14/+16
|
* X11 Display Lock completed (hope so)Sven Gothel2009-10-124-48/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - JOGL GLXUtil - JOGL X11GLXDrawableFactory - JOGL X11GLXGraphicsConfigurationFactory - JOGL X11OffscreenGLXDrawable - NW X11GraphicsConfigurationFactory NEWT Display - Stop EDT immediatly from within EDT when destroying - NEWT Window - Remove obsolete 'disposeSurfaceHandle()' NEWT GLWindow destroy(): - Deep destruction (Window, Screen and Display) if owner, otherwise just the GLWindow/GLDrawable - Add 'sendDisposeEvent' flag, to allow avoiding sending dispose to all GLEventListeners in a critical shutdown, ie from within the browser. NEWT EDT - More fine grained locking - unlocked while event dispatching - double check locking - Fixed cases where we are running on the EDT ..
* NEWT X11 Display Lock:Sven Gothel2009-10-117-89/+137
| | | | | | | | | | | | | | | Integrate Display.lock/unlock, so the generic Window will call it. Specialized for X11Display, the only real impl of it. Fixes offscreen EDT usage .. GLProfile: Add isAWTAvailable() and isAWTJOGLAvailable() TextureIO: - Add NetPbmTextureWriter - Only use IIOTexture* if !isAWTJOGLAvailable() - Add write (TextureData, File)
* NEWT: Add EventDispatchThread (EDT) pattern.Sven Gothel2009-10-102-13/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to limitations on Windows, we need to standardize the one thread for - window creation, and - event dispatching This was already mentioned in the previous implementation but while integrating into another threading model (Plugin3), it turned out that manual managing the thread is too much of a burden. NEWT now uses a EDT per Display and Thread as the default, where Display creation, Window creation and event dispatching is 'pipelined' into. This can be switched off: NewtFactory.setUseEDT(boolean onoff); and queried via: NewtFactory.useEDT(); Note this EDT impl. does not implicate a global lock or whatsoever. The experimantal semantics of a current GL context for input event dispatching is removed, i.e. the GL context is no more made current for mouse/key listener. This reduces the complexity and allows the proper impl. of the external dispatch via EDT .. for example. Removed: GLWindow: setEventHandlerMode(int) .. etc X11Display: XLockDisplay/XUnlockDisplay needed to be utilized to allow the new multithreading (EDT/Render) Display usage. X11Window: lockSurface/unlockSurface locks X11Display as well .. +++++ NEWT: 'getSurfaceHandle()' semantics changed. To allow usage of the surfaceHandle for OS where it is allocated thread local (MS-Windows), it shall be aquired/released while lockSurface/unlockSurface. This is done in the Windows Window implementation. GLWindow can no more query 'getSurfaceHandle()' to verify if 'setRealized()' was successful. NEWT: Window surface lock is recursive and blocking now, as it shall be.
* EGL more query config trials; Avoid NPE if no config is chosenSven Gothel2009-10-055-18/+48
|
* Fix On-/Offscreen and PBuffer.Sven Gothel2009-10-0516-43/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Demos are working again: demos.jrefract.JRefract - X11, Win32, OSX -Dsun.java2d.opengl=true demos.jrefract.JRefract - X11, Win32 demos.readbuffer.Main [-GL2,-GL2ES1] -test 0 demos.es1.RedSquare - X11, Win32, OSX, EGL demos.readbuffer.Main [-GL2,-GL2ES1] -test [12] demos.es1.RedSquare - X11, Win32 - OSX not, because of the missing feature of attaching a read surface. - EGL not, because the emulation I used didn't support attaching a read surface. Emulation bug .. probably .. MacOSXWindowSystemInterface.m createContext(): - Verify if passed surface handle _is_ a view, now it could be a pbuffer etc .. handle as well. Cleanup GLDrawableImpl.setRealized(boolean realized) - Calls setRealizedImpl() (implementation) now, and only if new stated differs .. - setRealizedImpl() fixed for: MacOSXPbufferCGLDrawable: recreate/destroy WindowsOffscreenWGLDrawable: recreate/destroy WindowsPbufferWGLDrawable: no-recreate/destroy X11OffscreenGLXDrawable: recreate/destroy X11PbufferGLXDrawable: recreate/destroy WindowsWGLContext: - wglMakeContextCurrent(): uses isFunctionAvailable .. - create(): Uses WGL.MakeCurrent() and releases the created context, due to unavailable MakeContextCurrent extensions before updating the procaddress tables.
* Fix: EGL set doublebuffer:=false for offscreenSven Gothel2009-10-051-0/+1
|
* GLDrawableFactory Cleanup (-> On- Offscreen and PBuffer)Sven Gothel2009-10-0516-361/+262
| | | | | | | | | | | | | | | | | | | | | | | | - Base all PBuffer/Offscreen GLDrawable creators on a prev. created 'NativeWindow + SurfaceChangeable' instance. Simplifies implementation path. This also removes the almost cyclic referencing of GLWindow -> OffscreenWindow GLWindow -> Drawable -> NullWindow -> OffscreenWindow Now it is just GLWindow -> OffscreenWindow GLWindow -> Drawable -> OffscreenWindow - createGLDrawable() shall be used for all types now, especially if you want to pass the offscreen NativeWindow and benefit from the surfaceChangedListener etc .. - Add public createOffscreenDrawable(..) - EGLDrawable: - Query surface only if not 0 - [re]create surface only if needed, using 'ownEGL*' flag for destruction only.
* Add com.sun.opengl.util.texture.spi.NetPbmTextureWriterSven Gothel2009-10-041-0/+161
|
* EGL: Use surfaceHandle, not windowHandle (2) for eglSurfaceSven Gothel2009-10-041-2/+2
|
* EGLContext: Just debug lines ..Sven Gothel2009-10-041-3/+5
|
* FIX: EGL Config: on-/offscreen and pbuffer; Added EGL-PBuffer setSurfaceHandleSven Gothel2009-10-044-36/+50
|
* Fix Config: Set doublebuffer:=false if offscreen; NEWT: Fix KDWindow.Sven Gothel2009-10-046-0/+12
|
* Fix EGL SurfaceType query/setup [on-/offscreen, pbuffer] using ↵Sven Gothel2009-10-043-42/+54
| | | | EGLConfig/GLCapabilities
* Texture: Relax/Pending creation of texture ID, no context must be currentSven Gothel2009-10-031-17/+25
|
* Avoid NPE if no context currentSven Gothel2009-10-031-1/+1
|
* NativeWindow extends SurfaceUpdatedListener for 'surfaceUpdated' ↵Sven Gothel2009-10-032-14/+20
| | | | propagation. GLDrawableFactory.createGLDrawable() propagates NativeWindow to offscreen NullWindow.
* surfaceupdated:: NativeWindow: passing 'updater'; NEWT: adding event listenerSven Gothel2009-10-031-1/+1
|
* EGL Fix: Use the surface handle for creation, not the window handle; More ↵Sven Gothel2009-10-034-28/+53
| | | | fixedCaps.
* EGL debug fixes ..Sven Gothel2009-10-034-11/+28
|
* Offscreen/PBuffer capabilities cleanup ; Generic read drawable supportSven Gothel2009-10-0322-121/+284
|
* NEWT: Offscreen integrationSven Gothel2009-10-021-1/+0
|
* Pbuffer GLDrawableFactory integration (2)Sven Gothel2009-10-023-6/+60
|
* Proper PBuffer drawable abstractionSven Gothel2009-10-025-67/+63
|
* NativeWindowFactory:Sven Gothel2009-10-027-17/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - If property 'nativewindow.ws.name' is set, use it as the custom windowing type returned by getNativeWindowType(true) NEWT: - Using NativeWindowFactory's property 'nativewindow.ws.name' as a package name for custom NEWT windowing imlementations, ie: -Dnativewindow.ws.name=com.sun.javafx.newt.intel.gdl -Dnativewindow.ws.name=com.sun.javafx.newt.broadcom.egl This allows far more flexibility to add custom impl. - Add Intel-GDL, define property 'useIntelGDL' to build the native part. Intel GDL is impl in the package 'com.sun.javafx.newt.intel.gdl' JOGL: - All impl. of 'createGLDrawable(..)', which were actually creating onscreen drawable only, were renamed to 'createOnscreenDrawable(..)'. - GLDrawableFactoryImpl impl. 'createGLDrawable(..)' now and dispatches to the actual create* methods in respect to the Capabilities, ie onscreen, pbuffer and offscreen. - GLDrawableFactory: - If using a native ES profile -> EGLDrawableFactory - If existing native OS factory -> Use that .. - Else -> Use EGLDrawableFactory, if available
* Oops .. fixed compile errorSven Gothel2009-09-251-1/+1
|
* Fix MacOSX External GLContextSven Gothel2009-09-258-178/+448
|
* Let the GLCapabilityChooser run over the fallback fixed GLCapabilities [last ↵Sven Gothel2009-09-241-2/+13
| | | | resort]
* Fix Offscreen/PBuffer [WGL/GLX]: No XVisual/PFD necessary here ..Sven Gothel2009-08-063-13/+18
|
* Update GlueGen to 7dc9c5601d5689dcbc003ca51cfe826942ea3e6b (latest)Sven Gothel2009-08-055-31/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | - Fixes for OpenGL 3.2 - More strict define/function checking - Better documentation in source code: extension relation - GL extension marker exclusion is done by GlueGen now - Adapted gluegen cfg files Added OpenGL 3.2 extensions for GL3 Revalidation of all OpenGL 2.0/3.0/3.1 and 3.2 extensions GL2GL3 based on OpenGL 2.0/3.0 headers EGL shares common egl-common.cfg file Removed experimental java system property 'jogl.GLContext.3_2', try a 3.2 context in case of GL3. X11GLXContext: - Always try to make a created context current, to verify it's usability. This is different than under WGL. - Temporary removed usage: GLX.GLX_CONTEXT_PROFILE_MASK_ARB NV driver bug.
* WGL 3.2: No need for 'jogl.GLContext.3_2' - just works.Sven Gothel2009-08-032-35/+22
|
* Doc: OpenGL 3.1 .. 3.2 profile clarificationSven Gothel2009-08-033-50/+108
| | | | | | | | | | | | GLX_ARB_create_context: Add 3.2 context WGL_ARB_create_context: Add 3.2 context Add: Trying to use 3.2 core profile creation for GL3, disabled by default. (Disabled per default due to a freezing JVM on Linux _after_ the Java main thread and Hotspot finishes.) Experimental: You may try '3.2 core profile creation' setting the java system property 'jogl.GLContext.3_2'.
* Fix GLX/WGL GraphicsConfigurationFactory: Be more relaxed in error handling ↵Sven Gothel2009-08-022-8/+34
| | | | - keep going, even if underlying impl/modules cannot choose a config. Allows VBOX to run NEWT/JOGL
* Fix doc bug @arg -> @paramSven Gothel2009-08-027-25/+25
|
* Update documentation (OpenGL 3.0, 3.1 specifics); Fix ↵Sven Gothel2009-08-021-9/+6
| | | | ExtensionAvailabilityCache: Add Version 2.1 in case of GL2/OpenGL 3.0
* Update OpenGL GL2 profile subsumed/promoted extensions. Base is 3.0, ignore ↵Sven Gothel2009-08-021-5/+4
| | | | the colission-free subsumed extensions.
* Fix: updateGLProcAddressTable() call order - child before parent, broke WGLSven Gothel2009-08-014-4/+4
|
* Cleanup GLSL ShaderUtil/Code; Add dumpCodeSven Gothel2009-08-013-62/+124
|