aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Refine Frustum definition: Adding Frustum.FovDesc; Clarify makeFrustum ↵Sven Gothel2015-07-206-36/+104
| | | | argument constraints -> Exceptions
* ShaderCode: Add 'create' variations w/ custom shader file suffixes as well ↵Sven Gothel2015-07-191-19/+303
| | | | as w/ Uri usage
* Fix javadoc typo: </count> -> </code>Sven Gothel2015-07-181-4/+4
|
* Bug 1151 - Working OculusVR SDK 0.5.0.1 on GNU/Linux w/ Positional Tracker (DK2)Sven Gothel2015-07-1818-155/+422
| | | | | | | | | | | | | | | | | | | | | | | | | Note: The ovrd server must run, otherwise no device is being detected. General Stereo API Changes: - EyePose -> ViewerPose - We only use the viewer pose and derive the pupile position via EyeParameter. - Hence we reduce complexity. - A single ViewerPose will be maintained by StereoDeviceRenderer - position is in meter, allowing StereoGLEventListener to scale device independent. - StereoDevice receives knowledge of certain sensors, to be queried and used for start-sensors. OVR: - Simply apply the above general changes - Build: Remove [more] unused API entries for SDK rendering
* Merge branch 'master' of https://github.com/xranby/joglSven Gothel2015-07-171-0/+2
|\
| * bcm/vc/iv/DisplayDriver depend on libEGL, pre-load it using GLProfileXerxes Rånby2015-07-171-0/+2
| | | | | | | | | | | | | | Fixes libnewt.so: undefined symbol: bcm_host_init" when the NEWT Screen is initialized before OpenGL ES. Signed-off-by: Xerxes Rånby <[email protected]>
* | Merge branch 'Bug1170' of https://github.com/rhatcher/joglSven Gothel2015-07-171-3/+3
|\ \ | |/ |/|
| * Expand bitmasks in SWTAccessor GTK_VERSION methodrhatcher2015-07-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SWTAccessor's GTK_VERSION method accepts a single int argument. The argument is interpreted as a bit-packed version number with the apparent intent that the three least significant bytes of the int version number are the major, minor, and micro version number components. The code that extracts these three components from the int argument was using four-bit mask 0x0f instead of eight-bit mask 0xff, and therefore was discarding the four most significant bits of each component. This caused any component greater than 15 to lose information. For example, a component whose value should have been 20 would end up as 4. The version number is used in comparisons in a static initializer to determine how to retrieve references to Method objects via reflection. One such comparison decides whether to retrieve a reference to method GTK_WIDGET_WINDOW or method gtk_widget_get_window. The problem initially presented itself after an attempt to use JOGL with SWT 4.527 and GTK 2.20.1 because this version of SWT removed the GTK_WIDGET_WINDOW method. Due to the bug SWTAccessor believed the GTK version was 2.4.1 instead of 2.20.1, so the code attempted to find GTK_WIDGET_WINDOW instead of gtk_widget_get_window. Because this method was no longer there a runtime exception was raised.
* | Bug 1176: BCM VC IV: Refine clamping of window position and size at native ↵Sven Gothel2015-07-172-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | creation - Refines commit a566a1b5a2828b38f1a5c4dfb215ab9b03e7acaa - Issue clamping at 'canCreateNativeImpl()' instead of 'createNativeImpl()', allowing to define clamped position and size before utilizing these values at caller 'createNative()'. Otherwise a clamped position would cause to wait for the original position after 'createNativeImpl()'. This also allows to remove the positionChanged(..) / sizeChanged(..) calls in the native CreateWindow0() implementation.
* | Bug 1176: BCM VC IV: Add window-position to window-relative mouse position ↵Sven Gothel2015-07-171-1/+1
| | | | | | | | in DisplayDriver.moveActivePointerIcon(..) call
* | Bug 1176: Clamp window position and size to 0/0 and screen-size, avoiding ↵Sven Gothel2015-07-172-4/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | out-of screen window positions on BCM VC IV hardware Out of screen window positions on BCM VC IV hardware cause: - Misalignment of self-rendered mouse-pointer / window due to window-offset. - Artifacts when moving the mouse pointer partially out of screen. We still need to add the window position to rel. mouse-pointer position.
* | PointShader: Use same precision for shared uniform in vertex- and fragment ↵Sven Gothel2015-07-162-2/+14
| | | | | | | | | | | | | | | | | | shader On GNU/Linux NVidia 340.76 the test TestGLPointsNEWT failed otherwise: error: precision mismatch between shaders for uniform (named mgl_PointParams[0]) error: precision mismatch between shaders for uniform (named mgl_PointParams[1])
* | openmax: fix compile errors (clang)Sven Gothel2015-07-162-1/+2
| |
* | Bump OculusVR RIFT SDK to 0.5.0.1Sven Gothel2015-07-142-3/+12
|/ | | | State: Build clean on GNU/Linux and OSX
* Use CompatibilityType.BACKWARD_COMPATIBLE_BINARY for 2.3.1 / Add ↵Sven Gothel2015-04-041-3/+3
| | | | EGL.KHRONOS_BOOLEAN_ENUM_FORCE_SIZE manually to avoid binary incompatibility
* TestVersionSemanticsNOUI: Fix expected compat result (inactive tests)Sven Gothel2015-04-031-4/+4
|
* Bug 1153 - GLEmitter: Only dump extra comment if w/o enum-name or w/o extensionSven Gothel2015-04-011-7/+8
| | | | Since GlueGen handles enum typedef's properly, this relation to the enum-name is already printed.
* Bug 1153 - Adopt to ArrayHashSet change, don't use deprecated ctor (gluegen ↵Sven Gothel2015-04-018-14/+17
| | | | commit c156343fec33ceea7f238b9766a9f4985fb92687)
* TestVersionSemanticsNOUI: Add version tests: v221 -> v230 and v230 -> v23x (*)v2.3.1v2.3.1_winexeSven Gothel2015-03-271-2/+25
| | | | | | | | | | | | | | | | | (*) Version v230 -> v23x Violates the semantic versioning spec a bit, i.e. minor API change within 'com/jogamp/opengl/util/stereo/' ! 2/ 11: com.jogamp.opengl.util.stereo.StereoDevice.Config : Remove 1, Change 0, Deprecate 0, Add 0 4/ 11: com.jogamp.opengl.util.stereo.StereoDeviceFactory : Remove 1, Change 0, Deprecate 0, Add 4 6/ 11: com.jogamp.opengl.util.stereo.StereoDeviceRenderer : Remove 1, Change 0, Deprecate 0, Add 1 Class com.jogamp.opengl.util.stereo.StereoDevice.Config Removed Class , access public super synchronized Class com.jogamp.opengl.util.stereo.StereoDeviceFactory Removed Method createDevice, desc (ILcom/jogamp/opengl/util/stereo/StereoDevice$Config;Z)Lcom/jogamp/opengl/util/stereo/StereoDevice;, access abstract public Class com.jogamp.opengl.util.stereo.StereoDeviceRenderer Removed Method getSingleSurfaceSize, desc ()Lcom/jogamp/nativewindow/util/DimensionImmutable;, access abstract public
* Bug 1116: Add ShutdownHook for all factories and devices to ↵Sven Gothel2015-03-276-15/+133
| | | | StereoDeviceFactory using NativeWindowFactory
* Bug 1116: Oculus SDK 0.4.4: Add extra DK1 detection; Add call to ↵Sven Gothel2015-03-275-4/+42
| | | | | | | | | | | | | | ovr_Shutdown() and ovrHmd_Destroy(hmdDesc). Add extra DK1 detection - SDK 0.4.4 w/ DK1 (Linux): ovrHmd_Detect() returns zero! - In such case: Try creating one device, which works for DK1 on Linux Add call to ovr_Shutdown() and ovrHmd_Destroy(hmdDesc). - Add StereoDeviceFactory.shutdown() and call ovr_Shutdown() for in OVRStereoDeviceFactory.shutdown(). - Call ovrHmd_Destroy(hmdDesc) in OVRStereoDevice.dispose().
* StereoDeviceUtil: Only rotate if current mode doesn't match required ↵Sven Gothel2015-03-272-2/+12
| | | | | | rotation. Add verbosity. Allowing user to permanently rotate the device ..
* Bug 1116: Oculus SDK 0.4.4 support for JOGL - Part-3: New set of C-files, ↵Sven Gothel2015-03-274-36/+24
| | | | | | adapt to new SDK API - Tested on Windows and working StereoDemo01 w/ DK2!
* Bug 1116 - Add OculusVR DK2 Support - Part-2 (DK1 and DK2 on DK2 SDK w/ Eye ↵Sven Gothel2015-03-265-95/+73
| | | | Tracker if available)
* Bug 1150 - Fix unit tests: Use same definition as in GLProfile for ↵Sven Gothel2015-03-262-2/+70
| | | | | | | | 'disableOpenGLARBContext', i.e. exclude OSX Also add 'TestGLProfileXXNEWTPost', run w/o any properties after TestGLProfile*NoARBCtx to be sure follow-up unit tests are tested under default conditions.
* GLContext glVersionString: Group all 'compat' flags to save space, add ES32 ↵Sven Gothel2015-03-261-3/+10
| | | | compatibility
* Bug 1150 - Fix GLContextImpl.createImpl(..) NoARBCreateContext and '!ARB GL ↵Sven Gothel2015-03-2611-925/+1324
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >= 3.1' issues This fix solves the described issues below. Test cases added for onscreen and offscreen drawables, the latter includes Window's bitmap special case. GLContextImpl.createImpl(..): Fix NoARBCreateContext and '!ARB GL >= 3.1' issues: ================================================================================= GLContextImpl.createImpl(..) implementation of X11GLXContext and WindowsWGLContext wrongly handles the case of NoARBCreateContext. Here the !ARB created context shall allow GL >= 3.1, since ARB context creation is disabled and 'no mix' can occur. The latter was already intended due to failure criteris 'createContextARBTried' in: if( glCaps.getGLProfile().isGL3() && createContextARBTried ) { failure("createImpl ctx !ARB but ARB is used, profile > GL2 requested"); } Further, WindowsWGLContext treats glCaps.isBitmap() within the 'createContextARBTried=true' case, but it shall never tried using the ARB context creation method. This even lead to the issue of creating a 1.1 context, but having the ProcAddressTable being still on the GL > 2 cached table. This is due to 'setGLFunctionAvailability(..)'. Ensure 'setGLFunctionAvailability(..)' is functional ==================================================== Caller shall either throws an exception if method returns false or issues a state reset. In case 'setGLFunctionAvailability(..)' throws an exception itself, the states are no issue.
* Bug 1148 - OSX MonitorDevice: Use unique and native deviceID instead of indexSven Gothel2015-03-219-153/+160
| | | | | | | | | | | | | Adopt to bug 1147, commit 2c88b6dfd4eb7e2cd9a50fa48e08ecafc980931a. Using the native unique deviceID makes monitor identification more robust. This also allows us simplify displayID -> NSScreen-idx -> MonitorDevice into displayID -> MonitorDevice and to survive a primary monitor change.
* Bug 1116 - Add OculusVR DK2 Support - Part-1 (DK2 on DK1 SDK w/o Eye Tracker)Sven Gothel2015-03-2116-372/+756
| | | | | | | | | | | | | | | | | - DK2's screen on X11 (at least) starts in rotated mode, detect and apply MonitorDevice rotation via NEWT's OpenGL StereoDeviceUtil - Move StereoDevice.Config -> StereoDeviceConfig - Expose generic StereoDevice to public: GenericStereoDeviceConfig + GenericStereoDeviceFactory - GenericStereoDeviceFactory exposes public GenericStereoDeviceConfig creation for mono, sbs-stereo and lense-sbs-stereo w/ diff. parameters. - Pass eye surface/texture size for each eye from device to renderer, instead of assuming unified values. - Unify GenericStereoDevice.createRenderer(..) and OVRStereoDevice.createRenderer(..) code
* Bug 1147 - Fix XRandR13 Usage: Rotate / Change-Mode, use unique CRTC/Mode ↵Sven Gothel2015-03-2016-229/+766
| | | | | | | | | | | | | | | | | | | | | ids, .. RandR 1.3 XRRSetCrtcConfig related: - X11RandR13 now sets the new screen size via XRRSetScreenSize(..) - X11RandR13 now propagates RRScreenChangeNotify events via XRRUpdateConfiguration(event). Hence reporting virtual desktop size now. - X11RandR13 now disables the CRTC before XRRSetCrtcConfig(..) to avoid invalid configuration (see spec)! RandR 1.3 General: - Uses unique id named instead of unstable index for modes and CRTC. This allows proper identification even for 'swizzled' devices.
* Fix API Doc: GLBufferObjectTracker / GLBufferStorageSven Gothel2015-03-122-12/+22
|
* Resolve RenameJavaSymbol issues (GLUgl2 and CGL) using GLEmitter (-> ↵v2.3.0Sven Gothel2015-03-112-13/+3
| | | | | | | | | | | | | | | | DelegateImplementation) due to new GlueGen Semantics GlueGen would usually use the original native C method name for proc-address or direct call. GLEmitter however uses the renamed method name, assuming it is shorter and resulted from a 'RenameExtensionIntoCore' directive. GLUgl2 native usage was broken since 2.2.4 GLUgl2 and CGL use RenameJavaSymbol w/ the intention of delegation, hence resolve the issue using the new DelegateImplementation directive which preserves the original function name for the native call.
* Bug 1135: Complete GLBufferObjectTracker for GL 4.5 using GlueGen's ↵Sven Gothel2015-03-114-54/+58
| | | | | | | | | | | | DelegateImplementation/ReturnsOpaque (Bug 1144) Using GlueGen's new DelegateImplementation/ReturnsOpaque feature (Bug 1144) allows us to drop manually C implementation stubs, while simply delegating into the renamed private generated variant using the manual stub. Completed glBufferStorage and glNamedBufferStorage for GL 4.4 while subsuming DSA's of GL 4.5 and GL_EXT_direct_state_access (only the single functions, otherwise extension is not compatible).
* Bug 1144: Adapt to GlueGen commit 405512e1c8a2e24834b0d057f0b020b4a0f4c25bSven Gothel2015-03-115-21/+42
|
* MonitorDevice.toString: More brief 'options' ..Sven Gothel2015-03-091-1/+1
|
* Bug 1142 - NEWT: Add support to retrieve the primary MonitorDeviceSven Gothel2015-03-0920-100/+271
| | | | | | | | | | | | | | | | | Support added for - Windows - X11 XRandR 1.3 - OSX Note: Our whole MonitorMode association handling is currently _not_ dynamic. - only on Windows we actually use native unique ID, which might not change (adapter and monitor idx) - On OSX and X11 we simply use indices, but if monitor setup changes - they refer to different instances. In case it is desired to cover dynamic monitor setup change, we need to address this issue in a new bug entry.
* TestScreenMode02aNEWT: Incr. wait period, for some reason one older test ↵Sven Gothel2015-03-091-1/+1
| | | | machine (Linux/Ubuntu) doesn't rotate screen reliably.
* Fix regression of commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655: ↵Sven Gothel2015-03-091-0/+1
| | | | IDX_MONITOR_DEVICE_VIEWPORT needed to be updated!
* Bug 1134 - Use ASTLocationTag in LoggingSven Gothel2015-03-082-6/+6
| | | | Adapt to GlueGen commit da909f84dc8421052c92491baa7dd90e1c78dc8f
* Bug 1135 - Cleanup: Class ownership change of static GL enumeratesSven Gothel2015-03-0612-58/+56
| | | | GLBufferStateTracker now also supports GL4.GL_QUERY_BUFFER
* Bug 1135 - Cleanup: Fix native code WarningSven Gothel2015-03-068-14/+41
|
* Bug 1135 - GL/GLContext: Add isGLES31Compatible()Sven Gothel2015-03-064-17/+80
|
* Bug 1135 - Cleanup: Remove GL_NV_vertex_array_range extension support in ↵Sven Gothel2015-03-066-88/+4
| | | | GLContext
* Bug 1135 - Change JOGL's GlueGen Plugin to support EGL 1.5 , ES 3.1 and GL 4.5Sven Gothel2015-03-064-198/+341
| | | | | | | | | | | | | | | | | | | - BuildStaticGLInfo - Needs to allow 3rd if-def block in header files - GLConfiguration Changes - 'GLHeader' -> 'GLSemHeader' + 'GLDocHeader' This allows us to provide all header files, exposing all cross-references (extensions and aliases) for our API doc. However, inclusions/exclusion semantics shall only operate on the actual header files used for code generation. - All AliasedSymbol's extensions must be covered by 'IgnoredExtension' to be excluded. - Sync w/ GlueGen commit 5f66fafec303de7d7904a499fefb8e3d023b61ae
* Bug 1130 - Add Mapping from AWT Component -> NEWT [Screen, MonitorDevice]Sven Gothel2015-02-176-33/+271
| | | | | | | | | | | | | | | | | | | | | | | The mapping AWT Component -> NEWT [Screen, MonitorDevice] shall allow generic AWT applications to utilize NEWT's MonitorDevice information like physical monitor-size and DPI. - AWT-Component -> NEWT-Display: - NewtFactoryAWT.createDisplay - AWT-Component -> NEWT-Screen: - NewtFactoryAWT.createScreen - AWT-Component -> NEWT-MonitorMode: - NewtFactoryAWT.getMonitorDevice - NewtFactoryAWT.getMonitorDevice - If OSX, utilizing OSX's AWT Component -> MonitorDevice-Index mapping - Otherwise using the coverage to identify MonitorDevice See TestGearsES2GLJPanelAWT 'GetPixelScale', demonstrating the mapping while pressing 'p' (cached MonitorMode) and pressing SHIFT-'p' (non-cached MonitorMode).
* NativeWindow: Refactor getLocationOnScreenSafe(..) and ↵Sven Gothel2015-02-173-51/+60
| | | | getLocationOnScreenNonBlocking(..) from JAWTWindow -> AWTMisc (to be reused)
* MonitorDevice: Add 'throws IllegalStateException' for ↵Sven Gothel2015-02-172-8/+13
| | | | [query|set]CurrentMode(..) if !screen.isNativeValid()
* NativeWindowFactory: Add FIXME tag regarding Bug 973 (Needs service provider ↵Sven Gothel2015-02-171-10/+30
| | | | | | | | | | | | interface (SPI) for TK dependent implementation) .. Also: - add 'AbstractGraphicsDevice createDevice(final String nwt, ..)' variant for explicit TK type passing. - 'AbstractGraphicsDevice createDevice(..)' uses DefaultGraphicsDevice for generic TK types, but TYPE_EGL and TYPE_AWT
* Fix commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655 ↵Sven Gothel2015-02-171-1/+0
| | | | | | | (ArrayHashSet<MonitorDevice> instance erroneously added) Revert useless ArrayHashSet<MonitorDevice> instance erroneously added in commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655.
* NEWT MonitorDevice: Identify cloned devices (fully covered) ; Windows: ↵Sven Gothel2015-02-1720-97/+177
| | | | | | | | | | | | | | | | | | | Iterate-over and identify all adapter:monitor. (Bug 1129) - Identify cloned devices (fully covered) - MonitorDevice gets 'isCloned()' to identify whether it is a cloned device, i.e. fully covered by another monitor. This detection may happen natively but will always performed platform agnostic. - getMainMonitor(..) now exclude 'cloned' devices - Windows: Iterate-over and identify all adapter:monitor - Since we also list cloned monitor, we need to iterate over all adapter and all it's monitor-devices. - The native monitor-id is now defined as: ( adapter-idx << 8 ) | monitor-idx. - Bug 1129 <- listed under this bug entry for convenience