aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/javax/media
Commit message (Collapse)AuthorAgeFilesLines
* *GLContext: resetStates(); getPlatformExtensionsString(); GLX/WGL ↵Sven Gothel2011-09-091-0/+42
| | | | | | | | | | | | | | | | | | | | | | NV_swap_group support; setSwapInterval(); resetStates() - fixes a bug where X11GLXContext impl. resetState() !! - marked all with @Override tag - ensured super.resetStates() is called at end (oops) getPlatformExtensionsStringImpl()* - fixes a bug where X11GLXContext overrides GLContext cached GLX extension string query - marked 'final' in GLContext to avoid bugs - using abstract 'getPlatformExtensionsStringImpl()' called by ExtensionAvailabilityCache Add premiliry GLX/WGL NV_swap_group support - thought it might be a solution to sync swap of 2 windows - none of my drivers/platforms support it, event though extension is avail on Linux Promote setSwapInterval() (1 up) - bumped above API up to public GLContext - those extension should not spam the GL interfaces .. hmm
* JOGL: Make GLProfile shutdown()/initSingleton() functional, ie. proper ↵Sven Gothel2011-09-083-18/+24
| | | | | | | recreation of all resources - Release all GLDrawableFactory instances at shutdown, [re]create them at initialization - Release GLContext resources (availability map) as well
* Destruction of GLAutoDrawable shall not remove them from AnimatorControl ↵Sven Gothel2011-09-081-2/+0
| | | | | | | | | | | | | | | | | | | (due to recreation) ; NEWT/Window: Remove isValid() API entry - always true! Destruction of GLAutoDrawable shall not remove them from AnimatorControl (due to recreation) - Completes commit b65e1e76d413b70e5593173e6bd36d30675554a6 - WindowImpl: - volatile: windowHandle/visible fields (memeory sync critical) - destroy must set visible := false, to avoid immediate recreation via a display call of another thread, ie an animator. NEWT/Window: Remove isValid() API entry - always true! - NEWT/Window's can always be recreated. - redundancy in API is even worse than redundancy in impl. :)
* Unify Immutable/WriteCloneable Usage ; Remove Clonable for ImmutableOnly typesSven Gothel2011-09-041-3/+0
|
* NativeWindow/JOGL: Cleanup Caps doc and implicit related values.Sven Gothel2011-09-041-22/+30
| | | | | | | | | Capabilities setBackgroundOpaque -> setAlphaBits GLCapabilities setOnscreen <-> setPBuffer setSampleBuffers -> setAlphaBits
* Complete translucency support (core w/ X11 (only) - tested w/ NEWT)Sven Gothel2011-09-031-7/+12
| | | | | | | | | | | | | | | | | DefaultGLCapabilitiesChooser: - Add penalty for opaque mismatch: dbl-buf > opaq > stencil GLGraphicsConfigurationFactory: - Case no-chooser && has-recommended-idx: - Only use recommended index if caps is opaque, otherwise use default chooser to validate translucency NativeWindow Capabilities: - transparent default values -> 0 Added NEWT Test: TestTranslucencyNEWT Added command line translucency/undecorated options for TestGearsES2NEWT
* Add GL Version 4.2 in GLContext Query - Add verification via ↵Sven Gothel2011-09-021-1/+1
| | | | | | | | | | glGetIntegerv(GL_MAJOR_VERSION|GL_MINOR_VERSION) Status (Using 4.2 beta driver): - Windows NV: Created and verified - Linux AMD: Creates even non existing ones, 4.2 (available) verification returns 0.0 - Linux NV: Created but verification fails, returns 0.0
* Test: Cleanup warnings; Add GLProfile.initSingleton(true) call for ↵Sven Gothel2011-08-301-1/+0
| | | | | | | | | | fluctuating NEWT tests Add GLProfile.initSingleton(true) call for fluctuating NEWT tests - Some of these tests even fail in the <init> state, i.e. cause a JVM stack dump around an early GLX createContext method only when issued via Jenkins. The Ubuntu 11.04/64bit Jenkins node runs 2 nodes (32 and 64 bit). TODO: Find cause.
* Cleanup: Java Generics Use and Removed Unused MethodsSven Gothel2011-08-242-19/+19
|
* GLCapabilitiesImmutable: No need to extend WriteClonable explicitly, ↵Sven Gothel2011-08-241-1/+1
| | | | extended by super class
* NewtVersionActivity: Remove 'gears' test; Version Info: Drop ↵Sven Gothel2011-08-221-1/+1
| | | | NativeWindow/Newt Version since we use *all* targets
* Misc Rename/Reloc; GLArrayData*/PMVMatrix enhancments; Test fixes/adds ↵Sven Gothel2011-08-226-22/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GearsES1/ES2) rename/reloc: - javax.media.nativewindow.util: DimensionReadOnly -> DimensionImmutable PointReadOnly -> PointImmutable RectangleReadOnly -> RectangleImmutable unified 'immutable' name as used within jogamp already - remove array handler from public API com.jogamp.opengl.util.GL*ArrayHandler -> jogamp.opengl.util.GL*ArrayHandler - GLArrayData: Clarify method names getComponentNumber() -> getComponentCount() getComponentSize() -> getComponentSizeInBytes() getElementNumber() -> getElementCount() getByteSize() -> getSizeInBytes() - FixedFuncPipeline: Moved def. array names to GLPointerFuncUtil enhancement: - GLArrayDataServer: Add support for interleaved arrays/VBO - GLArrayData*.createFixed(..) remove 'name' argument (non sense for fixed function) - PMVMatrix: - one nio buffer - removed 'Pmv' multiplied matrix - removed 2x2 cut down 'Mvi' normal matrix (use 4x4 Mvi) - tests: - RedSquare -> RedSquareES1/RedSquareES2 - Gears ES1 fixed + ES2 added. Both work properly and share common Gears VBO construction - Added TestMapBuffer01NEWT, testing glMapBuffer
* Merge remote-tracking branch 'rsantina/master'Sven Gothel2011-08-091-1/+5
|\
| * GLRunnable API Change: Return boolean indicating whether the back buffer ↵Rami Santina2011-08-091-1/+5
| | | | | | | | | | | | shall be updated before swap. This allows color selection GLRunnables, executed after the GLEventListener.
* | GLProfile / eager init: Use relaxed query, if context was created while ↵Sven Gothel2011-08-072-10/+8
| | | | | | | | initialize shared
* | Don't enable DebugGL/TraceGL with jogl.debug=allSven Gothel2011-08-071-2/+11
| |
* | debug verbosity ; adaption of gluegen fix of DynamicLibraryBundleSven Gothel2011-08-051-5/+14
|/ | | | | | | fix debug log in case no device has been initialized use gluegen's fix of DynamicLibraryBundle.isGlueLibComplete() - see gluegen commit 6281499e53555fd8ab26345ffce4c4d09bf57a09
* GLProfile: Allow EGL besides desktop; Desktop factories restricted to ↵Sven Gothel2011-08-011-3/+18
| | | | | | | | | | desktop profiles Allow EGL besides desktop - Initialize EGL for default EGL device, even if desktop is available Desktop factories restricted to desktop profiles - Don't use native ES1/ES2 here ..
* Cont. fix 'Allow VBO/Texture Name (int) < 0'Sven Gothel2011-08-011-6/+6
| | | | | | | Refines spec GLArrayData and it's implementations. see commit 4d33a2df1e991ab75817dcb44061d88d3c499cdb see commit 2dbd16fc3edf29b39ba37a11b9fbf1b2aad75c45
* GLProfile: Fix exception; Minor ChangesSven Gothel2011-07-311-35/+57
| | | | | | - GL_PROFILE_LIST_MIN_DESKTOP -> GL_PROFILE_LIST_MIN - Fix exception in glAvailabilityToString(), if no profile is available - getMinDesktop() -> getMinimum()
* GLDrawableFactory::getFactoryImpl(): Only return the EGL factory if profile ↵Sven Gothel2011-07-311-7/+6
| | | | is native ES
* JOGL: Add GLBase::isGLES2Compatible()Sven Gothel2011-07-312-5/+22
| | | | | Indicates whether this GL object is compatible with OpenGL ES2, i.e. has the extension <code>GL_ARB_ES2_compatibility</code>
* Fix 'main' invocationSven Gothel2011-07-071-0/+1
|
* GLProfile: Initialization fix and clarifications ( GLExceptions on n/a ↵Sven Gothel2011-07-074-141/+140
| | | | | | | | | | | | | | profiles ) - GLProfile.initSingleton(boolean) (implicit or explicit) won't throw any exception anymore. Followup 'GLProfile GLProfile.get(..)' calls will throw a GLException, if n/a. Availability maybe queried via GLProfile.isAvailable(..). - GLCapabilties, GLCanvas, GLJPanel: Clarify case where GLException maybe thrown, i.e. no default GLProfile available on default device. - Remove redundant GLProfile.is<ProfileName>Available(..)
* GLContext GLDebugMessages: Add synchronous status/dumpStack; Remove length ↵Sven Gothel2011-04-281-7/+16
| | | | | | | | in aliased glDebugMessageInsert. - GLDebugMessages add synchronous status - defaults to true - GLContext/GLDebugMessages add dumpStack() if jogl.debug.DebugGL is set - Remove param length in aliased glDebugMessageInsert.
* ShaderState: Add 'ownUniform()/ownAttribute()'; rename glFunction -> ↵Sven Gothel2011-04-261-1/+1
| | | | | | | | | | | | | | function; switch program enh. ; Graph lifecycle Add 'ownUniform()/ownAttribute()' allowing to reset all bound uniforms/attributes, not just active ones plus handling the lifecycle of the owned attributes (destroy). This simplifies the lifecycle of all shader attributes. Rename glFunction -> function .. well, the GL attribute marks them GL related already Switch program enhancement. If switching to new program (unlinked), issue glBindAttributeLocation .. Graph lifecycle cleanup using the above ..
* FPSCounter def to 5*60 frames (each 5s at 60Hz) ; Test: each 1sSven Gothel2011-04-251-1/+1
|
* Add unified support for GL_ARB_debug_output and GL_AMD_debug_output.Sven Gothel2011-04-246-11/+442
| | | | | | | | | | | | | | | | | | | | | | If GL_ARB_debug_output is not available, but GL_AMD_debug_output exist, fallback to the latter, offering generic aliased methods translating the delta (AMD category <-> ARB source/type). Generic aliased methods reside in GLContext* Enable/Disable via GLContext and GLAutoDrawable. To enable the GLDebugOutput feature GLContext.enableGLDebugMessage(true) or GLContext.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be called _before_ context creation via GLContext.makeCurrent()! In case GLAutoDrawable is being used, GLAutoDrawable.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be issued before context creation via GLContext.makeCurrent()!. After context creation, the GLDebugOutput feature may be enabled or disabled at any time using this method. Verify both unit tests for usability.
* New FPSCounter, impl. by GLWindow and GLAnimatorControl (fps perf related ↵Sven Gothel2011-04-232-41/+118
| | | | | | | | | | | API change) - Don't fetch System.currentTimeMillis() by default and for every frame (performance) - Default behavior is FPSCounter switched off - Enable by frame interval, ie measure each 60 frames. - FPSCounterImpl is default impl. used by impl. FPSCounter class (reduce code/redundancy) - Might be promoted to GLAutoDrawable ?!
* GLArrayData API and impl. changesSven Gothel2011-04-221-2/+9
| | | | | | | | | | | | | | | | | | | | | | +++ 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.
* Fix GLProfile: Order of profiles Hi -> LowSven Gothel2011-04-221-54/+52
| | | | | | | Ensure returning the highest profile always: all old: GL4bc, GL3bc, GL2, GL2GL3, GL4, GL3, GL2ES2, GLES2, GL2ES1, GLES1 all new: GL4bc, GL3bc, GL2, GL4, GL3, GL2GL3, GLES2, GL2ES2, GLES1, GL2ES1
* GLContext changes:Sven Gothel2011-04-221-12/+32
| | | | | | | | | | | change: putAttachedObject(String) -> attachObject(String) putAttachedObject(int) -> attachObject(int) new: validateCurrent() the 'int' mapped/attached objects are using the IntIntHashMap now
* Fix TAB: Replace all TAB with 4 spacesSven Gothel2011-04-082-4/+4
|
* FIX: Refactor GLArrayData and all it's implementations/sub-interfaces (VBO ↵Sven Gothel2011-04-081-6/+18
| | | | | | | | | | target, comments, names) VBO target: Allowing ELEMENT_VERTEX_ARRAY w/o corresponding GLSL/Fixed attribute Names: Clarified method named. Comments: Added and fixed comments
* Fix: DEBUG field (regression)Sven Gothel2011-04-051-3/+2
|
* GLContext: Added java.debug.DebugGL and java.debug.TraceGL to enable debug ↵Sven Gothel2011-04-051-2/+7
| | | | and trace pipeline.
* Promote GLDrawableFactory.getOrCreateSharedContext(..) to public.Sven Gothel2011-03-261-1/+1
|
* Fix unnecessary NPE in case of unrealized GLCanvas (getRequestedCapabilities())Sven Gothel2011-03-261-1/+1
|
* Fix Bug #460 - GLCanvas NPESven Gothel2011-03-211-1/+4
|
* Add @OverrideSven Gothel2011-03-191-0/+3
|
* JOGL GLDrawableFactory: Expose experimental method createProxySurface(..) ↵Sven Gothel2011-02-281-0/+18
| | | | | | for new windowing system ad-hoc development. WARNING: This method may change ro be removed over time!
* Attempt to analyze failed AWT UI tests, where no paint is being issued to ↵Sven Gothel2011-02-261-3/+14
| | | | GLCanvas.
* Code cleanup: override, imports, StringBuilder, ..Sven Gothel2011-02-261-10/+17
|
* GLProfile: More Tolerant for missing features; MacOSX: Fix External Context ↵Sven Gothel2011-02-261-6/+10
| | | | / SWT; SWT Test: Distinguish awt/headless and main-thread (osx) swt launch
* GLProfile: Sorting importsSven Gothel2011-02-091-6/+10
|
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-0911-35/+35
| | | | | | | | | | | | | | | 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.
* Fix GLContext ProcAddressTable Caching: Add sw/hw accel bit to hash value ↵Sven Gothel2011-02-061-0/+5
| | | | due to possible diff function ptr of sw impl (NV/Win7)
* Move GLCanvas' static initialization of default GLProfile into constructor ↵Dan Krisher2011-02-051-3/+1
| | | | to avoid requiring native libraries at class initialization time.
* JOGL change of default GLProfile order: GL4bc, GL3bc, GL2, GL2GL3, GL4, GL3, ↵Sven Gothel2011-01-312-15/+86
| | | | GL2ES2, GLES2, GL2ES1, GLES1
* GLCapabilities enhancements: Choosing, All-Available, Data Handling (X11, ↵Sven Gothel2011-01-315-95/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | 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