aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl
Commit message (Collapse)AuthorAgeFilesLines
* GLArrayData API and impl. changesSven Gothel2011-04-226-264/+292
| | | | | | | | | | | | | | | | | | | | | | +++ Remove GL parameter for - createFixed(..) - createGLSL(..) validation at client/server array data happens at 1st enableBuffer() call, no current context or profile required at creation time. Added ShaderState for createGLSL(..) clarifying dependency to the ShaderState, passing it down to the GLSLArrayHandler, which also removes the TLS GLContext.getCurrent() call. +++ Partially reverted ab48dac3f4419ceac51fdf059f310f0f0499c4d7 factory methods: removed added vboTarget parameter, since all createFixed and createGLSL are GL_ARRAY_BUFFER (VBO). Adding createData(..) factory method in GLArrayDataServer allowing diff vbo targets, ie GL_ELEMENT_ARRAY_BUFFER .. or none.
* reflect GLContext changes a5430cf16727fdc7bcfb17ef251018cc479d5f5dSven Gothel2011-04-221-7/+3
|
* Fix/Add: Locator (Handle JarURLConnection and ..)Sven Gothel2011-04-222-28/+76
| | | | | | | | | new: 'public static String getRelativeOf(URL baseLocation, String relativeFile)', capable of handling a JAR file/url. Using File based relative locator, allowing better utilization in code: old public static String getRelativeOf(String absoluteFileLocation, String relativeFile) new public static String getRelativeOf(File baseLocation, String relativeFile)
* Texture: Change method signatures: Pass GL context object if required ↵Sven Gothel2011-04-223-144/+121
| | | | | | | | | | | | | | (remove GLContext.getCurrentGL() usage. Using function signatures explicitly require the GL [current] instance clarifies that the context must be current. Removing GLContext.getCurrentGL() reduces TLS access of current thread and hence possible performance hits. The Texture class has been chosen for this conversion [not TextureIO yet], since the enable/bind methods maybe used within a rendering loop. User already 'complained' about lack of current GLContext clarity as well.
* Fix TAB: Replace all TAB with 4 spacesSven Gothel2011-04-088-92/+92
|
* Fix FBObject: Remove double stencil RB generation; Expose data (size, ..)Sven Gothel2011-04-081-13/+13
|
* FIX: Refactor GLArrayData and all it's implementations/sub-interfaces (VBO ↵Sven Gothel2011-04-088-154/+372
| | | | | | | | | | target, comments, names) VBO target: Allowing ELEMENT_VERTEX_ARRAY w/o corresponding GLSL/Fixed attribute Names: Clarified method named. Comments: Added and fixed comments
* ShaderProgram: Add 'init(GL2ES2)', allowing GL program object creation ↵Sven Gothel2011-04-051-0/+21
| | | | | | before link stage. This is required to allow proper usage of 'glBindAttribLocation()'.
* Make FBObject more generic, split FBO/tex and depth/stencil attachements. ↵Sven Gothel2011-04-051-67/+174
| | | | Allow parametrization of each component.
* ShaderCode: Remove redundant code (Use proper Locator variant)Sven Gothel2011-03-302-16/+5
|
* FPSAnimator: Poor attempt to wait for threads EOL after pause/stopSven Gothel2011-03-271-0/+6
|
* FPSAnimator: Avoid NPESven Gothel2011-03-251-6/+15
|
* Animator: Cleanup and better DEBUG infoSven Gothel2011-02-282-6/+9
|
* Clean/Fix: Threading CodeSven Gothel2011-02-261-1/+1
| | | | | | - Remove unsafe double checked locking - Annotate safe double checked locking (volatile) - use 'static final' if possible
* changes due to code cleanup in gluegen.Michael Bien2011-02-261-5/+4
| | | | | | - StringBuffer -> StringBuilder - ReflectionUtil.getBaseName -> class.getSimpleName() - cleanup imports, generics and @Override for all touched classes
* Remove CDCSven Gothel2011-02-096-2562/+0
|
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-0913-13/+13
| | | | | | | | | | | | | | | jogamp.<module> (2/2) - edit files - com.jogamp.opengl.impl -> jogamp.opengl - com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc - com.jogamp.nativewindow.impl -> jogamp.nativewindow - com.jogamp.newt.impl -> jogamp.newt This sorts implementation details from the top level, ie skipping the public 'com', allowing a better seperation of public classes and implementation details and also reduces strings. This approach of public/private seperation is also used in the OpenJDK.
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-08216-47713/+0
| | | | | | | | | | | | | | | jogamp.<module> (1/2) - rename task - com.jogamp.opengl.impl -> jogamp.opengl - com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc - com.jogamp.nativewindow.impl -> jogamp.nativewindow - com.jogamp.newt.impl -> jogamp.newt This sorts implementation details from the top level, ie skipping the public 'com', allowing a better seperation of public classes and implementation details and also reduces strings. This approach of public/private seperation is also used in the OpenJDK.
* Fix GLContext ProcAddressTable Caching: Add sw/hw accel bit to hash value ↵Sven Gothel2011-02-062-6/+12
| | | | due to possible diff function ptr of sw impl (NV/Win7)
* Fix bug #459 NV/Win7 PDF/caps selectionSven Gothel2011-02-052-8/+24
| | | | | | | | | | | | | Scenario - NV / Win7 driver version 266.58's - Caps: on-scr, rgba 8/8/8/0, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono The above 'wglChoosePixelFormatARB' impl returns an array of pixelformats, where the 1st entry is not hardware accelerated! This should be considered a bug in NV's driver, since the array should return a list ordered from 'best' to 'worst'. Workaround trying explicit hw acceleration 1st, then generic, then software.
* Fix bug #461 on NV/Win (caps selection)Sven Gothel2011-02-055-25/+28
| | | | | | Allows TestBug461OffscreenSupersamplingSwingAWT to pass on NV/Win7. Root cause was using the requested unfixed caps (onscreen, !pbuffer) instead of the fixed ones.
* Fix for Bug #452Sven Gothel2011-02-034-103/+104
| | | | | | | | | | | | | WindowsWGLGraphicsConfiguration.create(..) -> WindowsWGLGraphicsConfiguration.createFromCurrent(..) emphasizing that all resources are 'current' ie locked and available. This method is used for the external context/drawable creation only, called while they are current. Hence this method no more makeCurrent/release, which interfered with the current external context state. WindowsWGLGraphicsConfigurationFactory: Move surface locking to the right (common) place.
* Fix: X11: Allowing FBConfig w/o XVisualInfo for non onscreenSven Gothel2011-02-031-7/+15
|
* Merge remote branch 'wwalker/bug_463_gluScaleImage_memory' into pulledSven Gothel2011-02-021-1/+3
|\
| * Fix bug 463 where gluScaleImage consumes all memoryWade Walker2011-01-251-1/+3
| | | | | | | | | | | | | | | | Changes the Type_Widget.java constructor to allocate a normal buffer instead of a direct buffer. Apparently JVMs can't allocate small direct buffers efficiently, and since Type_Widget is called inside tight loops millions of times, we can't afford to do it this way. This commit restores it to how it was in JOGL 1.
* | Fixed bug 450 (unrendered right side of GLJPanel in Gears)wwalker2011-02-021-1/+1
| | | | | | | | | | | | | | | | This bug caused the right sides of GLJPanels not to render if the panel is wider than its height (all pixels with x > height would be black). Wrote a unit test to sense the problem by reading an unrendered pixel back out of the frame, then fixed the typo in GLDrawableFactoryImpl.java that caused the error.
* | Bugfix (Bug 464 - TextRenderer useVertexArray was ignored)Domokun2011-02-011-5/+5
| |
* | TextRenderer: Fix imports / Add jogamp licenseSven Gothel2011-02-012-5/+2
| |
* | Fixes the problem of high memory consumption in TextRenderer (single merged ↵Julien Gouesse2011-02-011-6/+39
| | | | | | | | w/o whitespace)
* | JOGL change of default GLProfile order: GL4bc, GL3bc, GL2, GL2GL3, GL4, GL3, ↵Sven Gothel2011-01-313-12/+5
| | | | | | | | GL2ES2, GLES2, GL2ES1, GLES1
* | Fix: In case no shared resource is available, query the GLXVersion.Sven Gothel2011-01-311-0/+5
| |
* | Fix WindowsDummyWGLDrawable: onscreen && !pbufferSven Gothel2011-01-311-1/+0
| |
* | GLCapabilities enhancements: Choosing, All-Available, Data Handling (X11, ↵Sven Gothel2011-01-3123-862/+1414
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WGL and EGL) - GLDrawableFactory exposes: public final List/*GLCapabilitiesImmutable*/ getAvailableCapabilities(AbstractGraphicsDevice device) - GLCapabilities platform specialization containing native ids (XVisual/FBConfig, PFD, EGLConfig, ..) - GLCapabilities setPbuffer(true) disables onscreen - Capabilities setOnscreen(true) disables pbuffer - Capabilities implements Comparable - *Capabilities: enhanced 'toString(..)' - CapabilitiesChooser.chooseCapabilities: 'CapabilitiesImmutable[] available' -> 'List /*<CapabilitiesImmutable>*/ available' - VersionApplet, GLCanvas.main, GLWindow.main, GLProfile/debug: dumps all available GLCaps - WGLGLCapabilities: proper non-displayeble (pbuffer) pfdid handling TODO: ES/EGL test with emulation
* | Fix: GLX exception message / sorted importsSven Gothel2011-01-311-3/+5
|/
* Cleanup / DebugSven Gothel2010-12-232-3/+2
|
* Always issue GLEventListener's initialization, if provoked by ctx creationSven Gothel2010-12-221-1/+8
|
* Fix WGL bitmap regression while fixing it ↵Sven Gothel2010-12-221-2/+1
| | | | (96a0e0706258824c1dd524d4cbd7682a904b84f4)
* JOGL/NEWT: Introduce WindowClosingProtocol (solves Bug/Request 444)Sven Gothel2010-12-191-2/+1
| | | | | | | | | | | | | | | | | Similar to JFrame's closing behavior, the following components window closing follow the new WindowClosingProtocol: - GLCanvas - GLJPanel - NEWT Window, GLWindow - NEWT NewtCanvasAWT The implementation obeys either 1) the user value set by this interface, 2) an underlying toolkit set user value (JFrame, ..) 3) or it's default, eg. {@link #DO_NOTHING_ON_CLOSE DO_NOTHING_ON_CLOSE} within an AWT environment. If none of the above determines the operation, this protocol default behavior {@link #DISPOSE_ON_CLOSE DISPOSE_ON_CLOSE} shall be used.
* Adding NVIDIA 'Threaded optimization' workaround/fix at initialization on ↵Sven Gothel2010-12-191-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows for javaws/applets. It has been observed that for some combinations, eg: - Windows 7 64bit (other variants may apply too) - NVIDIA 8600M GT - 260.99 the NVIDIA setting of 'Threaded optimization' := 'auto' (default) causes the JVM to simply crash in case of javaws and [jnlp] applets. 'Threaded Optimization' := 'off' works reliable 'Threaded Optimization' := 'on' never works with javaws and applets on the above configuration A user could workaround this by setting 'Threaded Optimization' := 'off', however, this would disable many users on the spot, since you cannot ask the average user for such a task, if she only wants to see a web page. This patch 'fixes' the 'auto' mode by running the eager GL profile initialization within a block of single CPU affinity: SetProcessAffinityMask(pid, 1); try { initProfilesForDeviceImpl(device); } finally { SetProcessAffinityMask(pid, sysValue); } Hopefully we can remove this hack with a driver fix. However this workaround is as little invasive as possible.
* Fix GLProfile initProfilesForDevice and DEBUG ; Fix JoglVersion.getGLInfoSven Gothel2010-12-191-3/+7
| | | | | | | | GLProfile.initProfilesForDevice: use either desktop or egl factory on one device GLProfile.DEBUG: Print proper factory instance, full device JoglVersion.getGLInfo: Print only availability of used device, otherwise we could kick off initialization
* Debug/Cleanup: toString: print base classname only; Misc ..Sven Gothel2010-12-193-4/+12
|
* WindowsWGLContext: Proper var names, misc cleanupSven Gothel2010-12-181-17/+22
|
* convenient internal queries for sharedSven Gothel2010-12-181-0/+12
|
* debug node: WindowsDummyWGLDrawableSven Gothel2010-12-171-0/+1
|
* SharedResourceRunner: Expose convenient 'getShared()' w/o creationSven Gothel2010-12-171-0/+5
|
* debug: print thread name only; simplify mapGLVersion(..) callSven Gothel2010-12-171-16/+12
|
* Fix WGL Bitmap Offscreen DrawableSven Gothel2010-12-164-20/+73
| | | | | | | | | | | In conjunction with the gluegen investigation (gluegen: fbdedff789077b5ffa07811590f771b6f9a4f3a7), on Windows the type LONG is always 32bit, hence we have to declare: typedef __int32 LONG; Besides, WGL_DRAW_TO_PBUFFER_ARB and WGL_DRAW_TO_BITMAP_ARB were missing in the WGL/ARB attribute query, and the latter was not set in caps -> attributes. Added fail safe exception for null chosen caps, if X11/WGL algo fails to determine.
* Cleanup (removed obsolete class / imports) ; Cg fixSven Gothel2010-12-134-79/+0
|
* NativeWindow: Move RegisteredClass to private impl packageSven Gothel2010-12-121-1/+1
|
* GLJPanel/GLPbufferImpl: destroy pbuffer reentrance fix; disable device close ↵Sven Gothel2010-12-122-10/+12
| | | | (X11 error on nvidia); reenable GLJPanel test