aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp
Commit message (Collapse)AuthorAgeFilesLines
* Add unified support for GL_ARB_debug_output and GL_AMD_debug_output.Sven Gothel2011-04-246-19/+452
| | | | | | | | | | | | | | | | | | | | | | 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-231-0/+137
| | | | | | | | | | | 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 ?!
* GLContextImpl: GLContextLock -> RecursiveLockSven Gothel2011-04-236-212/+70
| | | | | | | | | RecursiveLock maintains a queue of waiting Threads, ensuring the longest waiting thread will be notified at unlock. Delete GLContextLock. Cleanup HashMap generics style.
* Refactored graph: Reduce/remove data copy/recreation; Shader cleanupSven Gothel2011-04-2315-451/+519
| | | | | | | | | | | | - Pass the current GL context object where it's required - Introduce RenderState (which has ShaderState) to acquire/change shader related data (Region) - Shader Cleanup: User import for common stuff; use req. version - Reduce/remove data copy/recreation in *Region implementation - UI/RIButton: Use defaults I like :)
* GLArrayData API and impl. changesSven Gothel2011-04-221-14/+14
| | | | | | | | | | | | | | | | | | | | | | +++ 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.
* NEWT GLWindow: Remove context current check for swapBuffer() callSven Gothel2011-04-221-0/+1
| | | | | | | The spec doesn't require a current context for a swap buffer call, however, if required .. as user shall encapsulate it by himself, or use the GLEventListener model. Motivation: Reduce TLS GLContext.getCurrent() calls.
* GLBufferSizeTracker/GLBufferStateTracker: Remove RedundancySven Gothel2011-04-222-31/+3
| | | | | | | GLBufferStateTracker.isBoundBufferObjectKnown() is redundant, since it's 'get' method added it if not yet known. GLBufferSizeTracker removed above mentioned call, fallback to std GL query, no exception.
* Fix/Add: Locator (Handle JarURLConnection and ..)Sven Gothel2011-04-221-3/+1
| | | | | | | | | 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)
* Fix TAB: Replace all TAB with 4 spacesSven Gothel2011-04-0861-1813/+1813
|
* Merge remote-tracking branch 'rsantina/graph' into graphSven Gothel2011-04-083-5/+29
|\
| * Merge: merged with sgothelRami Santina2011-04-085-228/+240
| |\
| * | TextRenderer - createString exposed; Renderer - added scale();Rami Santina2011-04-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | createString function is now public to be able to create a string without initializing textRenderer. Temp change, should be cleaned up. added missing scale transformation to renderer pmvmatrix; added glyphstring.getBounds() so not to use font.getStringBounds. since it Would be a redundant call.
| * | Added getBounds impl to region, returning AABBoxRami Santina2011-04-082-2/+21
| | |
* | | destroy: clear vertices/triangle arraysSven Gothel2011-04-081-2/+2
| |/ |/|
* | Use GLArrayDataServer to handle shader attributes/data using VBOSven Gothel2011-04-082-215/+227
| |
* | Use common constants for shader attributes (needs to be completed)Sven Gothel2011-04-082-4/+4
| |
* | FIX: Refactor GLArrayData and all it's implementations/sub-interfaces (VBO ↵Sven Gothel2011-04-081-8/+8
|/ | | | | | | | | | 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-0/+2
|
* Fix: shaderProgram.program(); glBindAttribLocation() call; ↵Sven Gothel2011-04-052-8/+14
| | | | | | | | | | | | dispose/disposeImpl sequence; Use shaderProgram.program() instead of shaderProgram.id() - the id() is just a unique sequence name. Call glBindAttribLocation() after program object init and before linkage. Chain call disposeImpl() properly to fix destruction sequence: TextRendererImpl01 -> TextRenderer -> GlyphString -> Region RegionRendererImpl01 -> RegionRenderer -> Region
* Fix: Use new FBObject; Use shaderProgram.program() instead of shaderProgram.id()Sven Gothel2011-04-051-65/+30
| | | | | | | The new FBObject handles state transition more easily and it's usage is less complex to the caller - compared to inline usage. Use shaderProgram.program() instead of shaderProgram.id() - the id() is just a unique sequence name.
* GLContext: Added java.debug.DebugGL and java.debug.TraceGL to enable debug ↵Sven Gothel2011-04-051-3/+9
| | | | and trace pipeline.
* Fix: p1y region set to 0.5, cleaned shaderRami Santina2011-04-023-9/+6
|
* Jogl build: Rebuild jar files if shaders were updatedSven Gothel2011-04-021-1/+2
|
* Fix: removing fragments with w=0 is producing dimples with msaaRami Santina2011-04-021-1/+1
|
* Fragment Shader enhancement + clean-up;Rami Santina2011-04-023-22/+20
| | | | | | in first pass the shader now discards pixels that are dropped by imlicit AA, and second pass (if executed) doesnt include them in AA clac.
* Rendered: +enable(GL, bool) ; dumpFontNames..Sven Gothel2011-04-011-1/+1
|
* Font Names: Expose name indices allowing user to pick all names ..Sven Gothel2011-04-013-31/+11
|
* Load fonts via File or URL .Sven Gothel2011-04-014-25/+64
|
* Font: +getName / +getAllNames / +isPrintableCharacterSven Gothel2011-04-014-3/+58
|
* Remove HashCode util and its usageSven Gothel2011-04-012-206/+3
|
* integrated typecast into jogamp. treeSven Gothel2011-04-01111-16/+16072
|
* Folded turtle2d into jogl foldersSven Gothel2011-04-0143-0/+5834
|
* Fix Bug #480 (attempt) - ATI + WinXP: make context current for ARB PFD ↵Sven Gothel2011-03-215-57/+169
| | | | | | | | | queries/selection TODO: Validate if bug is actually relates to the 'old' ATI Windows driver for old GPU's like X300 etc and unrelated to the actual Windows version ! Also ensure that the no pixelformat is being set on external context/HDC.
* Refine getAvailableGLCapabilitiesImpl (XGL, WGL and EGL): Sort only if size > 1Sven Gothel2011-03-204-7/+5
|
* Refine WGL_PIXEL_TYPE_ARB and GLX_RENDER_TYPE:Sven Gothel2011-03-204-19/+32
| | | | | | | | | | | | | | | | | WGL_PIXEL_TYPE_ARB: Results -> GLCapabilities - WGL_TYPE_COLORINDEX_ARB not supported - Only WGL_TYPE_RGBA_FLOAT_ARB makes pbuffer float Query: - Only use WGL_FLOAT_COMPONENT_NV if supported - Remove multiple WGL_PIXEL_TYPE_ARB entry GLX_RENDER_TYPE: Results -> GLCapabilities - GLX_COLORINDEX_BIT only not supported
* - LinkedList -> ArrayList (using tail) for O(1) operationSven Gothel2011-03-191-19/+23
| | | | | - Using new IntIntHashMap clone() operation - Comment: Tuning IntIntHashMap capacity to avoid rehash
* GLStateTracker code review:Michael Bien2011-03-051-23/+25
| | | | | | | - using LinkedList as stack replacement for non index based push/pop - increased initial map size since the default values already exceeds the default mapsize - size()==0 -> isEmpty() (can be significantly faster if the deque impl would change in future) - map copy with initial size - minor other changes
* Fix MemoryObject: Remove unnecessary and slow hash collision actionSven Gothel2011-03-051-23/+3
|
* Fix GLStateTracker PixelStore popAttrib(): Only write new state if ↵Sven Gothel2011-03-051-9/+19
| | | | corresponding push was of ClientPixelStore type
* JOGL OSX: Cleanup imports/overrideSven Gothel2011-03-012-5/+4
|
* JOGL GLDrawableFactory: Expose experimental method createProxySurface(..) ↵Sven Gothel2011-02-285-0/+46
| | | | | | for new windowing system ad-hoc development. WARNING: This method may change ro be removed over time!
* Code cleanup: override, imports, StringBuilder, ..Sven Gothel2011-02-261-4/+5
|
* Clean/Fix: Threading CodeSven Gothel2011-02-263-17/+6
| | | | | | - 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-262-4/+5
| | | | | | - StringBuffer -> StringBuilder - ReflectionUtil.getBaseName -> class.getSimpleName() - cleanup imports, generics and @Override for all touched classes
* GLProfile: More Tolerant for missing features; MacOSX: Fix External Context ↵Sven Gothel2011-02-262-3/+9
| | | | / SWT; SWT Test: Distinguish awt/headless and main-thread (osx) swt launch
* WindowsExternalWGLContext: Tolerate invalid/released hdc (swt, winxp-32bit)Sven Gothel2011-02-221-26/+21
|
* JOGL/X11/AWT: No more need for seperate X11 Display instance if availableSven Gothel2011-02-221-6/+5
|
* NativeWindow ProxySurface Abstraction and lock/unlock Surface cleanupSven Gothel2011-02-2211-118/+41
| | | | | | | | | | | | | - ProxySurface -> abstract javax.media.nativewindow.ProxySurface, implemented by jogamp.nativewindow.WrappedSurface, just wrapping surface handle jogamp.nativewindow.windows.GDISurface, using HWND and get/release HDC on lock/unlock - Unifying NativeSurface's lockSurface/unlockSurface implementations - NEWT's WindowImpl - NativeWindow's ProxySurface, WrappedWindow, GDIWindow and JAWTWindow - wingdi/GDI: Add 'WindowFromDC' and 'GetClientRect' to GDI
* Win,ARB,GL-2.x: Fix pfd to caps conversion: !pbuffer / CleanupSven Gothel2011-02-115-99/+107
| | | | | | | | | | | This fix enables the configuration win7 64bit chromium2.1 (virtual box 4.0.2 linux host) Querying unsupported pixel format attributes, ie pbuffer, will fail the ARB attribute query functions. Cleanup of SharedResource's, hold all reused flags in win32 impl, ie pbuffer, arb pixelformat, ..
* Win,GDI,SWT: Fix pfd to caps conversion. Added thorough debug code.Sven Gothel2011-02-113-11/+30
| | | | | | | Debug code added for use case: WinXP-32bit, GDI, SWT, where WGL.wglGetCurrentDC() returns a non null value which is invalid. Using the value (hdc) on eg GDI.GetObjectType(hdc) return 0 instead of 3 (OBJ_DC) and GDI.GetPixelFormat(hdc) returns 0 with last error 2000.