Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. UISceneDemo03b: Add a little more customization .. (details)
  2. Demos: Use Runnable lambda for window.destroy() off-thread and use key-symbols F4, ESC and Q to trigger off-thread window.destroy() (details)
  3. TestSWTAccessor02NewtGLWindow: Use lambda for SWTAccessor.invokeOnOSTKThread(..) (details)
  4. Vec[234]f: Add scale(Vec[234]f s) variant for convenience (details)
  5. GraphUI: Group API doc + remove GlyphShape's redundant many getOrigPos() variants (details)
  6. GraphUI: Shape: Add runSynced(Runnable); Add setPMVMatrix(..) to setup complete PMVMatrix, use it in getSurfaceSize(..), shapeToWinCoord(..) and winToShapeCoord(..) (details)
  7. AABBox: Add set(AABBox) (details)
  8. GraphUI: Use thread-save and lock-free CopyOnWriteArrayList for List<Shape>, allowing off-thread mutation (details)
  9. Quaternion: Add rotateByAngleNormalAxis(..) variant using Vec3f axis (details)
  10. Vec3f: Add UNIX_X and UNIX_X_NEG, enhance API doc (details)
  11. AABBox: Fix intersects2DRegion(..), add resize{Height, Width}(..) and AABBox ctor using Vec3f low and high (details)
  12. Add TestVec3f01NOUI: This test shall be enhanced, only priliminary angle tests for now (details)
  13. GraphUI: Extract generalized AnimGroup functionality from UISceneDemo03*, providing sets of animated Shapes (GlyphShape or any other) (details)
  14. GraphUI: Button: Reduce default DEFAULT_LABEL_ZOFFSET from 0.005f -> 0.0001f, have to check if working on all platforms (TODO) (details)
  15. make/scripts/test-fat-jars.sh: Adjust UISceneDemo03b -> UISceneDemo03 (details)
  16. GraphUI Demo: UISceneDemo03: Add optional audio (only) via '-audio <URL or file-path>' using our GLMediaPlayer (FFmpeg + JOAL/OpenAL) (details)
  17. UISceneDemo03: Detail demo description, add blog entry (details)
  18. Graph Loop: Make initFromPolyline() and locateClosestVertex() more robust, report error but do not crash. (details)
  19. Graph Font + Glyph: More robust detetection and API definition of non-contour/whitespace Glyphs (detect and allow to skip 'em) (details)
  20. GraphUI Shape: Show dirty-state in getSubString() (details)
  21. Graph Font: Make TypecastRenderer.DEBUG package private to be used by TypecastFont (details)
  22. GraphUI Demo FontView01: Enhance usability and refactor: Add left-column glyphSymbol number, mouse-wheel scrolling, Fitting the font info, .. (details)
  23. GraphUI Demo FontView01: Fix '-showUnderline', i.e. glyphListener shall use the last element in container, the GlyphShape (details)
  24. GraphUI Demo: Rename UISceneDemoU01a -> UIGraphDemoU01a, not using GraphUI's Scene but manual GLEventListener etc, add a few Glyph tests (details)
  25. Graph Font + Glyph: Fix whitespace definition: Include 'no original underlying shape' and add API doc (details)
  26. PMVMatrix.gluPerspective(): Redfine angle in radians instead of degrees ** API Change ** (details)
  27. Demos: CommandlineOptions: Add total_duration command line option '-duration <floar>' in seconds (details)
  28. GraphUI Demos: Proper use of CommandlineOptions (details)
  29. GraphUI Scene: Pass sampleCount in ctor variant and refine API doc, clip to [1..8]; Add clarity in Region; Demos CommandlineOptions adds actual graphAASamples set and utilized (details)
  30. GraphUI Scene: Generalize its interface PMVMatrixSetup and usage of its DefaultPMVMatrixSetup w/o orthogonal alike scale-back but fully parametric (details)
  31. FloatUtil.isEqual(..): Rename raw {isEqual->isEqualRaw}(a,b) varianr w/o EPSILON; Add isEqual(a,b) w/ default EPSILON; Use it where applicable (details)
  32. GraphUI Shape: Enhance API doc for colors (details)
  33. GraphUI Shape.ZAscendingComparator: Use (faster) FloatUtil.isEqual2(a,b) and consider Z-scaling (details)
  34. GraphUI Scene: Expose Z-Epsilon API for default and current PMVMatrixSetup values; Button add Z-Epsilon API for ctor and setLabelZOffset(..) (details)
  35. GraphUI Button: Add label bounds to own shape (adds used z-range) (details)
  36. GraphUI Enhance: API doc; Scene/Button Z-offset and -epsilon; Push temp AffineTransform to local method; Simplify BaseButton setCorner(0) -> setPerp(); Protected abstract ctor .. (details)
  37. GraphUI GraphShape: Split renderModes -> final renderModesReq + mutable renderModes, allowing the latter to be adjusted e.g. in case a color-channel is required (details)
  38. GraphUI: Button/Label: Complete String -> CharSequence type change for text, rename Button set{Label->Text}(..), adjust demo/text code (details)
  39. GraphUI Margin, Alignment: Reuse ctor for default-ctor (details)
  40. FloatUtil.abs(a): Mark as deprecated, use Math.abs(a) directly. We assume it is an intrinsic + branch-less implementation (details)
  41. GraphUI: Use z-top of bounding box for border rectangle, not z-center (details)
  42. GraphUI Scene: Only set dbgBorderThickness on shape if not zero and shape has no border yet, i.e. don't override (details)
  43. GraphUI Scene: Add invoke(boolean wait, GLRunnable) for convenience using GLAutoDrawable.invoke(..) (details)
  44. GraphUI Shape: Add setScale(..) and scale(..) with Vec3f for convenience; Add border-color in toString() if hasBorder() (details)
  45. GraphUI Layout Alignment: Separate center alignment to horizontal and vertical (details)
  46. GraphUI Layout: Html'ify API header of Gap and Padding (details)
  47. GraphUI Layout: Fix BoxLayout scale, margin and padding; Add same padding behavior to BoxLayout and GridLayout. (details)
  48. make/build.xml: Add target 'all.but-onejar', allowing a quick build w/o the all-jar files as usable with atomic jars like: make/scripts/tests.sh `USE_BUILDDIR=1` (details)
  49. make/build.xml: Fix target 'all.but-onejar', adding targets 'one.lib.dir' and 'test.compile' to have native libs in place and update tests/demos (details)
  50. GraphUI Group: Override isShapeDirty(), performing a deep dirty state update on all group member to allow validate to function (details)
  51. GraphUI Group.validateImpl(): Pick RenderMode for border from 1st Shape if required (hasBorder() and null border yet) (details)
  52. GraphUI BoxLayout: Margin is only ignored for center Alignment w/o Fill scale. {Box,Grid}Layout: Always remove Bottom-Left delta and refine API doc of  incl scale behavior (details)
  53. Debug.debugExplicit(): Define and use explicit symbol debug flag; Use it for certain debug output to keep most silence for debugAll() (details)
  54. GraphUI GlyphShape: Add copy-ctor variant (details)
  55. GraphUI Layout: Remove unused leftover var and complete GridLayout ctor (details)
  56. GraphUI Label: Add convenient methods getUnscaledGlyphBounds(..) (details)
  57. FontView01: Have all layout performed by our Box/Grid-Layout classes w/o manual calculus (the goal) (details)
  58. etc/test.bat: Override test.log logfile, don't append (details)
  59. GraphUI Layout Tests: Use blue for group border and black for shape border; UILayoutGrid01: Add Padding/Non-Padding comparison (details)
  60. GraphUI GridLayout: Fix scaled non-center: Only add center offset if requested and avoid double-add. (details)
  61. GraphUI GridLayout: Disable TRACE_LAYOUT (details)
  62. GraphUI Demo FontView: Prescan available countour glyphs for fluent scrolling .. (details)
  63. GraphUI Layout (Box/Grid): Adjust bottom-left offset according to center-axis (details)
  64. GraphUI Demo Fontview: Fix '-showUnderline' mode; Fix and simplify addGlyphs(..) loop; Add Margin on glyphShapeBox (details)
  65. Bug 1452 - Decouple math functionality to 'com.jogamp.math' to be toolkit agnostic (PMVMatrix, Matrix4f, Vec4f, ..) (details)
  66. GraphUI Container: Add getShapeCount() and add API doc .. (details)
  67. GraphUI GlyphShape.addShapeToRegion(): In case the Font.Glyph has no shape, at least add an empty region to avoid an NPE (details)
  68. GraphUI Test: FontViewListener01: Align to FontView01 .. fix invsible GlyphShape by adding a BoxLayout w/ Center and parent Group w/ GridLayout FillCenter (details)
  69. GraphUI Demo FontView01: Re-add Margin for glyphInfoBox (text) and use Group's getShapeCount() .. (details)
  70. GLMediaPlayerImpl: Replace StreamWorker thread management with GlueGen's new WorkerThread, helping to simplify code (details)
  71. Demos MovieSimple, MovieCube: Use Uri.tryUriOrFile(..) and have user just use '-url YOUR_LOC' for file and URL. MovieSimple: Just use multiple '-url LOC' on commandline to determine window-count and so forth .. (details)
  72. OculusVR: Adapt to latest GlueGen changes (details)
  73. Bump oculusvr-sdk (details)
  74. Bug 1452: GraphUI Scene DefaultPMVMatrixSetup.set(): Fix regression of commit 5d6e8a367c03644740187e500c6de5d3ac039d5e (details)
  75. GraphUI Button.getSubString(): Expose labelZOffset (details)
  76. Bug 1452: PMVMatrix4f: Drop redundant unused mulWith*(Vec*...) 'v_out = M * v_in', user can simply get the desired matrix and apply its mulVec*(..) operation (details)
  77. GLMediaPlayerImpl: Recover lost StreamException information from commit 77eab439147af69089fa3ebf07d64ee3b4d67bfd (details)
  78. Bug 1452: GraphUI Shape: Rename setMvTransform(..) -> setTransformMv(..), aligning w/ PMVMatrix4f naming .. (details)
  79. GraphUI Layout: Add UILayoutBoxGridOffset01, showing behavior w/ shapes not starting at 0/0 but at an offset (details)
  80. Bug 1454 - GraphUI Scene: Elevate active (selected) shape (add z-offset) and select (pick) in Z descending order (details)
  81. Bug 1455 - GLMediaPlayer: Add isAutioMuted() query on volume and earmark audio-volume if not initialized and set it when AudioSink becomes available (details)
  82. UISceneDemo20: Set proper z-epsilon for all Buttons on reshape to use the perfect minimum label-z-offset (details)
  83. GraphUI Button: Remove redundant ctors and methods. ZOffset shall be simply given, calculated by caller (details)
  84. Bug 1454 - GraphUI Scene: Make active ZOffset scale configurable (details)
  85. Bug 1459 - GraphUI Shape: Add active (pointer over/left) state and callback Listener (details)
  86. UISceneDemo20 Use onToggle(..) for media-button (audio on/off) as well as use direct lambdas for all its other listener (details)
  87. GLMediaPlayer: Stop audio streaming to AudioSink on zero volume (Flush on mute and play on un-mute) (details)
  88. GraphUI MediaButton: Return this for chaining on setter (details)
  89. GraphUI Shape: Crossref input modifier funcs in API doc; Condense simple setter/getter (details)
  90. Bug 1460 - GraphUI Shape: Allow keeping aspect-ratio at resize (details)
  91. GraphUI Label: Condense getUnscaledGlyphBounds() (details)
  92. GraphUI Demo FontView01: Add mode showing the Glyph's name below in grid (details)
  93. Graph Fonts: Remove not required text files from Ubuntu fonts (details)
  94. Graph Fonts UbuntuFontLoader: Factor out FontLoaderImpl and have get(..) synchronized for static fontMap field access (details)
  95. Graph Fonts: Add 'Material Icons Round-Regular' (APL-2 license) and use it in UISceneDemo03 via hard coded unicode symbol numbers (details)
  96. Bug 1462 - Graph Font: Add name + codepoint to ID and Glyph mapping plus traversing through all Glyphs (details)
  97. Graph Font Tests: Fix missing codepoint -> GlyphID conversion (details)
  98. Graph Font: API doc: Fix typos 'Return ' .. to 'Returns `. (details)
  99. GraphUI Demos UIMediaGrid01: Demos multiple MediaButton in a grid - performance & stability (details)
  100. Bump make/scripts/tests.sh (details)
  101. Bug 1462 / 1462: GraphUI Demo UISceneDemo20: Replace some text in buttons with symbols (details)
  102. GraphUI Layout: Simplify non-centered negative-offset (underline) removal (details)
  103. GraphUI GraphShape: Factor out static addRectangle(..) to be reused for debugging purposes (details)
  104. GraphUI Shape: Use a bitfield for the many binrary states instead of boolean to preserver footprint .. (details)
  105. GraphUI: Mark some more methods final in Shape + GraphShape (details)
  106. Bug 1463 - Graph Font: Whitespace or undefined Glyphs shall not cover (any) height exceeding overall CharSequence (details)
  107. GraphUI Shape: Add remaining binary states to bitfield to preserver footprint .. (details)
  108. GraphUI Shape: Issue onToggleListener on setToggle(..) to complete user experience, add overridable toggleNotify(..) allowing implementations to react before listener. (details)
  109. GraphUI Button: Increase default spacing a little: x .12 -> .20, y .42 -> .46 (details)
  110. GraphUI Button: Support toggle'ed labels and fixed font size scaling for symbols (see setFixedLabelSize()), (details)
  111. GraphUI Demo UISceneDemo20: Give 'Show FPS' a toggle text 'Hide FPS' .. and have the text resize being of fixed aspect-ratio (like the movie) (details)
  112. GraphUI Demos: Minor refinements.. (details)
  113. Bug 1431: Fix NewtCanvasAWT resize on X11, broken since commit ad38d1559854985b1131e5b6c7274a392b5bc265 (details)
  114. Bug 1430 - Fix Background erase not disabled with AWT GLCanvas and NewtCanvasAWT (details)
  115. Bug 1465 - Graph / GraphUI: Render a Region's ColorTexture in proper aspect-ratio, letter-boxed or zoomed (config) + Bug 1466 Fix color mixing (details)
  116. FFMPEGMediaPlayer: Insert GLSL comment-line documenting the addressed VideoPixelFormat conversion for easier debugging (details)
  117. GraphUI: Group: Add attribute to allow not to relayout if child Shapes are dirty. Only issue validate on childs if theyre shape is dirty (details)
  118. Bug 1454 + Bug 1464: Maintain a Shape local 'zOffset' and only consider it for sorting w/o actually modifying the position (enogh to be painted on top and for selection) (details)
  119. GraphUI: Shape: Add missing 'markShapeDirty()' on setBorderColor() (details)
  120. Bug 1467 - GraphUI: Don't de-activate a Shape if became active via 'mouseOver' (mouseDragged) (details)
  121. Bug 1468: Demos MiscUtil.destroyWindow() Call GLAutoDrawable.destroy() directly w/o mitigation attempts (off-thread) (details)
  122. Bug 1468 - SIGSEGV on use after free when destroying NEWT Window/Display via a native dispatch'ed event like key/mouse/touch input (details)
  123. Bug 1469 - FFmpeg binding uses ReleaseStringChars instead of ReleaseStringUTFChars for GetStringUTFChars() acquired UTF (details)
  124. Bug 1470 - NEWT/JNI: Perform exception check and rethrow for all Java Callbacks as recommended (details)
  125. Bug 1471: Add a GLEventAdapter for GLEventListener similar to the other Adapter patterns (details)
  126. Bug 1470 - FFmpeg / JNI: Perform exception check and rethrow for all Java Callbacks as recommended (details)
  127. GraphUI Scene: Add custom one-time GLRunnable disposable action list, allowing to properly take-down user resources at dispose(GLAutoDrawable) (details)
  128. GraphUI Shape: 'int name' -> 'int id' and add 'String name', change get/set methods accordingly (details)
  129. GraphUI Shape: Complete commit c8ec6fa7cc16a0777db16af8b4d0d0b898f8b546 (details)
  130. TextureSequence.setTexCoordBBox(): Add 'verbose' parameter for debug output instead hard coded branch (details)
  131. FFMPEGMediaPlayer: Always use own textureLookupShader and validate its custom name against GLSL internal 'texture2D', add missing VideoPixelFormat conversions (details)
  132. Bug 1473 - ALAudioSink: AV Synchronization: Adopt to JOAL ALAudioSink changes (details)
  133. Bug 1472: GLMediaPlayer AVSync: Refine AVSync debug output (WIP) (details)
  134. Bug 1472: GLMediaPlayerImpl: Track repeatedFrame count (details)
  135. Bug 1472: Enhance GLMediaPlayer AV Sync: Utilize SCR aware audio PTS used as master-clock, enabling proper AV sync w/ untouched audio (details)
  136. Bug 1472: Enhance GLMediaPlayer AV Sync: Fix FFMPEGMediaPlayer's audio resample: Use swr_get_out_samples(..) to calculate the required output sample count (details)
  137. Bug 1472: Enhance GLMediaPlayer AV Sync: Fine tune AV heuristics to (multiple of) audio_dequeued_ms (details)
  138. GLJPanel: Allow disabling GLSL vertical flip programmatically via setUseGLSLVerticalFlip(false) in addition to property 'jogl.gljpanel.noglsl' (details)
  139. GLJPanel: Fix DEBUG output USE_GLSL_TEXTURE_RASTERIZER -> USE_GLSL_VERTICAL_FLIP, changed names in commit d6cf89f22a5926b437c4430eb166972d90fd92be (details)
  140. Bug 1472: GLMediaPlayer: Expose SCR PTS and encourage its usage, removes user from selecting video or audio PTS. (details)
  141. Bug 1472: GLMediaPlayer: Handle setPlaySpeed() like setAudioVolume() if stream is not yet initialized or playing, cached clipped value and set at initGL(..) (details)
  142. Bug 1472: GLMediaPlayer.getNextTexture(): Fix playSpeed > 1; Handle !hasVideoFrame upfront, simplifying sync-block (details)
  143. FFMPEGMediaPlayer: Remove unconditional DEBUG output (details)
  144. GLMediaPlayerImpl: Don't reset SCR on video_scr_reset or irq'ed rendering w/o video-frame (fixes 'massive' seek'ing) (details)
  145. GLMediaPlayerImpl: Use a PTS av_scr_cpy from av_scr for getPTS() avoiding direct user-exposure and potential data-race (details)
  146. GLMediaPlayer: Recognize !use_audio when repeating (caching) a video-frame, i.e. ignore audio_queued_ms in such case (Fixes video sync on SCR w/o audio) (details)
  147. GLMediaPlayer: Don't resetAVPTS() on resume(), allowing less AV sync disruption after pause(flush:=false) (details)
  148. GLMediaPlayer.getPerfString(): Don't show audio pts values is no_audio, misleading and wrong info (e.g. on mute) (details)
  149. Bug 1479 - NativeLibrary: Add getNativeLibraryPath() returning actual native library path, support throughout DynamicLibraryBundle[Info] (details)
  150. FFMpeg: Fix and clarify 'resend package' and 'continue draining frames' states (details)
  151. FFMpeg: Just be nice and flush GL stream, no finish sync required (details)
  152. GraphUI Scene: Allow attaching GLAutoDrawable manually and adding GLEventListener (API) (details)
  153. GraphUI Shape: Simplify setIO(..) usage (private) (details)
  154. GraphUI Shape: Add IO_ACTIVABLE state (details)
  155. GraphUI Shape: Use Shape.MoveListener for Shape.onMove(..) providing more details of the translation (details)
  156. GraphUI Shape/Group: Group.isActive() also returns true if any child is active; Add isContainer() to avoid rfeflection (details)
  157. GraphUI Shape: Rename [set|is]{Enabled -> Visible}(..) for clarity (details)
  158. MovieSBSStereo: GLMediaPlayer.setTextureMinMagFilter() must be called before initialization (details)
  159. GraphUI MediaButton: Disable AA_RENDERING_MASK for GLMediaPlayer color texture (effiency, less artifacts) (details)
  160. GraphUI UISceneDemo20: Only use ALAudioSink if its context is already created (ready) (details)
  161. GraphUI Alignment: Use Alignment.None instead of default ctor. (details)
  162. GraphUI Padding, Margin, Gap: Use zero value constant None instead of default ctor (details)
  163. Graph Region: Edit API doc for AA_RENDERING_MASK (details)
  164. GraphUI Shape: Rename is{Container -> Group}(), denoting a group only (details)
  165. GraphUI Container: Cleanup or Group/Scene add*/remove* methods (details)
  166. Graph Shader: Fix 'curverenderer01-single.vp' aligning w/ 'curverenderer01-pass1.vp' (commit 297c48f4fefd1ab59800524ea5f0dd56684d6786) (details)
  167. GraphUI Shape: Fix Z{Ascending,Descending}Comparator using and exposing getAdjustedZ() (details)
  168. Bug 805: GraphUI Group: Add 'widget-mode' used to utilize a group as one visible UI widget element (activation, visibility) (details)
  169. Bug 805: GraphUI Scene/Shape Pick-Active/Interaction: Pick shall complete traversion for most inner interactive shape; ... (details)
  170. GLMediaPlayer: Add printNativeInfo(..) exposing used native library information (if any), FFMPEG* utilizes NativeLibrary.get[Native]LibraryPath() (details)
  171. Bug 805: GraphUI: Add Group.replaceShape(..) and Shape.getParent() (details)
  172. Bug 805: GraphUI: Add MediaUI01 widtget (MediaButton w/ full feature controls), used in demos UIMediaGrid0[01] (details)
  173. GLMediaPlayer: TEXTURE_COUNT_DEFAULT 4 -> 3 as tested via UIMediaGrid01, usable w/ fix for Bug 1472 (Enhance A/V Sync) (details)
  174. OMXGLMediaPlayer: Add 'printNativeInfo(..)' - completes commit d99c2d8b28470d335ab5b30124ef8b0607b3b90f (details)
  175. UIMediaGrid0{01}: Minor cleanup: Drop unused local Font (details)
  176. GraphUI Shape.move*(): Don't notify MotionListener on programmatic move. (details)
  177. GraphUI Shape: setParent() pp -> protected, allow to override setName() (details)
  178. GraphUI Shape: Unify 'resetState()' for clear and destroy, refine API doc (details)
  179. GraphUI Group: Allow override of clearImpl0() and destroyImpl0() (details)
  180. GraphUI Shape Rectangle: Draw simple filled rect if lineWidth==0, drop AA_RENDERING_MASK from renderModes (not necessary for a rect) (details)
  181. Bug 805: GraphUI: Add Widget 'marker' (a Group), derived by {MediaUI01 -> MediaPlayer} and new RangeSlider (details)
  182. GraphUI Scene/Shape: Add KeyListener for activeShape (details)
  183. GraphUI Shape: Allow overriding of setColor(..) and setPressedColorMod(..) (details)
  184. GraphUI MediaPlayer Widget: Issue playStream(..) and setTextureUnit(..) by caller, reducing specification (details)
  185. GraphUI RangeSlider Widget: Add rectangular page-sized knob mode using a 'page size' of covered view.  Resolve color-setup. (details)
  186. GLMediaPlayer/FFMPEGMediaPlayer: Add chapter metadata support and use com.jogamp.common.av.PTS.millisToTimeStr(..) (details)
  187. GraphUI MediaButton: Add clearImpl(..), stopping and rewinding stream (details)
  188. GraphUI Group: Fix layout w/ zero shapes (empty), i.e. set AABBox to zero (details)
  189. GraphUI RangeSlider: Add rectangular marks (e.g. for chapters, see MediaPlayer), by simply overlay marks on bar (details)
  190. GraphUI Cleanup: Simplify Shape.draw*() and Container.{add,remove*}Shape[s](); Remove Scene.setDebugBorderBox() (details)
  191. GraphUI Shape: Maintain multiple Activation Listener (ArrayList instead of single instance) (details)
  192. GraphUI MediaPlayer / GLMediaPlayer: Add current chapter-title to info-field (details)
  193. GraphUI RangeSlider.addMark(): Return the mark-shape and use double itemLen (in sliding direction) for better visibility (details)
  194. GraphUI Shape: Enable Tooltip (currently text only) to be displayed after delay w/o mouse-move (1s) (details)
  195. GraphUI Shape: Ease Tooltip managment via Scene: Only started Tooltip is required to tick(), drop List<Tooltip> (details)
  196. GraphUI Button.setLabelColor(..): Add alpha channel and variant w/ Vec4f for flexibility (details)
  197. GraphUI Tooltip: Simplify integration w/ Scene + Shape; Use Shape.setToolTip(Tooltip) for generic usage; Add TooltipText colors. (details)
  198. GraphUI Rectangle: Remove dropping AA_RENDERING_MASK, i.e. allow VBAA_RENDERING_BIT again (details)
  199. GraphUI Demos: Have CommandlineOptions produce GLProfile and full GLCapabilities request, removing code duplication (details)
  200. GraphUI Demo UIMediaGrid00: Add letterBox option, defaults to true now (details)
  201. Graph GLSL functions.glsl: Complete overload vec2 and vec3 variants; Fix 'and'/'or' semantic (swapped); Add EPSILON in clip_coord(..) and add is_inside(..) function (details)
  202. Graph Clipping: GLSL: Add `USE_AABBOX_CLIPPING`, i.e. clipping via AABBox min/max vec3 as convenient using Graph/GraphUI produced AABBox (details)
  203. Graph Clipping: Initial Region impl of AABBox clipping using GLSL shader (Convenient using Graph/GraphUI produced AABBox) (details)
  204. Graph Clipping: Add missing Modelview-Matrix (Mv) Multiplication / Consideration (details)
  205. GraphUI Margin/Padding: Rename zeroSum*() -> zero*() (details)
  206. AABBox resize{Width, Height}(..): Positive argument shall always denote expansion (details)
  207. GraphUI Demos: Use CommandlineOptions properly (details)
  208. GraphUI RangeSlider: Add unitSize param: Size of one unit (element) in sliding direction (details)
  209. Graph VBORegion2PVBAAES2: Fix Rescale (MAX texSize): renderFboHeight shall use winHeight (typo) (details)
  210. Matrix4f: Fix minor API doc parem ref-name (details)
  211. GLReadBufferUtil: Allow passing a custom GL read-buffer name, useful to read FBO attachments (GL_COLOR_ATTACHMENTi) (details)
  212. Graph/GraphUI: Revise Graph Region ShaderMapping, fix AABBox-Clipping for Pass2-AA, revise Pass2 AA Quality parameter .. (details)
  213. Bump (c) -2024 for edited files + LICENSE.txt (details)
  214. GraphUI UIShapeDemo00: Simple Shape within Scene (details)
  215. GraphUI RangeSlider: Position page-sized knob (variant) with value at page-start position. (details)
  216. GraphUI RangeSlider: Fix API doc for implementation detail (details)
  217. Graph/GraphUI AA-Quality (shader): Region: Add DEFAULT_AA_QUALITY and clipping funs for aaQuality/sampleCount; TextRegionUtil: Pass quality parameter in draw-functions (details)
  218. GraphUI RangeSlider: Add SliderAdapter (convenience) and use a listener-array (was 1 instance) (details)
  219. Graph Text Tests: TestTextRendererNEWT20, TestTextRendererNEWT21: Reduce sampleSet 3 -> 1 and fontSet 11 -> 7 to avoid footprint for default tests. (details)
  220. GraphUI RangeSlider: [add,remove]{->Slider}Listener() (details)
  221. GraphUI Shape: Add receiveKeyEvents() and receiveMouseEvents() allowing a Shape to receive forwarded events from another Shape; Added receive*Events() specialisation for RangeSlider (details)
  222. GraphUI Demos CommandlineOptions: Add ctor w/ graphAAQuality and graphAASamples (details)
  223. GraphUI: Added RangedGroup Widget, displaying a clipped content Group with optional horizontal and/or vertical RangeSlider; FontView01 now uses RangedGroup scrolling GlyphGrid smooth per-pixel (details)
  224. GraphUI Demo FontView01: Remove using jogamp.graph.curve.opengl.VBORegion2PVBAAES2 perf-counter hooks (not committed) (details)
  225. AABBox: Rename private fields low -> bl and hight -> tr for readability; Unroll getRayIntersection()'s 'find candidate planes' (details)
  226. AABBox: Add intersects(AABBox), contains(AABBox), scale(float, float, float) and scale2(float, float, float) (details)
  227. GraphUI Group Clipping setClip{OnBox->OnBounds}(): Add Vec3f cullingScale factor for the clip-box to discard rendering completely..; Add Group.setClipBBox(..) (details)
  228. GraphUI Enhance Clipping: Drop pixel clipping if `clip-box >= clip-box*cullingScale` (Group). RangedGroup: Pass through `clipCullingScale` to cull fully outside shapes; Apply in FontView01 Demo.. (details)
  229. GraphUI RangedGroup.validateImpl(): Simplify updating contentPosZero (details)
  230. Graph/GraphUI AA-Quality + SampleCount (shader): Push params down to RegionRenderer's RenderState usually rarely set from top of user API, reducing complexity. (details)
  231. GraphUI GLButton: Filter out Region.AA_RENDERING_MASK in ctor, as GLEventListener renders into FBO at correct resolution. (details)
  232. GraphUI Enhance Clipping: Drop 'cullingScale' param, a simple intersection-test against 'clipBox' to discard whole shapes if completely outside is enough. (details)
  233. GraphUI Clipping Demo: Adding a simple Shape within a clipping Group all driven by a Scene (details)
  234. GraphUI Tooltip*: Generalize Tooltip base (more versatile) and add TooltipShape supporting general Shapes to be added (details)
  235. AABBox: Rename private fields {bl, tr} -> {lo, hi} denoting proper orientation in API doc (details)
  236. Add Cube to Frustum Plane mapping, supporting transformation of object-space AABBox into model-view Cube to Frustum.Plane for culling (cpu) and clipping (gpu) (details)
  237. Frustum: Revise code and its Plane definition to support Cube->Frustum as well as to extract planes for float[] vec4-shader uniforms. (details)
  238. Graph Clipping: Use Frustum Clipping using AABBox -> Mv transformed Cube -> Frustum mapping + GraphUI Support (details)
  239. GraphUI Graph/Scene: Reuse TreeTool for contains(), getShapeByID() and getShapeByName(), also adding full traversion (instead of a flat lookup) (details)
  240. GraphUI Group/BoxLayout/GridLayout: Handle empty Group, i.e. detect zero-size and avoid scale=Infinity and zero-sized resulting AABBox (details)
  241. GraphUI Group: Add ctor with most usable values, allowing injecting a Group as a one-liner in code (details)
  242. GraphUI Tooltip*: Allow user to trigger display via now(); Ensure TooltipShape.DestroyCallback gets passed the user provided Shape only (details)
  243. GraphUI RangeSlider: Keep Region.AA_RENDERING_MASK in renderModes (details)
  244. GraphUI Demo Fontview: Demonstrate Clipping w/ rotation; Reuse GlyphShape for grid, info-box and tooltip (details)
  245. UIShapeClippingDemo00: Fix behavior, use shape as child and completely chain rendering in display() (details)
  246. GraphUI Demos: Minor finetuning.. (details)
  247. Bug 1488 - Graph RegionRenderer Shader Mapping: Revert to IntObjectHashMap and throw exception on shaderKey collision (details)
  248. Bug 1490 - GraphUI Group: Resolve Performance Issues with Shape Mv Transform -> PMVMatrix4f (details)
  249. Bug 1490 - GraphUI Performance: Group/Scene: Use temp sorted arrays (details)
  250. Bug 1489 - GraphUI Group: Resolve Performance Regression in Scene.pickShape(): Drop invisible and clipped shapes (details)
  251. Bug 1490: Add missing rename Shape.transformMvTo() -> applyMatToMv(), an transformMvTo() was an intermediate rename (oops) (details)
  252. Bug 1488 - Graph RegionRenderer: Ensure shaderPrograms1 path is disabled using 'static final boolean useShaderPrograms0 = true' (details)
  253. Simplify TooltipShape: Create own wrapper Group to not mutate user given Shape (if reused in DAG); Fix FontView01 TooltipShape instance, use NoOp DestroyCallback (details)
  254. TooltipShape.destroyTip(): Only show warning instead of throwing a RuntimeException if tip couldn't be found within wrapper Group (details)
  255. Scene.dispatchMouseEventPickShape(): Reuse PMVMatrix4f, Ray and Vec3f within EDT, reducing temp objects on mouse moves (details)
  256. Bug 1488 - Graph RegionRenderer: Use a more deterministic 64-bit shaderKey: [0-31] bit values and state, [32-63] colorTexSeqHash (details)
  257. Bug 1488: FFMPEGMediaPlayer: Fix getTextureFragmentShaderHashID(), i.e. use actual tc_w_1 = (float)getWidth() / (float)texWidth value as hardcoded within the shader. (details)
  258. VBORegionSPES2: Disable verbose flag in TextureSequence.setTexCoordBBox() .. oops (details)
  259. GraphUI Demos: Minor fixes (details)
  260. GraphUI Tooltip: Use delayMS for no time-based alarm (only used for now()); FontView01: Use TooltipShape for GlyphShape only with mouse click -> Tooltip.now() (details)
  261. GraphUI RangeSlider/RangedGroup: Fix overall integration, adding more API comments; UIMediaGrid01 now uses RangedGroup (details)
  262. GraphUI MediaPlayer: Fix Zoom behavior; Disable DEBUG output (details)
  263. Graph: Drop non-existing 'JAVA' font from FontFactory (details)
  264. Bug 1488: Complete/Fix producing the 64-bit shaderKey: Use long values in bit-shift expressions and simplify it (details)
  265. NativeWindowFactory.createDevice(..) w/ unitID for cloning; DefaultGraphicsDevice: Move ownership (Object) code into base class ensuring same code (details)
  266. Bug 1491: Add missing rename DefaultGraphicsDevice.swap{Device->}HandleAndOwnership() (details)
  267. Bug 1491: FFMPEGMediaPlayer: Lock moviePtr lifecycle phase in-between [initStreamImpl - destruction] (details)
  268. Bug 1491: GLMediaPlayerImpl: Use a shared *GraphicsDevice for all compatible shared GLContext, removing resource restrictions (details)
  269. Math Vec*: Rename {scale->mul}(..) for non-scalar types (n-dim); Add div(..) (details)
  270. GraphUI Layout: Emphasize whether a value/parameter is scaled or unscaled in API doc to ease usage (details)
  271. GraphUI Shape: API doc for colors; add makeShapeDirty() on setColor(); add activeRGBAModulateOn. (details)
  272. GraphUI RangeSlider: Use a modulating color for rect page frame for visible response when active (details)
  273. GraphUI MediaPlayer: Cleanup infoLabel layout; Add sticky HUD (always-on) button; Fix tooltip help; Make slower-speed reduce by half if <= 1 (details)
  274. GraphUI Demos: Bump FontView01 + UIMediaGrid01 (details)
  275. GLMediaPlayer: Fix playing with single-threaded mode w/ texture-count 1 (details)
  276. GLMediaPlayerImpl: Throw out video_queue_growth (details)
  277. GraphUI MediaPlayer: seek from display-thread, don't act on SliderAdapter.clicked() as dragged is always called (details)
  278. GLMediaPlayer: Add initial subtitle support, track audio/video/subtitle streams and languages and add convenient switchStream(..) entry. (details)
  279. GraphUI MediaPlayer Widget: Support switching audio and subtitle streams, show their language as a button - press to switch to next (details)
  280. GLMediaPlayer: Support tile metadata (details)
  281. GraphUI MediaPlayer: Bump Chapter tooltip scale (details)
  282. GraphUI MediaPlayer: Disable always DEBUG hack (details)
  283. GraphUI Group: Don't draw border is set invisible (details)
  284. GraphUI Misc Cleanup: Move get*Font() helper to Scene; Allow GraphShape.drawImpl0(..) override; (details)
  285. GLMediaPlayer/FFMPEGMediaPlayer: Add working subtitle (text + ass/saa) support via FFMpeg (details)
  286. GraphUI MediaButton/MediaPlayer-Widget: Add working subtitle (text + ass/saa) support via GLMediaPlayer/FFMPEGMediaPlayer (details)
  287. GraphUI MediaPlayer: Remove debug message (Behavior to disable border if zoomSize == 1, full-screen) (details)
  288. GraphUI Demos: Disable debug toggles (details)
  289. GraphUI Demo UIMediaGrid00: Add missing patch from relocating getSymbolsFont() (details)
  290. FFMPEGMediaPlayer (native): Set used sid to none if not selected (missed) (details)
  291. FFMPEGMediaPlayer (native): Simplify subtitle handling in readNextPacket0() (details)
  292. GraphUI MediaButton: Clear cached subtitle data on uninit and init from GLMediaPlayer (details)
  293. Cleanup GLMediaPlayer.EventMask.Bit handling in GLMediaEventListener implementations: Either Uninit, Init, Pause or Play (exclusive) (details)
  294. FFMPEGMediaPlayer/GraphUI MediaButton: AVSubtitles's start/end are relative to pts [ms] (fixed); Use ASSEventLine packets within proper pts only. (details)
  295. FFMPEGPlayer: Prep for bitmap'ed subtitles: Use glEnable()/glBindTexture() func-ptr in native; readNextPacket0() passes video+subtitle texTarget and texID (details)
  296. GLMediaPlayer: Add getSubtitleCodec() (details)
  297. GraphUI MediaButton: Add blending below subtitle, allow setting color/blending and subLineDY; MediaPlayer: Add full infoLine toggle with click on infoBox (details)
  298. Bug 1494: Add SubTextureEvent & SubEmptyEvent; Add SubtitleEvent.release() provided by owner to take back borrowed resources (texture of bitmap subtitle) (details)
  299. GLMediaPlayer: Split GLMediaFrameListener (rarely used) from GLMediaEventListener, easing listener callbacks; Prepare SubtitleEventListener generalization (Bug 1494) (details)
  300. Utilize PTS.getCurrent() where applicable (details)
  301. Bug 1495: GraphUI Shape: Only updateMat() if marked dirty once in applyMatToMv() and getMat(*) (details)
  302. Bug 1496 - GraphUI Shape: Allow markShapeDirty() and markStateDirty() to be lock free (details)
  303. GraphUI: Only issue Shape.mark*Dirty() if values were updated or data available; JOGL ImageSequence: Add addFrame(GL, TextureFrame), remove*Frame() and isSequenceAnimating() (details)
  304. Add Vec2f.set(Vec2i) and Vec2f(Vec2i); Add Texture.set(..) allowing a pending setup/update of texture and image dimensions (details)
  305. GraphUI Demos: FontView01 can use scaling Lable ctor; UISceneDemo01b doesn't need to issue Shape.updateMat() (details)
  306. Graph shader (pass1 simple): USE_COLOR_TEXTURE: Clip to vec4(0) color using alpha 0 instead of the debug color white vec4(1), which leads to the white seam if out of gcu_ColorTexBBox (details)
  307. Bug 1495: GraphUI Shape: Fix updateMat() API doc (details)
  308. Bug 1494: Clarify SubtitleEvent class, adding general FFmpeg analog CodecID and hence also promoting VideoPixelFormat (details)
  309. Vec[234][ifd]: Add toArray(..) method (details)
  310. Bug 805: Graph/GraphUI TextureSequence Scale: Move Region.COLORTEXTURE_LETTERBOX_RENDERING_BIT to TextureSequence and add enabling/disabling of aratio adjustment + letter-box back-color (details)
  311. Bug 1494 - GLMediaPlayer/GraphUI: Support Displaying Bitmap'ed Subtitles (PGS ..) via FFMPEGFMediaPlayer/FFmpeg (details)
  312. GLMediaPlayerImpl: Allow one frame to be shown paused when issuing seek(), i.e. 'oneVideoFrameOnce'. (details)
  313. GLMediaPlayerImpl.StreamWorker: Don't grow videoFramesFree since having removed buffer grow in commit 68ca5b14966cb7eec9501c17dc8b3b465421a68e (details)
  314. GLMediaPlayer: Adjust API doc and certain names differentiating video (from subtititle) etc. (details)
  315. GLMediaPlayerImpl: Disable subDEBUG flag (details)
  316. Remove Clonable and clone() in favor of explicit determined copy() and copy-ctor in com.jogamp.graph.* and com.jogamp.math.* (details)
  317. OutlineShape: Earmark coloring task when triangulating .. (details)
  318. Bug 1493 - Text/ASS Subtitle via MediaButton/MediaPlayer Alignment defaults to CenterHoriz, also support Left. (details)
  319. Bug 1493: Supply language code to SubtitleEvent, perhaps allowsing player to select font for ASS/Text rendering; Remove GLMediaPlayer's getStreamLang() as replaced by getLang() (details)
  320. Graph/GraphUI: Move getDefault*() to FontFactory and add {get,set}FallbackFont() + Font.getBestCoverage(..); Use fallback-font in MediaButton in case chosen font doesn't match (foreign languages, e.g. 'zho' Chinese .. ) (details)
  321. Documentation for `HeadTable` (details)
  322. Added JavaDoc references, split version fields according to spec. (details)
  323. Getters for macStyle bits, enhanced docu for fontDirectionHint. (details)
  324. Added documentation to the 'glyf' table and structures. (details)
  325. Added documentation to the HmtxTable. (details)
  326. Added offset table as member to the font. (details)
  327. Bugfix: Format 14 header of Cmap table is not skipped correctly. (details)
  328. Improved documentation of Cmap table. (details)
  329. Added documentation to the 'loca' table. (details)
  330. Added support for reading the SVG table. # Conflicts: # src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java # src/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java (details)
  331. Added rudimentary documentation to the CFF table. (details)
  332. Enhanced dump format of cmap table. (details)
  333. Hausmacher Merge: Complete merge part-1: Compile and test clean (pre-write-feature) (details)
  334. Cleanup (static, final, whitespace, ..) post Hausmacher Merge (details)
  335. Hausmacher Merge: Complete merge part-1 into JOGL from our typecast branch; Adding missing LongDateTime class (details)
  336. Typecast: Cleanup: final (details)
  337. Typecast: Re-apply overwritten stability changes (NPE, redundancy) (details)
  338. Use new com.jogamp.common.util.StringUtil (GlueGen) (details)
  339. Tooltip[Text]: Use a slightly round button, change to grayscale colors matching our buildin-theme and have the tips placed just above center of the toop (not above it) (details)
  340. GraphUI RangedGroup: Keep position @ validate() (details)
  341. GraphUI: Fix func-name, rename TexSeqButton.use{AspectRation->ARatio}Letterbox() matching TextureSequence (details)
  342. Graph Font: Pull up static function (details)
  343. GraphUI Button: Fix API doc typo (details)
  344. Bug 1493: Enhance Text/ASS subtitle layout: Split too wide text into multiple lines (max 4) fitting into box, trimming it beforehand (details)
  345. GraphUI RangeSlider: Active {Page -> Knob} Color modulation now affects the knob for round-knob and page-size knob (details)
  346. GLMediaPlayer.Chapter: Add duration() (details)
  347. GraphUI Cleanup: Use TreeTool directly (Reduce virtl-funcs);  Fix typos; Use PointerListener for onClicked(), add onHover(); (details)
  348. Bug 1498: GraphUI: Adopt RangedSlider to new picking (coming up), simplifies code. (details)
  349. Bug 1498: Change Top-Level Widget Mode: Register a top-level Group in Scene, where its zOffset gets adjusted when activated.. (details)
  350. Bug 1498: GraphUI: Fix Picking Traversal throughout Groups in Z-Descending Order, testing Children and fallback to Group if positive (details)
  351. Bug 805: GraphUI MediaPlayer: Add 'Aspect Ratio Crop' Button; Have Chapter Pre/Next Buttons; Toggle HUD head info box (full or brief) (details)
  352. Bug 805: GraphUI Demos: Adopt changes to FontView01 + UIMediaGrid01, dropping UIMediaGrid00 (details)
  353. GraphUI MediaPlayer: Elevate the ctrlSlider a little (and add it behind ctrlBlend) to remove the occlusion by the blending box (details)
  354. Bug 1498: Refine Top-Level Widget Mode: Handle active-state by Scene, simplify and reduce runtime costs (details)
  355. GraphUI: Add Shape.IO_DISCARDED and update it @ Scene/Group draw(); Prepare for experimental occlusion-culling (details)
  356. Bug 1492: GLMediaPlayer: Add playStream(..) variant passing desired audio- and subtitle language (details)
  357. GraphUI RangeSlider: Fix 'activeOldMod' -> static to member (details)
  358. GLMediaPlayerImpl: Fix playing one frame after seek() @ getNextTexture(), requires pause state (normal at play-state) (details)
  359. GLMediaPlayerImpl: Adjust aid/sid to AUTO if alang/slang is given (details)
  360. GraphUI Shape: Add MouseEvent to MoveListener; RangeSlider: Add rel obj position + NEWT MouseEvent to listener, renamed {Slider->Change}Listener and add PeekListener for mouse-over events (details)
  361. GraphUI Tooltip*: Remove unused paramter in createTip() and clarify names (details)
  362. GraphUI: Add HUDShape, a convenient HUD shape to be exposed in the scene using inner object size/pos, similar like TooltipShape (details)
  363. GraphUI MediaPlayer: Add HUDShape on time-slider @ mouse-over with time-string and still-images (optional) .. using HUDShape (details)
  364. GraphUI Demos FontView01 + UIMediaGrid01: Use FSAA 8 (GPU MSAA 8) as these demos utilize lots of smaller resources regions ... (details)
  365. Graph: Outline[Shape]: Add print() (details)
  366. Bug 1501: Graph Delaunay: Add double triAreaVec2() and isInCircleVec2() version, overcome float precision; Loop: Pass edgeType not Winding, simplify findClosestValidNeighbor() -> isValidNeighbor(); CDTriangulator2D.addCurve() enforces Winding.CCW on BOUNDARY null == loop case (details)
  367. Bug 1501: Graph: Add UIShapeDemo02a test for rectangular shape provoking tessellation issue / or use Glyph03FreeMonoRegular_M (details)
  368. Bug 1501: Graph Delaunay: Use default winding outer-boundary:=CCW and inner-hole:=CW w/o using winding determination (might be incorrect) (details)
  369. Bug 1501 Graph Delaunay: Replace MaterialIconsRound-Regular.ttf with fixed winding direction (outer-bondary TTF CW (Graph CCW) and inner-hole TTF CCW (Graph CW) (details)
  370. Remove unused imports ... (details)
  371. VectorUtil: Remove unused isInCircleVec2f() and triAreaVec2f(), now using *2d() variants (details)
  372. Loop.isValidNeighborDbg(): Remove DEBUG branch, always true (details)
  373. Graph RenderState/RegionRenderer: Rename isHintMaskSet()->hintBitsSet(), setHintMask()->setHintBits(), clearHintMask()->clearHintBits() (details)
  374. Bug 1501: Graph RenderState add debug-bits, i.e. DEBUG_LINESTRIP used in VBORegionSPES2 to just render lines instead of the filled area -> Used in UIShapeDemo02a (details)
  375. Bug 1501: Graph Shape: onInit(ListenerBool) -> onDraw(DrawListener) w/ added capability for code injection to render (details)
  376. VectorUtil: Consolidate names, remove unused float prevision variants (if any) (details)
  377. Bug 1501: VectorUtil: Deprecate prev line2line intersection tests, adding new impl; Add isConvex*() to determine whether a polyline is convex (details)
  378. Bug 1501: Apply intersection tests for non-convex shapes to reject new CCW  and non-circulcircle triangulation candidates in our Delaunay tessellator (details)
  379. GraphUI Demo FontView01: Re-Enable snapshot via 's' (details)
  380. Bump tests.sh script (details)
  381. Bug 1501: Graph CDTriangulator2D: Add properties to enforce convex and non-convex treatment to simplify debugging etc (details)
  382. Use FloatUtil.isZero(a) w/ build-in FloatUtil.EPSILON directly instead of passing FloatUtil.EPSILON to explicit isZero(a, epsilon) (details)
  383. FloatUtil Epsilon ops: Generalize all epsilon operations by allowing passing a zero epsilon value to reduce complexity in upper math layers (details)
  384. DoubleUtil: Align Epsilon ops w/ FloatUtil (details)
  385. VectorUtil: Remove double InCircleDThreshold = DoubleUtil.EPSILON (details)
  386. VectorUtil: Generalize *seg2segIntersection* w/ epsilon and doCollinear (details)
  387. VectorUtil.isConvex1(): Fix zero test and handle out-of-bounds (details)
  388. Bug 1501: Refine convex == !complex: Use 'complex' term, have env-property toggle OutlineShape's isComplex() for visibility (details)
  389. Bump tests.sh (details)
  390. VectorUtil: Bring back specialized testSeg2segIntersection() w/ build-in FloatUtil.EPSILON epsilon and no collinear test (details)
  391. VectorUtil: Add experimental isSelfIntersecting1() with O(n*n) complexity (details)
  392. Graph: Cleanup Loop & OutlineShape, more compact methods (details)
  393. TestTextRendererNEWT20: Fix fontSet override at main + add some glyph info in demo text (details)
  394. TypecastGlyph: Add complex/simple info in toString() (details)
  395. VectorUtil.isSelfIntersecting1(): Always use off-curve points (details)
  396. Bug 1489: Lock-Free Double-Buffered 'renderedShapes' causes data-race between rendering & input-edt, use synchronized tripple-buffering (details)
  397. FloatUtil: Add IEC559_SIGN_BIT; Align API doc and implementation w/ native jaulib, i.e. drop 0==epsilon case for performance (details)
  398. Math: Align Frustum/Matrix dependency w/ native jaulib (details)
  399. Math: AABBox: Fix getRayIntersection(), i.e. setting the correct resulting component. (details)
  400. Math: Recti::size(): Change semantics: Return true if area is zero, not if x and y is zero (details)
  401. Math: AABBox + AffineTransform: Make class final (details)
  402. TestMatrix4f02MulNOUI: Align w/ native jaulib (details)
  403. Math: Align mul + inv perf tests with native jaulib (details)
  404. Graph: Fix Outline::setWinding: Clear DIRTY_WINDING bit (details)
  405. Graph: Fix OutlineShape::getBounds: validateBoundingBox() if DIRTY_BOUNDS (details)
  406. Graph OutlineShape/Region: Enhance debug output (details)
  407. AABBox: Optimize contains and intersect (details)
  408. Matrix4f::mapWinToRay: Drop unused 2nd temp matrix (details)
  409. ShaderState::bindAttribLocation: Add missing glBindAttribLocation (details)
  410. Graph Hedge: Cleanup initialization (details)
  411. Graph Hedge/Loop: Debug output (details)
  412. HowToBuild: Adjust Debian 12 (details)
  413. GPURegionGLListener01: Add debug output and createTestOutline01a (details)
  414. Eclipse bump (details)
  415. test script: bump (details)
  416. ffmpeg: Use manually looked-up symbol for sws_freeContext (details)
  417. test script: align unix/win for testing NativeLibrary (Bug 1510) (details)
  418. Build/test: Use OpenJDK-21 per default (details)
  419. doc: Using a custom OpenGL Library under Windows (details)
  420. WindowsAWTWGLGraphicsConfigurationFactory::chooseGraphicsConfigurationImpl: Skip invalid PixelFormatID (details)
  421. Use OpenJDK-21 and Java-11 source/target (details)
  422. Adopt to GlueGen's VersionSemanticsUtil changes (details)
  423. Fix Android NEWT build: ANDROID_TOOLCHAIN_SYSROOT0 -> ANDROID_TOOLCHAIN_SYSROOT1 (details)
  424. GlueGen's uses japicmp.jar instead of semver.jar (details)
Commit f8434687e144967164b770e4d323b77fd9d295da by Sven Gothel
UISceneDemo03b: Add a little more customization ..
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java (diff)
Commit fd93c0692ea3ed32bcbd1f08cca2290b6da3d451 by Sven Gothel
Demos: Use Runnable lambda for window.destroy() off-thread and use key-symbols F4, ESC and Q to trigger off-thread window.destroy()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
Commit 64f7f17dc2db744106f1c71b576ef8e29a8854bd by Sven Gothel
TestSWTAccessor02NewtGLWindow: Use lambda for SWTAccessor.invokeOnOSTKThread(..)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTAccessor02NewtGLWindow.java (diff)
Commit ca49bcc03029156e52dfc29f886501548e9bf397 by Sven Gothel
Vec[234]f: Add scale(Vec[234]f s) variant for convenience
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Vec4f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Vec2f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Vec3f.java (diff)
Commit 090e0368895ccfe46a852cc66c7e2e6a78ee01be by Sven Gothel
GraphUI: Group API doc + remove GlyphShape's redundant many getOrigPos() variants
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit dafb6cc85b4f183d12bfb34e702f01860fe2b59c by Sven Gothel
GraphUI: Shape: Add runSynced(Runnable); Add setPMVMatrix(..) to setup complete PMVMatrix, use it in getSurfaceSize(..), shapeToWinCoord(..) and winToShapeCoord(..)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit faa80aa8c6e5231ed4c00df6ccb0fb715974eb40 by Sven Gothel
AABBox: Add set(AABBox)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java (diff)
Commit c13fed83f20db55ee0b0b548ef6526a95fd2d6c4 by Sven Gothel
GraphUI: Use thread-save and lock-free CopyOnWriteArrayList for List<Shape>, allowing off-thread mutation
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 9ed41468fbf3d93555ac6c16630b25220f55aa39 by Sven Gothel
Quaternion: Add rotateByAngleNormalAxis(..) variant using Vec3f axis
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java (diff)
Commit 72980712910d1c49e324f1463d987be3ea280abd by Sven Gothel
Vec3f: Add UNIX_X and UNIX_X_NEG, enhance API doc
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Vec3f.java (diff)
Commit 2f62d6f6f3f2fd56f87e9ec40023ca5b7bec9252 by Sven Gothel
AABBox: Fix intersects2DRegion(..), add resize{Height, Width}(..) and AABBox ctor using Vec3f low and high

intersects2DRegion(..) got the passed width and height wrong,
i.e. given object low position >= this-low position
and given object high position including width/height <= this-high position
is required to match for intersection.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java (diff)
Commit 74e9bd8a46e20666700ce79e22d08a2a05f2c26f by Sven Gothel
Add TestVec3f01NOUI: This test shall be enhanced, only priliminary angle tests for now
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestVec3f01NOUI.java (diff)
Commit 4448010d8d787c73d48f54b296c3a8c2499aeaa0 by Sven Gothel
GraphUI: Extract generalized AnimGroup functionality from UISceneDemo03*, providing sets of animated Shapes (GlyphShape or any other)

Hardcoding the whole animation process into user code is not feasible to allow a quick add-on.

GraphUI's new AnimGroup is a Group and allows to add multiple AnimGroup.Set of AnimGroup.ShapeData.

+++

AnimGroup.ShapeData holds the actual Shape and its start- and target position
as well as its active animation state and an optional user object attachment.

AnimGroup.Set holds a list of AnimGroup.ShapeData as well as the animation properties
and states like acceleration and velocity for translation and angular operations.
It also contains the AnimGroup.LerpFunc for linear interpolation of the next position
as called via AnimGroup.tick() over all sets.

AnimGroup.LerpFunc is intended to perform the linear interpolation for the next position,
either user provided or one of the provided may be used, i.e. TargetLerp, ScrollLerp and SineLerp.

To setup the start- and target position for each AnimGroup.ShapeData,
a AnimGroup.ShapeSetup is used - user implementated or one of the build-in
of AnimGroup.addGlyphSetHorizScroll01(..), AnimGroup.assGlyphSetRandom01(..).

+++

UISceneDemo03 consolidated UISceneDemo03 + UISceneDemo03b (deleted)
and shows the following AnimGroup capabilities:

- Two repetitive scrolling text lines. One text shorter than the line-width and one longer.

- One line of animated rectangles, rotating around their z-axis

- A text animation assembling one line of text,
  each glyph coming from from a random 3D point moving to its destination all at once including rotation.

- One line of text with sine wave animation
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemoU01a.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/MiscUtils.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
Commit 7cba3e8e8bc0f224cc4be8bd1290068ed5429365 by Sven Gothel
GraphUI: Button: Reduce default DEFAULT_LABEL_ZOFFSET from 0.005f -> 0.0001f, have to check if working on all platforms (TODO)

Otherwise, we have to resolve the 'one Region' for the Button (backgroung shape + text on top)
implementation with two OutlineShapes.
As of now, we use the z-offset of the text above background to avoid z-fighting.
This is like a manual application of glPolygonOffset(..) directly on the produced vertices.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
Commit 0054a35d22ae74b8af211211715d702ef05b88a7 by Sven Gothel
make/scripts/test-fat-jars.sh: Adjust UISceneDemo03b -> UISceneDemo03
The file was modifiedmake/scripts/test-fat-jars.sh (diff)
Commit 93087a60bb9397155b4a68eb03991ada2563dfe9 by Sven Gothel
GraphUI Demo: UISceneDemo03: Add optional audio (only) via '-audio <URL or file-path>' using our GLMediaPlayer (FFmpeg + JOAL/OpenAL)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
Commit d6056f4daf2bd6f19cc3f8ff7ca1a812d8db9695 by Sven Gothel
UISceneDemo03: Detail demo description, add blog entry
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
Commit 733cc5272cfed10fa07b707e29fd756f44581508 by Sven Gothel
Graph Loop: Make initFromPolyline() and locateClosestVertex() more robust, report error but do not crash.

This behavior has been evaluated with a few fonts and the WIP FontView01 demo application.
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/GraphOutline.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
Commit 920e529516bb264f04138ed1caca80d4925e3773 by Sven Gothel
Graph Font + Glyph: More robust detetection and API definition of non-contour/whitespace Glyphs (detect and allow to skip 'em)

We also drop shapes for both, but for id 0 (unknown).
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java (diff)
Commit 7fd51917b0cc85c3dc3d07592093a62b213d1ea5 by Sven Gothel
GraphUI Shape: Show dirty-state in getSubString()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit f66947ef42fa827dafd359061d3b60efe4c7e432 by Sven Gothel
Graph Font: Make TypecastRenderer.DEBUG package private to be used by TypecastFont
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java (diff)
Commit d45e0ae4046f1bd42a3b5107984b77c4f5ee0276 by Sven Gothel
GraphUI Demo FontView01: Enhance usability and refactor: Add left-column glyphSymbol number, mouse-wheel scrolling, Fitting the font info, ..

- Add mouse-wheel scrolling, for one-line and with control for one page.
- Add left-column glyphSymbol number, for orientation while scrolling
- Fitting the font info, i.e. consider width + height

Refactoring further isolated the addGlyphs(..) functionality in same method, etc.

Used to test Graph's capabilitry to properly read, detect and visualize certain fonts.
Previous Graph fixes were triggered by this procedure,
i.e. commits
- 733cc5272cfed10fa07b707e29fd756f44581508
- 920e529516bb264f04138ed1caca80d4925e3773
- 7fd51917b0cc85c3dc3d07592093a62b213d1ea5

Further the proper detection of non-contour/whitespace
allows FontView to skip them and only show usably Glyphs without noise.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 35746b3a618d94b03fc1ab465114d4d97540f45d by Sven Gothel
GraphUI Demo FontView01: Fix '-showUnderline', i.e. glyphListener shall use the last element in container, the GlyphShape
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit 5d83a6271495fe43141ee2c7f301f16ea0389134 by Sven Gothel
GraphUI Demo: Rename UISceneDemoU01a -> UIGraphDemoU01a, not using GraphUI's Scene but manual GLEventListener etc, add a few Glyph tests
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemoU01a.java (diff)
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
Commit f6dd8e9562d7e0bbf681c268f40ff4c819057915 by Sven Gothel
Graph Font + Glyph: Fix whitespace definition: Include 'no original underlying shape' and add API doc

Regression was introduced with commit 920e529516bb264f04138ed1caca80d4925e3773
'Robust detetection and API definition of non-contour/whitespace Glyphs'.

Issue was mistaken a glyph as undefined if not having an underlying shape,
which is true for some fonts (e.g. 'space').

+++

Also Use post table's name if no underlying shape exists.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
Commit 71576e94af890e2a4a98225ed258445ba7db0f26 by Sven Gothel
PMVMatrix.gluPerspective(): Redfine angle in radians instead of degrees ** API Change **

Since this is an extra implementation of PMVMatrix and not of GLMatrixFunc, we shall use the default ISO dimension avoiding conversion.

This alsi redefined Graph's RegionRenderer.reshapePerspective() angle definition from degrees to radians
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/offscreen/ReadBuffer2Screen.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java (diff)
Commit d891e70a99dfcebc205f97ed42b91111710c5176 by Sven Gothel
Demos: CommandlineOptions: Add total_duration command line option '-duration <floar>' in seconds
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
Commit ef63d2e288fe47762d9cf743d11cd01f8d255349 by Sven Gothel
GraphUI Demos: Proper use of CommandlineOptions
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java (diff)
Commit c059585e246ed707ba490f9d2bae3a8b90e949a7 by Sven Gothel
GraphUI Scene: Pass sampleCount in ctor variant and refine API doc, clip to [1..8]; Add clarity in Region; Demos CommandlineOptions adds actual graphAASamples set and utilized
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
Commit e6087583dc06c823f54bb6206af2acb0e2119b4c by Sven Gothel
GraphUI Scene: Generalize its interface PMVMatrixSetup and usage of its DefaultPMVMatrixSetup w/o orthogonal alike scale-back but fully parametric
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
Commit 47233ea7014e34adca8a5c1d2323a57e9de1c7fa by Sven Gothel
FloatUtil.isEqual(..): Rename raw {isEqual->isEqualRaw}(a,b) varianr w/o EPSILON; Add isEqual(a,b) w/ default EPSILON; Use it where applicable

Also add isEqual2(a,b) w/o corner cases (NaN, Inf) used for comparison in Graph Outline, OutlineShape and later GraphUI Shape.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/VectorUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Vec3f.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil01NOUI.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/FloatUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Matrix4f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Vec2f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Vec4f.java (diff)
Commit deeb9db8ed288dcfbbb478c01b4508a691d81b80 by Sven Gothel
GraphUI Shape: Enhance API doc for colors
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 604b7cd0a4062a5aa44d669a51882f7f80efd08f by Sven Gothel
GraphUI Shape.ZAscendingComparator: Use (faster) FloatUtil.isEqual2(a,b) and consider Z-scaling
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit bc4a97a3751b32a7825a41481959f04ff3efb3d2 by Sven Gothel
GraphUI Scene: Expose Z-Epsilon API for default and current PMVMatrixSetup values; Button add Z-Epsilon API for ctor and setLabelZOffset(..)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit b161ec3e6527ddfca0de10961de2c984016fe88b by Sven Gothel
GraphUI Button: Add label bounds to own shape (adds used z-range)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
Commit d5b17eddf7e7f1c33b269a3a2ed8eca959c6d639 by Sven Gothel
GraphUI Enhance: API doc; Scene/Button Z-offset and -epsilon; Push temp AffineTransform to local method; Simplify BaseButton setCorner(0) -> setPerp(); Protected abstract ctor ..
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/shapes/Label0.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/FloatUtil.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
Commit c3bb3fb871a92a71e7a6b05897a3dd9b62842fc5 by Sven Gothel
GraphUI GraphShape: Split renderModes -> final renderModesReq + mutable renderModes, allowing the latter to be adjusted e.g. in case a color-channel is required
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
Commit 4ca9efd6759856f46eb0cedde28998bc2b68d2cb by Sven Gothel
GraphUI: Button/Label: Complete String -> CharSequence type change for text, rename Button set{Label->Text}(..), adjust demo/text code
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/shapes/Label0.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit ba1c13b4eb4db2f15d2ee72d768748ab1f5d5639 by Sven Gothel
GraphUI Margin, Alignment: Reuse ctor for default-ctor
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Padding.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Margin.java (diff)
Commit e06d1d07125fb9489ea45d05fb40a562e2c4ca46 by Sven Gothel
FloatUtil.abs(a): Mark as deprecated, use Math.abs(a) directly. We assume it is an intrinsic + branch-less implementation

Expected implementation is

- return Float.intBitsToFloat(Float.floatToRawIntBits(a) & 0x7fffffff);

replacing old implementation

- return (a <= 0.0F) ? 0.0F - a : a;

.. also market as @IntrinsicCandidate

Hence we shall leave it to the JRE core-lib implementation...
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/plane/Crossing2F.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/FloatUtil.java (diff)
Commit 6d9c0fc96485da515789921eb9d3ef8988807e54 by Sven Gothel
GraphUI: Use z-top of bounding box for border rectangle, not z-center
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
Commit 05bb1255e9feab213fb2cc463049623a57c2e1fa by Sven Gothel
GraphUI Scene: Only set dbgBorderThickness on shape if not zero and shape has no border yet, i.e. don't override
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit b91fe4cd16646f134ce8242af30a9f69ecc6ca3e by Sven Gothel
GraphUI Scene: Add invoke(boolean wait, GLRunnable) for convenience using GLAutoDrawable.invoke(..)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit d741d4869221f218d76c3b8c38c83116c07598c0 by Sven Gothel
GraphUI Shape: Add setScale(..) and scale(..) with Vec3f for convenience; Add border-color in toString() if hasBorder()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 8439522d73b60bcf61cc59550df6297bbafe73fb by Sven Gothel
GraphUI Layout Alignment: Separate center alignment to horizontal and vertical
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java (diff)
Commit f39a084c6a34a083698ca56e9122642e839234c2 by Sven Gothel
GraphUI Layout: Html'ify API header of Gap and Padding
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Gap.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Padding.java (diff)
Commit ddd6cac8cc658ce542cb98e85f7d262f9917d37a by Sven Gothel
GraphUI Layout: Fix BoxLayout scale, margin and padding; Add same padding behavior to BoxLayout and GridLayout.

For all:
- Padding is applied to each {@Shape} via {@link Shape#setPaddding(Padding)} if passed in constructor

BoxLayout:
- Optionally centered {@link Alignment.Bit#CenterHoriz horizontally}, {@link Alignment.Bit#CenterVert vertically} or {@link Alignment#Center both}.
- Optionally scaled to cell-size if given and {@link Alignment#Fill}
- Margin is ignored on dimension with center {@link Alignment}
- Not implemented {@link Alignment}: Top, Right, Bottom, Left

GridLayout:
- Optionally centered {@link Alignment.Bit#CenterHoriz horizontally}, {@link Alignment.Bit#CenterVert vertically} or {@link Alignment#Center both}.
- Optionally scaled to cell-size if given and {@link Alignment#Fill}
- Without cell-size behaves like a grid bag using individual shape sizes including padding
- Can be filled in {@link Order#COLUMN} or {@link Order#ROW} major-order.
- Not implemented {@link Alignment}: Top, Right, Bottom, Left

Changes to Group.Layout interface:
- Added preValidate(Shape) allowing to prepare the shape before validation, used to inject Padding

Changes to Margin:
- Removed the complex CENTER property and using Alignment in BoxLayout as well

Changes to BoxLayout:
- Using Alignment

+++

Tested via UILayoutBox01 and UILayoutGrid01,
try the tooltip by clicking on the group's description label.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/util/Tooltips.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Margin.java (diff)
Commit 29c9bc1bc6560f40d011a5e3ea66f085a710265e by Sven Gothel
make/build.xml: Add target 'all.but-onejar', allowing a quick build w/o the all-jar files as usable with atomic jars like: make/scripts/tests.sh `USE_BUILDDIR=1`
The file was modifiedmake/build.xml (diff)
Commit 4e94635bb7d0f7161d587dcd923b1c1ab275e7bf by Sven Gothel
make/build.xml: Fix target 'all.but-onejar', adding targets 'one.lib.dir' and 'test.compile' to have native libs in place and update tests/demos

'all.but-onejar' was introduced in commit 29c9bc1bc6560f40d011a5e3ea66f085a710265e
The file was modifiedmake/build.xml (diff)
Commit d1cfa99135154e8e651e86ebc48a0f635fad38aa by Sven Gothel
GraphUI Group: Override isShapeDirty(), performing a deep dirty state update on all group member to allow validate to function
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 1e55d2a6a157cb9d70f7a879cc9a9bc97db5413d by Sven Gothel
GraphUI Group.validateImpl(): Pick RenderMode for border from 1st Shape if required (hasBorder() and null border yet)

This avoid changing the RenderMode and hence actual shader rendering the item.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit e5de90b67efe8e8ca518159b3a73295d751764c1 by Sven Gothel
GraphUI BoxLayout: Margin is only ignored for center Alignment w/o Fill scale. {Box,Grid}Layout: Always remove Bottom-Left delta and refine API doc of  incl scale behavior

GraphUI BoxLayout: Margin is only ignored for center Alignment w/o Fill scale.
  Margin outside of a shape is not scaled and hence must be considered
  when using Fill scale.

{Box,Grid}Layout: Always remove Bottom-Left delta
  Previously we were only dropping the negative extend.

  However, since our scale and center algo uses the AABBox width and height,
  which excludes the bottom-left delta, we have to drop such offset.

  TODO: Otherwise, we would need adjust for the bottom-left extend
  when NOT centering for each direction!
  This might be a useful enhancement in case one likes to drop
  shapes as-is w/o centering.

{Box,Grid}Layout: Refine API doc of  incl scale behavior
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Margin.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Gap.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
Commit aac1265340ae2ee1cad6bbf89369ba0288a6a290 by Sven Gothel
Debug.debugExplicit(): Define and use explicit symbol debug flag; Use it for certain debug output to keep most silence for debugAll()
The file was modifiedsrc/jogl/classes/jogamp/opengl/Debug.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/FloatUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/Debug.java (diff)
Commit 6f6841941abf326ebdc09173fe4e7c678d2c5569 by Sven Gothel
GraphUI GlyphShape: Add copy-ctor variant
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java (diff)
Commit 06b9e84c635cffc4a51beb6a38b5f5c111edcb7f by Sven Gothel
GraphUI Layout: Remove unused leftover var and complete GridLayout ctor
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
Commit 3309ea8e83241f34cb1e83b660c633b3778f34df by Sven Gothel
GraphUI Label: Add convenient methods getUnscaledGlyphBounds(..)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
Commit dbe9eee971b6ac7efa01ccb32bc16577f13c53dd by Sven Gothel
FontView01: Have all layout performed by our Box/Grid-Layout classes w/o manual calculus (the goal)

In some cases we still query a previous added box for width or height though.

But in general, using the Group w/ Box- or GridLayout and Fill/Center relieves us from manually scaling things.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit b81cf8ca025f2a525a192ec24c63f95cb54b7444 by Sven Gothel
etc/test.bat: Override test.log logfile, don't append
The file was modifiedetc/test.bat (diff)
Commit 376554c6a5bd25edd5490f51118a92ef93a0fc33 by Sven Gothel
GraphUI Layout Tests: Use blue for group border and black for shape border; UILayoutGrid01: Add Padding/Non-Padding comparison
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
Commit 162f8e309b67c333a482d636e59d207a6c5924e7 by Sven Gothel
GraphUI GridLayout: Fix scaled non-center: Only add center offset if requested and avoid double-add.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
Commit 52d3dd3b3d684d6ba37e573764c3006c4ba20494 by Sven Gothel
GraphUI GridLayout: Disable TRACE_LAYOUT
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
Commit 81702c02e5111b6b5db8cbcc94e06472ee566b0a by Sven Gothel
GraphUI Demo FontView: Prescan available countour glyphs for fluent scrolling ..
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit e676a65eac2bfa2abbfcd346492868ed17dc4667 by Sven Gothel
GraphUI Layout (Box/Grid): Adjust bottom-left offset according to center-axis

- Remove the negative or positive delta on centered axis.
- Only remove negative offset of non-centered axis (i.e. underline)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
Commit bbe845846ffc00807395a5070a7352c6bbe7e4ef by Sven Gothel
GraphUI Demo Fontview: Fix '-showUnderline' mode; Fix and simplify addGlyphs(..) loop; Add Margin on glyphShapeBox
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit 5d6e8a367c03644740187e500c6de5d3ac039d5e by Sven Gothel
Bug 1452 - Decouple math functionality to 'com.jogamp.math' to be toolkit agnostic (PMVMatrix, Matrix4f, Vec4f, ..)

Math functionality (PMVMatrix, Matrix4f, Vec4f, ..)
- shall be used toolkit agnostic, e.g. independent from OpenGL
- shall be reused within our upcoming Vulkan implementation
- may also move outside of JOGL, i.e. GlueGen or within its own package to be reused for other purposed.

The 'com.jogamp.opengl.util.PMVMatrix' currently also used to feed in GLUniformData
via the toolkit agnostic SyncAction and SyncBuffer
shall also be split to a toolkit agnostic variant.

An OpenGL PMVMatrix specialization implementing GLMatrixFunc can still exist,
being derived from the toolkit agnostic base implementation.

+++

Initial commit .. compile clean, passing most unit tests.
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestQuaternion01NOUI.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestPMVMatrix01NEWT.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil01NOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/GearsES2.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestPMVTransform01NOUI.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2DExpAddOn.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/GraphVertex.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Vec2i.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/stereo/GenericStereoDeviceRenderer.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/Matrix4fb.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/glu/GLUquadricImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary64NOUI.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/FixedPoint.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/util/SyncMatrix4f.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestGluUnprojectDoubleNOUI.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/plane/Crossing2F.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary32NOUI.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/plane/Crossing2F.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/offscreen/ReadBuffer2Screen.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4fMatrixMulNOUI.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShapeXForm.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLTextureRaster.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary16NOUI.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/DemoGL2ES2ImmModeSink.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/FixedPoint.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4f01NOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/StereoGLEventListener.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/ios/ScreenDriver.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestVec3f01NOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/plane/AffineTransform.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/FovHVHalves.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/ProjectFloat.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject02NOUI.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4fProject02NOUI.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Binary16.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/util/PMVMatrix4f.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw02ES2ListenerFBO.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Margin.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/plane/Winding.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestGluUnprojectFloatNOUI.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/MultisampleDemoES2.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Recti.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Triangle.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/StereoDevice.java (diff)
The file was modifiedsrc/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDeviceRenderer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/SyncMatrix4f.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Ray.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Gap.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/plane/NoninvertibleTransformException.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Vert3fImmutable.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/FloatUtil.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/plane/WindingRule.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java (diff)
The file was modifiedsrc/oculusvr/classes/jogamp/opengl/oculusvr/OVRUtil.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareMappedES2.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f02MulNOUI.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/T2Glyph.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVTransform01NOUI.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/LocationSensorParameter.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTGlyph.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestVec3f01NOUI.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/ios/WindowDriver.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw01ES2Listener.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestFontScale01NOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4f02MulNOUI.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedsrc/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDevice.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/SyncMatrices4f.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/plane/Winding.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/util/SyncMatrices4f.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestFloatUtil01NOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Matrix4f.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Vec3d.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Vec4f.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/SyncMatrix4f16.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Vec3f.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Vec2i.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/FovHVHalves.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/ViewerPose.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Vec2f.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOMRTNEWT01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/generic/GenericStereoDeviceFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectDoubleNOUI.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestPMVMatrix03NOUI.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Binary64.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/plane/WindingRule.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/util/Tooltips.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/FBOMix2DemosES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLUniformData.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/MonitorModeProps.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/PointsDemoES2.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestQuaternion01NOUI.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Matrix4f.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Binary64.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Binary32.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/EyeParameter.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fMatrixMulNOUI.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/shapes/Label0.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/SyncMatrices4f16.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Vertex.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestBinary16NOUI.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/util/SyncMatrices4f16.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/ElektronenMultiplizierer.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/plane/Path2F.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/plane/Path2F.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestBinary32NOUI.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/Mix2TexturesES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Vec4f.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/util/SyncBuffer.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Ray.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Vec2f.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix02NOUI.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Glyph.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4fProject01NOUI.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestPMVMatrix02NOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/util/SyncAction.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/LineSquareXDemoES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/StereoDemo01.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4f03InversionNOUI.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/plane/IllegalPathStateException.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Quaternion.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Binary16.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectFloatNOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/stereo/StereoUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Padding.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/util/SyncMatrix4f16.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/plane/IllegalPathStateException.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/math/TestBinary64NOUI.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Binary32.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/SyncBuffer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Recti.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f03InversionNOUI.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/FloatUtil.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/SyncAction.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/stereo/ScaleAndOffset2D.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Vec3f.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/stereo/GenericStereoDevice.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/MiscUtils.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Vert3fImmutable.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject01NOUI.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/Vert2fImmutable.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/DoubleUtil.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f01NOUI.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/Frustum.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/plane/NoninvertibleTransformException.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/VectorUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/math/Vert2fImmutable.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
Commit 5eabbd8d3fc2b1e670b7641575efefe3fe235980 by Sven Gothel
GraphUI Container: Add getShapeCount() and add API doc ..
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit be37d52f188b73ce2e6ae58cad60f0400da61d68 by Sven Gothel
GraphUI GlyphShape.addShapeToRegion(): In case the Font.Glyph has no shape, at least add an empty region to avoid an NPE
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java (diff)
Commit 6c81be1f822ae4e9824c20a8016881047e5728cf by Sven Gothel
GraphUI Test: FontViewListener01: Align to FontView01 .. fix invsible GlyphShape by adding a BoxLayout w/ Center and parent Group w/ GridLayout FillCenter
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT21.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
Commit 9d351d095398a2899fe662dc31fcc725d2a73a85 by Sven Gothel
GraphUI Demo FontView01: Re-add Margin for glyphInfoBox (text) and use Group's getShapeCount() ..
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 77eab439147af69089fa3ebf07d64ee3b4d67bfd by Sven Gothel
GLMediaPlayerImpl: Replace StreamWorker thread management with GlueGen's new WorkerThread, helping to simplify code
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit e4267876d0aca64e9cfa8fa9be0bc8d6e3309b83 by Sven Gothel
Demos MovieSimple, MovieCube: Use Uri.tryUriOrFile(..) and have user just use '-url YOUR_LOC' for file and URL. MovieSimple: Just use multiple '-url LOC' on commandline to determine window-count and so forth ..
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
Commit c505b85fc4c5f8bc1de6ae7f571d33e401c04e56 by Sven Gothel
OculusVR: Adapt to latest GlueGen changes
The file was modifiedmake/config/oculusvr/oculusvr-ovr-CustomJavaCode.java (diff)
The file was modifiedsrc/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDevice.java (diff)
The file was modifiedsrc/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDeviceRenderer.java (diff)
The file was modifiedoculusvr-sdk (diff)
Commit cbb0035b5c5df6eada04e38a3478091cca0fe9c5 by Sven Gothel
Bug 1452: GraphUI Scene DefaultPMVMatrixSetup.set(): Fix regression of commit 5d6e8a367c03644740187e500c6de5d3ac039d5e

-            pmv.glMatrixMode(GLMatrixFunc.GL_PROJECTION);
-            pmv.glLoadIdentity();
-            pmv.gluPerspective(angle, ratio, zNear, zFar);
-            pmv.glTranslatef(0f, 0f, scene_dist);
+            pmv.loadPIdentity();
+            pmv.perspectiveP(angle, ratio, zNear, zFar);
+            pmv.translateMv(0f, 0f, scene_dist);
                          ^^
                          Was projection matrix.

Fixed.

Note: resolved via TraceGL and comparing output -> P matrix differed,
here translation.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit f2a29726c42c91694ad4e3fa9b016708876d60da by Sven Gothel
GraphUI Button.getSubString(): Expose labelZOffset
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
Commit 0110b2970935040aac5ee0bfa8757982c092b939 by Sven Gothel
Bug 1452: PMVMatrix4f: Drop redundant unused mulWith*(Vec*...) 'v_out = M * v_in', user can simply get the desired matrix and apply its mulVec*(..) operation
The file was modifiedsrc/jogl/classes/com/jogamp/math/util/PMVMatrix4f.java (diff)
Commit 0d89f1ebae1a790151551ad9b027105d91972877 by Sven Gothel
GLMediaPlayerImpl: Recover lost StreamException information from commit 77eab439147af69089fa3ebf07d64ee3b4d67bfd
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 6c97c5fa201d221a37773db54994d27e34ba86c3 by Sven Gothel
Bug 1452: GraphUI Shape: Rename setMvTransform(..) -> setTransformMv(..), aligning w/ PMVMatrix4f naming ..

Original name was simply setTransform(..), so now let's keep using the suffix denominating the matrix
while keep the main subject/verb upfront. Was an off reading ..
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
Commit 3ecb8e9d1bfd1149f32b05c13c5ec1be6c0cab54 by Sven Gothel
GraphUI Layout: Add UILayoutBoxGridOffset01, showing behavior w/ shapes not starting at 0/0 but at an offset

OK for centered or non-zoomed .. as used w/ FontView01 to show the underline space.
Sure, Fill (zoom) w/o center on offset shapes is tricky and a matter of definition and taste, but in general useless.
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBoxGridOffset01.java (diff)
Commit 84b26f9efcd62cc8c41bf3cd867482080d16d7a0 by Sven Gothel
Bug 1454 - GraphUI Scene: Elevate active (selected) shape (add z-offset) and select (pick) in Z descending order

Picking (select) a shape shall process all shapes in Z descending order,
i.e. top shape first. This is a bug currently.

Note: Picking (selecting) a shape using a (mouse-)pointer device
is active by mouse-moved and not only mouse-clicked.
Therefor, we select shapes by mouse-over.

The active selected shape shall have an elevated Z offset to be rendered on top
of the others on same plane.
- This avoids them being rendered below others while moving them around etc.
- This also avoids flickering of overlapping shapes with mouse over.
- This stabilizes the UI experience
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 13a81396bd5183d1f2c00c517936c54efaa61db3 by Sven Gothel
Bug 1455 - GLMediaPlayer: Add isAutioMuted() query on volume and earmark audio-volume if not initialized and set it when AudioSink becomes available

Setting the audio volume before initialization shall impact GLMediaPlayer when it becomes initialized.

Further add a query if audio is muted, merely based on volume.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 1281e1ace2fbc884dd3ad4b561054a19f8e498c5 by Sven Gothel
UISceneDemo20: Set proper z-epsilon for all Buttons on reshape to use the perfect minimum label-z-offset
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit 2e52e801cfb14a96c60bf3e003af221efeddf3c3 by Sven Gothel
GraphUI Button: Remove redundant ctors and methods. ZOffset shall be simply given, calculated by caller
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
Commit 9f900c7f88d70808e24ed8b48087126dad0c3188 by Sven Gothel
Bug 1454 - GraphUI Scene: Make active ZOffset scale configurable
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit f29347ff72a13fa8344d21dc3589af3ff8b370cf by Sven Gothel
Bug 1459 - GraphUI Shape: Add active (pointer over/left) state and callback Listener

We already track this state within Scene, i.e. a shape is marked active when pointer is over it and released from active-duty when pointer left.

Scene shall notify the Shape so it can track this state locally
and also forward this event to the user via the typical Shape.Listener callback.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit ff36502e7ffeb9108368c517c401fad120b73d0a by Sven Gothel
UISceneDemo20 Use onToggle(..) for media-button (audio on/off) as well as use direct lambdas for all its other listener
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit 3dc4d80b0b8b0d4d82368b229ee403bf5937e1de by Sven Gothel
GLMediaPlayer: Stop audio streaming to AudioSink on zero volume (Flush on mute and play on un-mute)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit 1911d5dfb53c7757eedfebe289074661e125bea0 by Sven Gothel
GraphUI MediaButton: Return this for chaining on setter
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit 55b0c752721b782295e856dda5b2791c879cec87 by Sven Gothel
GraphUI Shape: Crossref input modifier funcs in API doc; Condense simple setter/getter
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit bcb71a24ff6c211ea67b4916bd7e43e502f7bfe5 by Sven Gothel
Bug 1460 - GraphUI Shape: Allow keeping aspect-ratio at resize

For certain shapes the aspect-ratio shall be kept, e.g. MediaButton etc.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit b87b41eb55959f4fbf70e4ed868701545e6ed687 by Sven Gothel
GraphUI Label: Condense getUnscaledGlyphBounds()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
Commit 55052919c8977dcf103f53a44f0391de39eb3979 by Sven Gothel
GraphUI Demo FontView01: Add mode showing the Glyph's name below in grid

Yeah, for good eyes only .. but enough to label the Greek alphabet :)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit c9bf488a916ee1a27dc1ce46467b0a40a365a492 by Sven Gothel
Graph Fonts: Remove not required text files from Ubuntu fonts
The file was removedsrc/jogl/classes/jogamp/graph/font/fonts/ubuntu/LICENCE-FAQ.txt (diff)
The file was removedsrc/jogl/classes/jogamp/graph/font/fonts/ubuntu/FONTLOG.txt (diff)
The file was removedsrc/jogl/classes/jogamp/graph/font/fonts/ubuntu/CONTRIBUTING.txt (diff)
Commit 652cfd2f307e0a34537ff8ec5ae2d023cfc2ce5d by Sven Gothel
Graph Fonts UbuntuFontLoader: Factor out FontLoaderImpl and have get(..) synchronized for static fontMap field access
The file was addedsrc/jogl/classes/jogamp/graph/font/FontLoaderImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/UbuntuFontLoader.java (diff)
Commit 0c8700589abffe13e42f18d3c755541268d44a34 by Sven Gothel
Graph Fonts: Add 'Material Icons Round-Regular' (APL-2 license) and use it in UISceneDemo03 via hard coded unicode symbol numbers
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/FontFactory.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/font/SymbolsFontLoader.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/font/fonts/symbols/README.txt (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/font/fonts/symbols/MaterialIconsRound-Regular.ttf (diff)
Commit a8de1673ca83475227fcc914fd94a9a0be1cba79 by Sven Gothel
Bug 1462 - Graph Font: Add name + codepoint to ID and Glyph mapping plus traversing through all Glyphs

See UISceneDemo03
new Button(options.renderModes, fontSymbols, " "+fontSymbols.getUTF16String("pause")+" ", buttonWidth, buttonHeight); // pause

Unicode codepoint symbol is also contained in FontGlyph
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBoxGridOffset01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
Commit 9db8aeaf345a373029bd497c5125f8471aecbd4e by Sven Gothel
Graph Font Tests: Fix missing codepoint -> GlyphID conversion
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java (diff)
Commit 36d8475adaf0abb5eae93b5c6a110e21c1b32399 by Sven Gothel
Graph Font: API doc: Fix typos 'Return ' .. to 'Returns `.
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
Commit 176ea9245a201bbba381245bc46657b30de9f4b3 by Sven Gothel
GraphUI Demos UIMediaGrid01: Demos multiple MediaButton in a grid - performance & stability
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit 397bd0df305e8f5b15e98523eb94cfad2ee5bb41 by Sven Gothel
Bump make/scripts/tests.sh
The file was modifiedmake/scripts/tests.sh (diff)
Commit 1beed5ba82b55a292bb1f916d615f152139a7060 by Sven Gothel
Bug 1462 / 1462: GraphUI Demo UISceneDemo20: Replace some text in buttons with symbols
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit 306ab40451f79dc6e41113efd597bddbd79514a5 by Sven Gothel
GraphUI Layout: Simplify non-centered negative-offset (underline) removal
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
Commit 2a9382b4e5d0387bfd939fdbdf281b730b67ee9b by Sven Gothel
GraphUI GraphShape: Factor out static addRectangle(..) to be reused for debugging purposes
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
Commit e5eadcdaa615dbeb762885b50435a1f79d6ca895 by Sven Gothel
GraphUI Shape: Use a bitfield for the many binrary states instead of boolean to preserver footprint ..
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 5f876580500471531dc6973eda7eb4d9878b871d by Sven Gothel
GraphUI: Mark some more methods final in Shape + GraphShape
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
Commit 949558bc0bcd10a24293b5880c90940008d0118a by Sven Gothel
Bug 1463 - Graph Font: Whitespace or undefined Glyphs shall not cover (any) height exceeding overall CharSequence

TypecastFont using `metrics.getAscentFU() - metrics.getDescentFU()` for ascent used for all undefined and whitespace Glyphs w/o a spatial outline,
leads to a potential exceeding height compared to the actual used
bounding box of the rendered text.
This in turn leads to layout issues, e.g. button labels are placed too low.

Solution:
- Whitespace/Undefined: Drop full height 'metrics.getAscentFU() - metrics.getDescentFU()', b/c of non-existing shape height.
- Otherwise, layout on AABBox or created empty shape would pick up such default hhea-table ascent which might exceed actual string height.

Sideeffect would be if user relies on height of a whitespace.
However, knowing this fact - a user may always pick the hhea-table's ascent metric values as exposed in Font and Font.Metric.

This resolves remaining layout issues, including button labels.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java (diff)
Commit 2dc2907618a528f9ad3666c0450be26ecd850602 by Sven Gothel
GraphUI Shape: Add remaining binary states to bitfield to preserver footprint ..

See commit e5eadcdaa615dbeb762885b50435a1f79d6ca895
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 42c67292e026325a493ec968e0f46749286e82dc by Sven Gothel
GraphUI Shape: Issue onToggleListener on setToggle(..) to complete user experience, add overridable toggleNotify(..) allowing implementations to react before listener.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 3025466c5c79ffb06c761dbfa380e643d562994a by Sven Gothel
GraphUI Button: Increase default spacing a little: x .12 -> .20, y .42 -> .46
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
Commit 893903d2ece1193aa87257bd6162754dfb89f9f9 by Sven Gothel
GraphUI Button: Support toggle'ed labels and fixed font size scaling for symbols (see setFixedLabelSize()),

This allows convenient instantiation of a Button changing its text (or symbol) when toggled, e.g.:

UISceneDemo03:
+            final Button button = new Button(options.renderModes, fontSymbols,
+                        fontSymbols.getUTF16String("play_arrow"),  fontSymbols.getUTF16String("pause"),
+                        buttonWidth, buttonHeight, buttonZOffset);
+            button.setSpacing(symSpacing, fixedSymSize);

+++

setFixedLabelSize(..):

Sets fixed label font size clipped to range [0 .. 1], defaults to {@code 0, 0}.

Use {@code w=0, h=1} when using single symbols from fixed sized symbol fonts!
Use {@link #setSpacing(Vec2f, Vec2f)} to also set spacing.

The fixed label font size is used as the denominator when scaling.{@code max(fixedLabelSize, fontLabelSize)},
hence reasonable values are either {@code 1} to enable using the given font-size
for the axis or {@code 0} to scale up/down the font to match the button box less spacing for the axis.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
Commit e0664688e45c07b8bc082f960b6790e592dd2034 by Sven Gothel
GraphUI Demo UISceneDemo20: Give 'Show FPS' a toggle text 'Hide FPS' .. and have the text resize being of fixed aspect-ratio (like the movie)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit c5fde40428937c08486226e9d4488a0ca1a00377 by Sven Gothel
GraphUI Demos: Minor refinements..
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/util/Tooltips.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit a0e6d5883de009d4649d011633090d7660fa229a by Sven Gothel
Bug 1431: Fix NewtCanvasAWT resize on X11, broken since commit ad38d1559854985b1131e5b6c7274a392b5bc265

Commit ad38d1559854985b1131e5b6c7274a392b5bc265 introduced XTranslateCoordinates(..) to savely validate
the client-space window position against the parent (root).

Totally missing in this change was the NEWT child window case
since it always used the root-window as the destination.

This change tracks the parent-window (valid parent Window or NULL)
within the JavaWindow struct and either uses the parent-window
if available or the root-window for XTranslateCoordinates(..).
This results in the proper client-space position.

Validated against
- TestGearsES2NewtCanvasAWT
- TestBug1431NewtCanvasAWT

on Debian 12 w/ Java17.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestBug1431NewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/native/X11Common.h (diff)
The file was modifiedmake/scripts/tests-x64.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
Commit 2e46eb1bf06ef07801062122716aa99a6c871646 by Sven Gothel
Bug 1430 - Fix Background erase not disabled with AWT GLCanvas and NewtCanvasAWT

Commit c5431f46b7bf64f109315ec78461859dd88f202a
reduced the disableBackgroundErase(..) to SunToolkit's variation which doesn't work on Windows
as it does not act upon the java.awt.Canvas peer post addNotify().

This re-introduces the java.awt.Canvas method via class JAWTUtil.BackgroundEraseControl
and its called only after addNotify() on Windows and ASAP for everyone else.
Method also calles the SunTookit variation just to be sure.
The file was modifiedmake/scripts/test-fat-jars.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedmake/scripts/run-test-until-crash.sh (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java (diff)
Commit 297c48f4fefd1ab59800524ea5f0dd56684d6786 by Sven Gothel
Bug 1465 - Graph / GraphUI: Render a Region's ColorTexture in proper aspect-ratio, letter-boxed or zoomed (config) + Bug 1466 Fix color mixing

Bug 1465: Region currently simply bloats a given texture to its region AABBox,
which renders textures with the wrong aspect ratio.

Add facility to program the texture-coordinates to either letter-box
or scaled-up (and cut) true aspect-ratio.
Default shall be zoom (scale-up and cut),
but user shall be able to set a flag in the Region for letter-box.

Have the shader clip texture coordinates properly,
best w/o branching to soothe performance.

See functions.glsl

+++

Bug 1466: Current color mix: texture * color_channel * color_static
is useless in GraphUI.

color_static shall modulate the texture, which works.
But in case of color_channel (attribute/varying)
we want it to be mixed so it can become the more dominant color
for e.g. a border.

Desired is:

color = vec4( mix( tex.rgb * gcu_ColorStatic.rgb, gcv_Color.rgb, gcv_Color.a ),
              mix( tex.a * gcu_ColorStatic.a, 1, gcv_Color.a) );
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureCoords.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/varyings.glsl (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/functions.glsl (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/ImageButton.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_simple.glsl (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GLButton.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-segment-head.fp (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/uniforms.glsl (diff)
Commit dd9f05890a157bf1688c3c325512e208cdd628ee by Sven Gothel
FFMPEGMediaPlayer: Insert GLSL comment-line documenting the addressed VideoPixelFormat conversion for easier debugging
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit 972682a9247d3b4e8deb07b4ac1867d090f5ffff by Sven Gothel
GraphUI: Group: Add attribute to allow not to relayout if child Shapes are dirty. Only issue validate on childs if theyre shape is dirty
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 4b8574c63e100f0ef8bb2ad292d71f612e6cfceb by Sven Gothel
Bug 1454 + Bug 1464: Maintain a Shape local 'zOffset' and only consider it for sorting w/o actually modifying the position (enogh to be painted on top and for selection)

Also use a simplified comparison using only float relational operations w/o NaN/Inf bit-stuff or epsilon,
as it should be accurate enough for this cause.

This shall also resolve Bug 1454, as we no more modify the position directly
but the local zOffset field .. but this has to be seen (data race).
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit b38890a32ff35e364d5c433a0afa6c9fdda2c90a by Sven Gothel
GraphUI: Shape: Add missing 'markShapeDirty()' on setBorderColor()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 05a344b98277a19858cd5c4a22e93620ec05a8d5 by Sven Gothel
Bug 1467 - GraphUI: Don't de-activate a Shape if became active via 'mouseOver' (mouseDragged)

When using a mouse, Scene activates a Shape if mouse is over it (mouseOver).

Hence don't de-activate such Shape via mouse-button clicked or released.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit b0893eda1035bcb1c6a88e52dac6cd00dfedf696 by Sven Gothel
Bug 1468: Demos MiscUtil.destroyWindow() Call GLAutoDrawable.destroy() directly w/o mitigation attempts (off-thread)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/MiscUtils.java (diff)
Commit f842843df2c77f5badaace6858d3336151ce0827 by Sven Gothel
Bug 1468 - SIGSEGV on use after free when destroying NEWT Window/Display via a native dispatch'ed event like key/mouse/touch input

SIGSEGV on use after free of native X11 Display* at XEventsQueued in DisplayDriver.DispatchMessages0.

This potentially happens when an application destroys
the NEWT Window/Display from an action being called directly
from DisplayDriver.DispatchMessages0 (itself), i.e. keyboard or mouse input.

DisplayDriver.DispatchMessages0 stays in the event loop and the next
XEventsQueued call causes a SIGSEGV due to already deleted
display driver connection and hence invalid native X11 Display*.

This issue also exist for other Windowing System drivers,
where the native (dispatch) method sticks to a loop
and still (re)uses the window or display handle.

One is WindowsWindow, where touch events are looped,
but such handler could have closed the window.

Querying the status of a window / display instance before dispatching
is not be good enough
- resource could already be GC'ed, so we also would need to query jobject status
- would imply an addition Java callback

+++

This fix: Having the Java callbacks return
a boolean with the value Window.isNativeValid().

This way the dispatch logic
- can bail out right away w/o using the resource anymore

- must be reviewed by myself due to changed Call{Void->Boolean}*(..)
  invocation change.
  This review shall resolve potential similar issues.

+++

Tested on X11/Linux/GNU, Windows and MacOS
with new TestDestroyGLAutoDrawableNewtAWT,
which tests all destruction invocation variants.
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was modifiedsrc/newt/native/IOSNewtUIWindow.m (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DefaultEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/newt/native/MacNewtNSWindow.m (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/native/bcm_vc_iv.c (diff)
The file was modifiedsrc/newt/native/KDWindow.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/ios/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/WindowDriver.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/MiscUtils.java (diff)
The file was modifiedsrc/newt/native/drm_gbm.c (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestDestroyGLAutoDrawableNewtAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
Commit af13e40ee502e69bb12e979e406c1a9793535482 by Sven Gothel
Bug 1469 - FFmpeg binding uses ReleaseStringChars instead of ReleaseStringUTFChars for GetStringUTFChars() acquired UTF
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit 7a2ee84416989476b7b2fd05ce484a5c7fcf81e8 by Sven Gothel
Bug 1470 - NEWT/JNI: Perform exception check and rethrow for all Java Callbacks as recommended
The file was modifiedsrc/newt/native/drm_gbm.c (diff)
The file was modifiedsrc/newt/native/bcm_vc_iv.c (diff)
The file was modifiedsrc/newt/native/IOSNewtUIWindow.m (diff)
The file was modifiedsrc/newt/native/bcm_egl.c (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/native/MacNewtNSWindow.m (diff)
Commit 3c13e7be0bcd7c5fca03f57cb1b0e3351c2ac3a9 by Sven Gothel
Bug 1471: Add a GLEventAdapter for GLEventListener similar to the other Adapter patterns
The file was addedsrc/jogl/classes/com/jogamp/opengl/GLEventAdapter.java (diff)
Commit e8c3c0382d58c8eabf4b96aa555683252c10d569 by Sven Gothel
Bug 1470 - FFmpeg / JNI: Perform exception check and rethrow for all Java Callbacks as recommended
The file was modifiedsrc/jogl/native/JoglCommon.c (diff)
The file was modifiedsrc/jogl/native/JoglCommon.h (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit 69549319e1d9ddf4d3903aa077f2c4cebb54195e by Sven Gothel
GraphUI Scene: Add custom one-time GLRunnable disposable action list, allowing to properly take-down user resources at dispose(GLAutoDrawable)

Used for UISceneDemo20 to stop and release SimpleSineSynth and its ALAudioSink.

The latter causes a bad exit (crash at OpenAL32.dll) on OpenJDK's Window Binary if not stopped!
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit c8ec6fa7cc16a0777db16af8b4d0d0b898f8b546 by Sven Gothel
GraphUI Shape: 'int name' -> 'int id' and add 'String name', change get/set methods accordingly
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBoxGridOffset01.java (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit 4fd725b1cd4bf4d9f1bd3a20e3b23784485c3751 by Sven Gothel
GraphUI Shape: Complete commit c8ec6fa7cc16a0777db16af8b4d0d0b898f8b546
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 3b994439acd0c001b64e96634636026f11af619c by Sven Gothel
TextureSequence.setTexCoordBBox(): Add 'verbose' parameter for debug output instead hard coded branch
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
Commit 1db4e6813bf4c70c5ba465beaee6eab8ee547d18 by Sven Gothel
FFMPEGMediaPlayer: Always use own textureLookupShader and validate its custom name against GLSL internal 'texture2D', add missing VideoPixelFormat conversions

Always use own textureLookupShader, avoiding confusion or even race conditions.

Validate textureLookupShader custom name against GLSL internal 'texture2D' (illegal override)

Add missing VideoPixelFormat conversions:
- RGB24, ARGB, RGBA, ABGR, BGRA
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit d0dd0c04463c6b09b1f15ce6cc3a2c50286c57bf by Sven Gothel
Bug 1473 - ALAudioSink: AV Synchronization: Adopt to JOAL ALAudioSink changes

FFMPEGMediaPlayer: This also effectively reduces the audio buffer size from 3000ms -> 768ms,
the new default for audio streams with video.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit e066250b908f0f2187d468d2c5ab586341031753 by Sven Gothel
Bug 1472: GLMediaPlayer AVSync: Refine AVSync debug output (WIP)

Using `-Djogl.debug.GLMediaPlayer.AVSync -Djogamp.debug.AudioSink` to trace AVSync issues for now.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 86210fde931400ff6f1b0a2da48ca031a957df8d by Sven Gothel
Bug 1472: GLMediaPlayerImpl: Track repeatedFrame count
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit b1956113f5601b0cc6ac525d3918a0dfa8d240af by Sven Gothel
Bug 1472: Enhance GLMediaPlayer AV Sync: Utilize SCR aware audio PTS used as master-clock, enabling proper AV sync w/ untouched audio

We can finally utilize the added pass through audio PTS, see commits
- GlueGen 52725b4c6525487f93407f529dc0a758b387a4fc
- JOAL 12029f1ec1d8afa576e1ac61655f318cc37c1d16

This enables us to use the audio PTS as the master-clock and adjust video to the untouched audio.

In case no audio is selected/playing or audio is muted,
we sync merely on the system-clock (SCR) w/o audio.

AV granularity is 22ms, however, since the ALAudioSink PTS may be a little late,
it renders even a slightly better sync in case of too early audio (d_apts < 0).

Since video frames are sync'ed to audio, the resync procedure may result
in a hysteresis swinging into sync. This might be notable at start
and when resumed audio or after seek.

We leave the audio frames untouched to reduce processing burden
and allow non-disrupted listening.

Passed AV sync tests
- Five-minute-sync-test.mp4
- Audio-Video-Sync-Test-Calibration-23.98fps-24fps.mp4
- Audio-Video-Sync-Test-2.mkv
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
Commit 2c80bb2e6eb12e155d747daf8a08362396d5e0fc by Sven Gothel
Bug 1472: Enhance GLMediaPlayer AV Sync: Fix FFMPEGMediaPlayer's audio resample: Use swr_get_out_samples(..) to calculate the required output sample count

Notable when playing audio with e.g. 24k sample rate on a 48k OpenAL ALAudioSink,
the sample duration was cut in half due to erroneous resampling missing half the required samples.

Using swr_get_out_samples(..) resolves this issue pre swr_convert(..), the resampling.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit bd2aa98d57c0c03bbface35000ed1c4bac6470e2 by Sven Gothel
Bug 1472: Enhance GLMediaPlayer AV Sync: Fine tune AV heuristics to (multiple of) audio_dequeued_ms

The case of lagging audio to the audio master-clock (by experience) is a rare and probably synthethic case
of the AV async videos, was
  dt_a > MAX_VIDEO_ASYNC && d_apts > 0
now with increased threshold max_adelay = Math.max( 4*audio_dequeued_ms, 4*MAX_VIDEO_ASYNC )
  dt_a > max_adelay && d_apts > 0

In conjunction the video-repeat case (video pts > SCR) shall use a higher threshold _when_
detecting, i.e. min1_audio_queued_ms = Math.max( 2*audio_dequeued_ms, 2*MAX_VIDEO_ASYNC )
to ensure enough buffered audio exists (2 audio-frames) before the next getNextTexture()
hits within vsync.

This early detection and min1_audio_queued_ms threshold
is double of the late threshold for video-repeat min0_audio_queued_ms = Math.max( audio_dequeued_ms, MAX_VIDEO_ASYNC ),
when the to-be repeated frame shall be displayed within getNextThreshold().
Failing this requirement (1 audio-frame) will discard it and gather the next video-frame,
allowing to fill the audio-buffer. A subsequent AV sync shall correct the difference.
Strategy is less intervention on less buffered-audio.

This shorter tolerance also reduces some video lag or stuttering on 24fps -> 60fps films.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit d6cf89f22a5926b437c4430eb166972d90fd92be by Sven Gothel
GLJPanel: Allow disabling GLSL vertical flip programmatically via setUseGLSLVerticalFlip(false) in addition to property 'jogl.gljpanel.noglsl'

Suche setting would enable the slow path of flipping a potentially 'big' framebuffer via the CPU.

The best performance path is using the GLSL shader to vertically flip the FBO,
or - w/o using the shader - to render the GL scene vertically-flipped and set the flag 'flipVertical' to false.
- property "jogl.gljpanel.noverticalflip"
- setter setSkipGLOrientationVerticalFlip(boolean)
  If set to <code>true</code>, user needs to flip the OpenGL rendered scene
  <i>if {@link #isGLOriented()} == true</i>, e.g. via the projection matrix.<br/>
  See constraints of {@link #isGLOriented()}.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/awt/GLJPanel.java (diff)
Commit 76cf00ea0a157b33af9b2ffa608ded992f8c0ff2 by Sven Gothel
GLJPanel: Fix DEBUG output USE_GLSL_TEXTURE_RASTERIZER -> USE_GLSL_VERTICAL_FLIP, changed names in commit d6cf89f22a5926b437c4430eb166972d90fd92be
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/awt/GLJPanel.java (diff)
Commit ee29eaf770d0d3627e5989dcae58a87cf27184d3 by Sven Gothel
Bug 1472: GLMediaPlayer: Expose SCR PTS and encourage its usage, removes user from selecting video or audio PTS.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
Commit dac49f32e09d61f5ba9be53a21d351843a48761b by Sven Gothel
Bug 1472: GLMediaPlayer: Handle setPlaySpeed() like setAudioVolume() if stream is not yet initialized or playing, cached clipped value and set at initGL(..)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
Commit a35ca1763c773b4533b9b9850a9842522303ad01 by Sven Gothel
Bug 1472: GLMediaPlayer.getNextTexture(): Fix playSpeed > 1; Handle !hasVideoFrame upfront, simplifying sync-block

Fix playSpeed > 1: dt_v (keep playSpeed factor), allow drop frame on no-frames w/ playSpeed > 2
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit f5ac5dec4bd339da45df3f23e8677c673c985db6 by Sven Gothel
FFMPEGMediaPlayer: Remove unconditional DEBUG output

Left behind hacking for AV sync ..
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit 14e3a4640844e7857bb8569379129964ff46cab2 by Sven Gothel
GLMediaPlayerImpl: Don't reset SCR on video_scr_reset or irq'ed rendering w/o video-frame (fixes 'massive' seek'ing)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 11ee5d827d634cfcb3d9785912a42bfd874976ba by Sven Gothel
GLMediaPlayerImpl: Use a PTS av_scr_cpy from av_scr for getPTS() avoiding direct user-exposure and potential data-race
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit b7d41ff2430adad96d546228c99b4a4610a6b752 by Sven Gothel
GLMediaPlayer: Recognize !use_audio when repeating (caching) a video-frame, i.e. ignore audio_queued_ms in such case (Fixes video sync on SCR w/o audio)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 9e63207f07de7ab5805d166be992c7faeebef5cc by Sven Gothel
GLMediaPlayer: Don't resetAVPTS() on resume(), allowing less AV sync disruption after pause(flush:=false)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 3ee35be6e15298bb8366abd850cea01202418e25 by Sven Gothel
GLMediaPlayer.getPerfString(): Don't show audio pts values is no_audio, misleading and wrong info (e.g. on mute)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 736b717b5d6d2b2e7ac4066f54495e8e111d0e01 by Sven Gothel
Bug 1479 - NativeLibrary: Add getNativeLibraryPath() returning actual native library path, support throughout DynamicLibraryBundle[Info]
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/oculusvr/classes/com/jogamp/oculusvr/OVRDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java (diff)
Commit 44ec1a4669a099adadb15e5f7ae6ce75c6afa985 by Sven Gothel
FFMpeg: Fix and clarify 'resend package' and 'continue draining frames' states
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit 2e3092d1ed533b819e2b6442e0d9563818599564 by Sven Gothel
FFMpeg: Just be nice and flush GL stream, no finish sync required
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit 75955684c15c593133d619ddc38ad5674073de38 by Sven Gothel
GraphUI Scene: Allow attaching GLAutoDrawable manually and adding GLEventListener (API)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit f8ec81aea5f2b1355e283aba93814c7ea38e67b9 by Sven Gothel
GraphUI Shape: Simplify setIO(..) usage (private)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit b481746f83440b120d0333a07747b7fafcb2295d by Sven Gothel
GraphUI Shape: Add IO_ACTIVABLE state
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit f5978af858b387b5e58cf470c4edcf40ac0cabfd by Sven Gothel
GraphUI Shape: Use Shape.MoveListener for Shape.onMove(..) providing more details of the translation
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
Commit b7f8a70674e36a8c324f91d0f73f89667c3c8300 by Sven Gothel
GraphUI Shape/Group: Group.isActive() also returns true if any child is active; Add isContainer() to avoid rfeflection
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 8b30ea9859fb1a1e9d1a373a0e355748b9a7c8ef by Sven Gothel
GraphUI Shape: Rename [set|is]{Enabled -> Visible}(..) for clarity

Note that invisible shapes are still considered for picking/activation.
To completely mute the shape, issue {@link #setInteractive(boolean)} as well.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
Commit a503f9c06faaa3cf0b9af18ad07e50b02bc19318 by Sven Gothel
MovieSBSStereo: GLMediaPlayer.setTextureMinMagFilter() must be called before initialization
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
Commit c5890ee3e6bfa8aa40a55145b3b7e8a9bca344be by Sven Gothel
GraphUI MediaButton: Disable AA_RENDERING_MASK for GLMediaPlayer color texture (effiency, less artifacts)

2-pass Graph-AA is not desired for video textures to enhance efficiency and reduce artifacts.

Consider using 'mPlayer.setTextureMinMagFilter( new int[] { GL.GL_LINEAR, GL.GL_LINEAR } )'
of passed GLMediaPlayer instance to use bilinear filtering for different sizes.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit 0fd9d02430082e930fe1058b08f4d80155a007ed by Sven Gothel
GraphUI UISceneDemo20: Only use ALAudioSink if its context is already created (ready)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit 47061b4528953eea0632f04082013bf38f0fe863 by Sven Gothel
GraphUI Alignment: Use Alignment.None instead of default ctor.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java (diff)
Commit ad8471401f7ca004df823f7f7436c2cbc4676195 by Sven Gothel
GraphUI Padding, Margin, Gap: Use zero value constant None instead of default ctor
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Padding.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Margin.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Gap.java (diff)
Commit d5701c831643b99a0eb76883b0fc392641b6404d by Sven Gothel
Graph Region: Edit API doc for AA_RENDERING_MASK
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
Commit d0e77a9d3fee687011d0ff0d610f49262cc2834f by Sven Gothel
GraphUI Shape: Rename is{Container -> Group}(), denoting a group only
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 7ae9dae12553f2f8f0e6dcd494f972a50c62cb1f by Sven Gothel
GraphUI Container: Cleanup or Group/Scene add*/remove* methods
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit e31129b8bfd1d53fcd709b1c6f58f45de928062e by Sven Gothel
Graph Shader: Fix 'curverenderer01-single.vp' aligning w/ 'curverenderer01-pass1.vp' (commit 297c48f4fefd1ab59800524ea5f0dd56684d6786)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-single.vp (diff)
Commit cf924e3ff144408ea175c8aeac0819bd1a05467d by Sven Gothel
GraphUI Shape: Fix Z{Ascending,Descending}Comparator using and exposing getAdjustedZ()

getAdjustedZ() simply returns `position.z() * getScale().z() + zOffset`,
i.e. with added zOffset reflecting activation status (renders shape/group on top).
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit a4fc84cba410e7e7082e8fd097cb0185d0aac1a2 by Sven Gothel
Bug 805: GraphUI Group: Add 'widget-mode' used to utilize a group as one visible UI widget element (activation, visibility)

Enabled widget behavior for a group causes
- the whole group to be shown on top on (mouse over) activation of one of its elements via getAdjustedZ()
- this group's onActivation(Listener) to handle all it's elements activation events
- isActive() of this group and its sub-groups to return true if one of its elements is active
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 121260d2b7bc4f57a16ca53ed1b08082d7977bbe by Sven Gothel
Bug 805: GraphUI Scene/Shape Pick-Active/Interaction: Pick shall complete traversion for most inner interactive shape; ...

Pick shall complete traversion for most inner interactive shape
- Shape::dispatchMouseEvent() is only invoked for interactive shapes, impl. simplified.

- Remove 'Scene::dispatchMouseEvent(..)', use 'Scene::dispatchMouseEventPickShape(..)' for given use cases

- Scene::dispatchMouseEventForShape(..) used for mouseDragged() only,
  i.e. using activeShape.

+++

This allows a 'group widget' being used, allowing to click on inner shapes like a button.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit d99c2d8b28470d335ab5b30124ef8b0607b3b90f by Sven Gothel
GLMediaPlayer: Add printNativeInfo(..) exposing used native library information (if any), FFMPEG* utilizes NativeLibrary.get[Native]LibraryPath()
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit 47f5e083ba79ac02590a452149e31bf433109346 by Sven Gothel
Bug 805: GraphUI: Add Group.replaceShape(..) and Shape.getParent()

Group.replaceShape(..) allows replacing a shape w/o disturbing a layout, e.g. to zoom one element
by taking it out of a grid-group and placing it on-top of the Scene while using a placeholder in the grid
until returned.

Shape.getParent() - depending on use-case (w/o DAG) - allows access and control of a shape's Group.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
Commit c306094e8dbba3c9e77953daaf8054731f327923 by Sven Gothel
Bug 805: GraphUI: Add MediaUI01 widtget (MediaButton w/ full feature controls), used in demos UIMediaGrid0[01]
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-x64.sh (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaUI01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit 3ea26f16a0ea976b37e8661fdc9ed9ddaa1e985e by Sven Gothel
GLMediaPlayer: TEXTURE_COUNT_DEFAULT 4 -> 3 as tested via UIMediaGrid01, usable w/ fix for Bug 1472 (Enhance A/V Sync)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
Commit 9dbfdcd7524b2bbd5eecb7fd45bbc544e24724c5 by Sven Gothel
OMXGLMediaPlayer: Add 'printNativeInfo(..)' - completes commit d99c2d8b28470d335ab5b30124ef8b0607b3b90f
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java (diff)
Commit 8e8507e93dc603ece8417e6931d58dbbd6042201 by Sven Gothel
UIMediaGrid0{01}: Minor cleanup: Drop unused local Font
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
Commit 1bf9f42690880413e8d58a5525ec76605bfdfe83 by Sven Gothel
GraphUI Shape.move*(): Don't notify MotionListener on programmatic move.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 53c2891909941d0261c15e5679bb108f3c70fb82 by Sven Gothel
GraphUI Shape: setParent() pp -> protected, allow to override setName()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit b76f3c048fb93e7b2c66d7aca4f88f3cbf4b6046 by Sven Gothel
GraphUI Shape: Unify 'resetState()' for clear and destroy, refine API doc
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 0944e120702c8bbaa562b817d387651addb11b86 by Sven Gothel
GraphUI Group: Allow override of clearImpl0() and destroyImpl0()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit eb99bfc27f9f49387cbb08471debcd4d61e4f745 by Sven Gothel
GraphUI Shape Rectangle: Draw simple filled rect if lineWidth==0, drop AA_RENDERING_MASK from renderModes (not necessary for a rect)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java (diff)
Commit feb3d34be097bcbef5ebc40342b405a832ac581f by Sven Gothel
Bug 805: GraphUI: Add Widget 'marker' (a Group), derived by {MediaUI01 -> MediaPlayer} and new RangeSlider

- A widget specifies specific UI semantics including individual controls.
- Being a {@link Group}, implementations provide shape(s) and its instance can be added to the user's scene.
- Due to the specific nature of widgets,
  individual controls/listener may be provided with semantic values.

+++

MediaPlayer exposes a RangeSlider for current position (view and control).
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was removedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaUI01.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/widgets/Widget.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
Commit a782f343aeecbfdb640198bcc73794a90f63730d by Sven Gothel
GraphUI Scene/Shape: Add KeyListener for activeShape
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit fdedf6cff64efc1d7ab554c2bf084392a099ef0f by Sven Gothel
GraphUI Shape: Allow overriding of setColor(..) and setPressedColorMod(..)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit b5e6a852451f2a78a1783ca8fbd704005fbafd07 by Sven Gothel
GraphUI MediaPlayer Widget: Issue playStream(..) and setTextureUnit(..) by caller, reducing specification
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
Commit c6e39c6e313a34688ca0164d7a34b6465e92396f by Sven Gothel
GraphUI RangeSlider Widget: Add rectangular page-sized knob mode using a 'page size' of covered view.  Resolve color-setup.

Tested with FontView01
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 68b2dad19bd6d84f18b22f967ce320b448e8a270 by Sven Gothel
GLMediaPlayer/FFMPEGMediaPlayer: Add chapter metadata support and use com.jogamp.common.av.PTS.millisToTimeStr(..)

Chapter metadata is now supported via our FFMPEGMediaPlayer implementation.

Added public method: 'Chapters[] GLMediaPlayer.getChapters()'
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0500Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0600Natives.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0400Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit f89bfe3d830a2b489e8b2488d07677ee057124f0 by Sven Gothel
GraphUI MediaButton: Add clearImpl(..), stopping and rewinding stream
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit 5ad98721c2f868aca0567e2467b5dfb0c071c490 by Sven Gothel
GraphUI Group: Fix layout w/ zero shapes (empty), i.e. set AABBox to zero
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 6af37910eac365ed2b5ac957276337fe71f7e56b by Sven Gothel
GraphUI RangeSlider: Add rectangular marks (e.g. for chapters, see MediaPlayer), by simply overlay marks on bar

Knob color defaults to 0.80f, 0.80f, 0.80f, 0.7f, i.e. light-mode better matching MediaPlayer use-case.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit 259fce6ca0fa4fe92e6dc2266d442c62723eb73c by Sven Gothel
GraphUI Cleanup: Simplify Shape.draw*() and Container.{add,remove*}Shape[s](); Remove Scene.setDebugBorderBox()

Simplify Shape/Scene
- Split scene.display()/shape.drawImpl0() and scene.displayGLSelect()/shape.drawToSelectImpl0()

Simplify Container (Scene/Group)
- {add,remove*}Shape[s](), i.e. drop unusual removeShape*() and simplify implementation

Scene
- Remove setDebugBorderBox()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
Commit 79eba1f0e450a75f01505ca5ed5817ec481491a8 by Sven Gothel
GraphUI Shape: Maintain multiple Activation Listener (ArrayList instead of single instance)

This allows listenting to activation of Group members, while Group is set to widget-mode.
For the latter, Group adds a forward listener to itself.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit e9e1732dc6691cb72920f25b1fb8431e94c7b561 by Sven Gothel
GraphUI MediaPlayer / GLMediaPlayer: Add current chapter-title to info-field
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit cf0c60eaabd7334c0ae2099a1f999032cddf14dd by Sven Gothel
GraphUI RangeSlider.addMark(): Return the mark-shape and use double itemLen (in sliding direction) for better visibility
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit fa973b03fc1d6af5696cee27e1824c45da3150b4 by Sven Gothel
GraphUI Shape: Enable Tooltip (currently text only) to be displayed after delay w/o mouse-move (1s)

For efficiency, all Tooltip instances is hooked to Scene via Shape as well as its
singleton pop-up HUD tip after delay and no mouse move.

TooltipText is a simple text Button implementation,
but other more fancy HUD tips can be implemented.

Shape adds
- 'public Tooltip setToolTip(final CharSequence text, final Font font, final float scaleY, final Scene scene)'

Demoed within MediaPlayer widget.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/TooltipText.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit d80762bdaf79a852cde2391479bb066968ae573c by Sven Gothel
GraphUI Shape: Ease Tooltip managment via Scene: Only started Tooltip is required to tick(), drop List<Tooltip>
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
Commit c2452b211dc3f347dbffaac4e6c35b3c3e8c6d65 by Sven Gothel
GraphUI Button.setLabelColor(..): Add alpha channel and variant w/ Vec4f for flexibility
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/util/Tooltips.java (diff)
Commit 6dbd73108ec0b2f829674c07771c232395034157 by Sven Gothel
GraphUI Tooltip: Simplify integration w/ Scene + Shape; Use Shape.setToolTip(Tooltip) for generic usage; Add TooltipText colors.

Shape also takes care of setting Tooltip's tool-Shape (itself),
simplifying Tooltip ctor and having it more independent from Scene/Shape.

Tooltip also drop Scene reference, as it shall be passed from Scene caller
at Tooltip.createTip(..)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipText.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit e6bbc1a93ff4925d2aae33de527353826f81bcf1 by Sven Gothel
GraphUI Rectangle: Remove dropping AA_RENDERING_MASK, i.e. allow VBAA_RENDERING_BIT again

Dropping AA was added in commit eb99bfc27f9f49387cbb08471debcd4d61e4f745,
but non-planar rectangles need AA to avoid stairs.

Hence manually dropping some AA in MediaPlayer for blending rectangles.
RangeSlider already drops AA for its bars etc.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java (diff)
Commit cb50ca301d927683374212e8efe9818f53f818c1 by Sven Gothel
GraphUI Demos: Have CommandlineOptions produce GLProfile and full GLCapabilities request, removing code duplication
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/LandscapeES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBoxGridOffset01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
Commit 4db23616aca2f191b2685311dc676fdac739338a by Sven Gothel
GraphUI Demo UIMediaGrid00: Add letterBox option, defaults to true now
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
Commit c87e89959e40ee8411cccc16fe0a5708f54a6c9f by Sven Gothel
Graph GLSL functions.glsl: Complete overload vec2 and vec3 variants; Fix 'and'/'or' semantic (swapped); Add EPSILON in clip_coord(..) and add is_inside(..) function

Complete overload vec2 and vec3 variants

Fix 'and'/'or' semantic (swapped)
- 'and' uses multiplication, i.e. all arguments must be > 0 (ideally 1)
- 'or' uses addition, i.e. only one arguments must be > 0 (ideally 1)
- both uses clamp [0..1]

Add EPSILON in clip_coord(..)
- Only 'coord > high+EPSILON' is outside

Add is_inside(..) function
- Similar to clip_coord(..) but returns float 0 or 1
  instead of selecting color.
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/functions.glsl (diff)
Commit f836fbd9201034010ecbf591348433f23920f527 by Sven Gothel
Graph Clipping: GLSL: Add `USE_AABBOX_CLIPPING`, i.e. clipping via AABBox min/max vec3 as convenient using Graph/GraphUI produced AABBox

USE_AABBOX_CLIPPING
- Conditional compilation w/ macro 'USE_AABBOX_CLIPPING'
- gcv_ClipBBoxCoord smooth varying setup in vertex shader
- fragment shader clips via branch
    if( is_inside(gcv_ClipBBoxCoord, gcu_ClipBBox[0], gcu_ClipBBox[1]) < 0.5 ) { CLIP }
- clipping via discard or alpha=0 in case of buggy-discard.

Other optimization:
- Drop gcv_ColorTexExt, fragment-shader uses gcu_ColorTexBBox[2] directly (flat)
- Simplified gcv_ColorTexCoord smooth varying equation in vertex shader.
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-single.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_weight.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/attributes.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_simple.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/uniforms.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/varyings.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/UniformNames.java (diff)
Commit bb11c498b7d4fe269e7273a1b164e46f3c7a3b50 by Sven Gothel
Graph Clipping: Initial Region impl of AABBox clipping using GLSL shader (Convenient using Graph/GraphUI produced AABBox)

Simple demo, setting clip-bbox manually:
- src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java

TODO:
- GLSL: Add missing Mv-multiplication of vertex-position -> gcv_ClipBBoxCoord
-- AABBox min/max should be set pre-multiplied w/ Mv covering an independent area, not per Shape/Region.
-- This to properly work with moving/scaling of each Shape/Region etc
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
Commit 335dd0a493fff1435cad1cd22e4ac5a20d7df03a by Sven Gothel
Graph Clipping: Add missing Modelview-Matrix (Mv) Multiplication / Consideration

- GLSL vertex shader sets smooth varying 'gcv_ClipBBoxCoord' w/ Mv multiplied vertex-coord
- RegionRenderer.setClipBBox(AABBox) expects a pre-multiplied Mv AABBox covering an independent area, not per Shape/Region.
- This works as expected with moving/scaling of each Shape/Region etc
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1.vp (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-single.vp (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 76a74ca56e2708c967b3e5aafaa24eb9603bbb99 by Sven Gothel
GraphUI Margin/Padding: Rename zeroSum*() -> zero*()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Padding.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Margin.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBoxGridOffset01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
Commit 9c4e97a896e4ce2491ac38bfbf0c21a527548cb3 by Sven Gothel
AABBox resize{Width, Height}(..): Positive argument shall always denote expansion
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
Commit 4bc55e2f2e3603b43d6fdcb9786c61e32a64327f by Sven Gothel
GraphUI Demos: Use CommandlineOptions properly
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
Commit fa0703fda03f34468c9c8645a52d13536c366991 by Sven Gothel
GraphUI RangeSlider: Add unitSize param: Size of one unit (element) in sliding direction
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit c6e83daaf04541907fa5ac36f1cd06c2c65e2882 by Sven Gothel
Graph VBORegion2PVBAAES2: Fix Rescale (MAX texSize): renderFboHeight shall use winHeight (typo)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
Commit b886aaabf6a9c2c2ab3d03a56c3c134307fbfba4 by Sven Gothel
Matrix4f: Fix minor API doc parem ref-name
The file was modifiedsrc/jogl/classes/com/jogamp/math/Matrix4f.java (diff)
Commit 3062f72c7b83cef71d8e6d471846449aba66d861 by Sven Gothel
GLReadBufferUtil: Allow passing a custom GL read-buffer name, useful to read FBO attachments (GL_COLOR_ATTACHMENTi)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java (diff)
Commit 6363ae5fb6975a6f2e7c1093ce81f25b699e3e61 by Sven Gothel
Graph/GraphUI: Revise Graph Region ShaderMapping, fix AABBox-Clipping for Pass2-AA, revise Pass2 AA Quality parameter ..

Misc:
- Graph VBORegion2PVBAAES2: Drop unused FBO rescale
- Move MIN/MAX QUALITY/SAMPLE from GraphUI Scene -> Graph Region

+++

Quality -> Pass2 AA Quality
- Drop quality field in region
- Pass quality to GLRegion.draw(..) similar to sampleCount
  for dynamic shader and switch
- TODO: Pass quality parameter in TextRegionUtil's functions

Fix RegionRenderer Shader Mapping
- Use ShaderKey class to properly implement the hash value and equals method
- For this, TextureSequence.getTextureFragmentShaderHashID() has been added
  to provide actual shader-snippet for the equals function
- All required criterias are included in the hash value and equals method

Fix AABBox Clipping for Pass-2 AA
- Clipping in pass2-AA must happen in pass2 on actual gcu_PMVMatrix01 (not ortho)

+++

GraphUI GraphShape
- Rename: [get,set]{->AA}Quality()

GraphUI Scene
- Rename: mark{All->}ShapesDirty(), set{AllShapes->}Sharpness(), set{AllShapes->AA}Quality()
- Fix setSampleCount(..), i.e. markStatesDirty() not markShapesDirty()
- Fix setAAQuality(), markShapesDirty() and markStatesDirty(): Use forAll(..) to traverse through all shapes and groups.

GraphUI Group
- Add setFixedSize()
- Add setClipOnBox()
- Document setRelayoutOnDirtyShapes(), isShapeDirty()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2.vp (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-msaa.glsl (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad3.glsl (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_even.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_odd.glsl (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-single.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java (diff)
Commit e0c5eed5149a868e202b128c990bb1a4c5259b2f by Sven Gothel
Bump (c) -2024 for edited files + LICENSE.txt
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedLICENSE.txt (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2.vp (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1.vp (diff)
Commit 3ceb0c6e06b513690e2a4ab67c8aa34e9fbd5698 by Sven Gothel
GraphUI UIShapeDemo00: Simple Shape within Scene
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo00.java (diff)
Commit 0250b2e5a8cbf91e94d50fd9860c62b28a1fcc17 by Sven Gothel
GraphUI RangeSlider: Position page-sized knob (variant) with value at page-start position.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit 9b8d1825cfb76454e42b196a93dc54d189a8a9a6 by Sven Gothel
GraphUI RangeSlider: Fix API doc for implementation detail
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit d7cb4a77b71cb3703ff7ac0667c5a97f29a5bdb4 by Sven Gothel
Graph/GraphUI AA-Quality (shader): Region: Add DEFAULT_AA_QUALITY and clipping funs for aaQuality/sampleCount; TextRegionUtil: Pass quality parameter in draw-functions

Region.DEFAULT_AA_QUALITY defaults to MAX_AA_QUALITY still
- TODO: AA shader is subject to change ..

Region.draw(..) clips the quality param (save)

TextRegionUtil: Pass quality parameter in draw-functions
- Allowing to select the AA shader

GraphUI Scene and some demos add the AA-quality param
to the status line or screenshot-filename.
- See Region.getRenderModeString(..)

+++

TestTextRendererNEWT20 and TestTextRendererNEWT21
now iterate through all fonts, AA-quality shader and sample-sizes.

Most demos and some more tests take AA-quality into acount,
demos via CommandlineOptions.graphAAQuality
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT21.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextGLListener0A.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 7f91a60a0f5d7043d44fd22639d27aaefa1dc1a4 by Sven Gothel
GraphUI RangeSlider: Add SliderAdapter (convenience) and use a listener-array (was 1 instance)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 90452c782a2de049aeaaddd81f27eadbdf29f0b4 by Sven Gothel
Graph Text Tests: TestTextRendererNEWT20, TestTextRendererNEWT21: Reduce sampleSet 3 -> 1 and fontSet 11 -> 7 to avoid footprint for default tests.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontSet01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT21.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java (diff)
Commit 31ef5df9c5868b2b8e4ce843a4bf0a6c3f5a9879 by Sven Gothel
GraphUI RangeSlider: [add,remove]{->Slider}Listener()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit 2bd66b50f21fd21e2102ac75cf4ce6cf875aca4d by Sven Gothel
GraphUI Shape: Add receiveKeyEvents() and receiveMouseEvents() allowing a Shape to receive forwarded events from another Shape; Added receive*Events() specialisation for RangeSlider

Forwarding events from shape to shape is useful, allowing inner shapes to send them to its group,
which itself may send it out towards an outer widget like RangeSlider.

RangeSlider's receive*Events() specialisation receives desired events from the source to its barAndKnob and knob
shapes, which are listening. It also suppresses the mouseClicked() event as it is only useful coming from itself.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit a7cd8fd48d49fcd3cdff35b1fcdcc8903913fec0 by Sven Gothel
GraphUI Demos CommandlineOptions: Add ctor w/ graphAAQuality and graphAASamples
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
Commit 447a98a0dcb7add50d77c1d8392e670bffb358ec by Sven Gothel
GraphUI: Added RangedGroup Widget, displaying a clipped content Group with optional horizontal and/or vertical RangeSlider; FontView01 now uses RangedGroup scrolling GlyphGrid smooth per-pixel

GraphUI: Added RangedGroup Widget, displaying a clipped content Group with optional horizontal and/or vertical RangeSlider
- Utilizes Group.setClipBox() to enable clipping of its content to the Group's AABBox
- Uses RangeSlider based on given contentSize

FontView01 now uses RangedGroup scrolling GlyphGrid smooth per-pixel
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
Commit 7fac6c60d7af8a22a82d6702a3380fee2926b608 by Sven Gothel
GraphUI Demo FontView01: Remove using jogamp.graph.curve.opengl.VBORegion2PVBAAES2 perf-counter hooks (not committed)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit d778889f36bd6bee999ceb502c5f0ce265b014bf by Sven Gothel
AABBox: Rename private fields low -> bl and hight -> tr for readability; Unroll getRayIntersection()'s 'find candidate planes'
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
Commit 106142dfa4cdbf0579f8d07f23ca3c4897a5cc95 by Sven Gothel
AABBox: Add intersects(AABBox), contains(AABBox), scale(float, float, float) and scale2(float, float, float)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
Commit 0999b85e467c27737784a89f933d70863d027a36 by Sven Gothel
GraphUI Group Clipping setClip{OnBox->OnBounds}(): Add Vec3f cullingScale factor for the clip-box to discard rendering completely..; Add Group.setClipBBox(..)

Changed Group.setClip{OnBox->OnBounds}():

Enable AABBox clipping on getBounds() for this group and its shapes as follows:
- Discard Shape rendering if completely outside of the 'clip-box * cullingScale'
- Otherwise perform pixel-accurate clipping inside the shader on 'clip-box'

+++

Added Group.setClipBBox():

Enable AABBox clipping on explicit given pre-multiplied Mv-matrix 'clip-box as follows
- Discard Shape rendering if completely outside of the 'clip-box * cullingScale'
- Otherwise perform pixel-accurate clipping inside the shader on 'clip-box'
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit f06fe57b0ae738870a61700ff2c65680102d9e73 by Sven Gothel
GraphUI Enhance Clipping: Drop pixel clipping if `clip-box >= clip-box*cullingScale` (Group). RangedGroup: Pass through `clipCullingScale` to cull fully outside shapes; Apply in FontView01 Demo..

Group.setClip{BBox, OnBounds}() set 'cullingScale' drops pixel clipping if `clip-box >= clip-box*cullingScale`.
- Discard Shape rendering if completely outside of `clip-box*cullingScale`
- Otherwise perform pixel-accurate clipping inside the shader within [`clip-box` .. `clip-box*cullingScale`]
- If `clip-box >= clip-box*cullingScale` for all axis, no pixel-accurate clipping is performed as shapes are culled before

+++

RangedGroup: Pass through `clipCullingScale` allowing to cull fully outside shapes outside the 'box * clipCullingScale'
and use pixel-accurate clipping from [box..box*clipCullingScale].

Uses content.setClipBBox(..) with Mv premul-mat clippedContent.getBounds() in drawImpl0() override

+++

FontView01 Demo
- Using RangedGroup 'clipCullingScale' w/ culling >= 2*cell-size outside of clipping box (vertical only)
- Allows to drop the manually coded setVisible() hack and simplifies overall usage!
- This to not issue _initial_ rendering (draw) of all 14k+ Regions (Glyph-Count * 2) at once (resources, startup-performance)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 33ec9480da3d414a4c973607970afa06b5ed79ca by Sven Gothel
GraphUI RangedGroup.validateImpl(): Simplify updating contentPosZero
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
Commit 6b1979992a7da2573c420ce3eb22f35abcbd35b7 by Sven Gothel
Graph/GraphUI AA-Quality + SampleCount (shader): Push params down to RegionRenderer's RenderState usually rarely set from top of user API, reducing complexity.

Discussion:

Alternative was to pass AA-Quality same as SampleCount from the top (e.g. GraphUI Scene),
however, this convolutes the API even more.
Both parameter modify the resulting shader code in pass2 rendering (only).

The used 'renderMode' is still maintained within the Region,
since it contains more dynamic states individual to each Region instance (color-texture, ..).
This despite 'renderMode' also changes the RenderState's shader program.
In the end, it really doesn't matter and is a choice of frequency - the pipeline is
usually rendering from on OpenGL rendering thread sequentially.
AA-Quality and SampleCount simply usually don't change that often
and are set only once.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GLButton.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/ImageButton.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Label.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
Commit a8cf4cd506297cd05175e43eeefa4e6d7eabb960 by Sven Gothel
GraphUI GLButton: Filter out Region.AA_RENDERING_MASK in ctor, as GLEventListener renders into FBO at correct resolution.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/GLButton.java (diff)
Commit 3336d930e991679eadaa1ff4068cb8d23562b42c by Sven Gothel
GraphUI Enhance Clipping: Drop 'cullingScale' param, a simple intersection-test against 'clipBox' to discard whole shapes if completely outside is enough.

Commit f06fe57b0ae738870a61700ff2c65680102d9e73 turns out addition of using `clipbBox*cullingScale` for the AABBox contains test
was not required to render the new Glyphs in the FontView01 demo 'in time'.

A simple intersection-test against 'clipBox' to discard shapes if completely outside is enough,
hence dropping the 'cullingScale' parameter - simplifying.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit f6ae0ff2e4bad67c929a53d705af02e7d92368bc by Sven Gothel
GraphUI Clipping Demo: Adding a simple Shape within a clipping Group all driven by a Scene
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo01.java (diff)
Commit 30369089cd02e9a0a4875c2a5f5958bcf497c701 by Sven Gothel
GraphUI Tooltip*: Generalize Tooltip base (more versatile) and add TooltipShape supporting general Shapes to be added
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/TooltipShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipText.java (diff)
Commit 7e582cbe21084e2b4b624761a411259da270ce26 by Sven Gothel
AABBox: Rename private fields {bl, tr} -> {lo, hi} denoting proper orientation in API doc

br, tr wasn't sufficient as in commit d778889f36bd6bee999ceb502c5f0ce265b014bf
while working on Frustum, as it doesn't properly reflect axis order not z.

Hence going back to 'low' and 'high' semantics,
but using same length identifier and emphasizing far (lo) < near (hi)
of our model-view coordinate system.
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
Commit 1040bed4ecc6f4598ea459f1073a9240583fc3c3 by Sven Gothel
Add Cube to Frustum Plane mapping, supporting transformation of object-space AABBox into model-view Cube to Frustum.Plane for culling (cpu) and clipping (gpu)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/Frustum.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/math/geom/Cube.java (diff)
Commit 5cca51e32999a882e2a5f00cb45ecafc824ffd86 by Sven Gothel
Frustum: Revise code and its Plane definition to support Cube->Frustum as well as to extract planes for float[] vec4-shader uniforms.

commit 1040bed4ecc6f4598ea459f1073a9240583fc3c3 added AABBox -> Cube -> Frustum mapping (incomplete)
and requires Frustum.Plane.set(..) by normal and point-on-plane for distance.

Frustum.isOutside(Cube) has been added, testing all its 8-points similar to AABBox.

Further all 6 Frustum.Plane shall be extracted to Vec4f and float[],
the latter to pass the whole float[4*6] as a vec4[6] uniform array to the shader.

+++

Constructor, setter and getter have been adjusted accordingly.

Most of the loops have been unrolled.

+++

Method names to query Frustum, i.e. 'is*Outside(<Type>)'
have been reduced to 'isOutside(<Type>)'
where <Type> uniquely indenticates the purpose.
Hence only 'isSphereOutside()' is left over.
The file was modifiedsrc/jogl/classes/com/jogamp/math/util/PMVMatrix4f.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Matrix4f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/Frustum.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
Commit c1531c3d99b19032040018b9414263b0d3000147 by Sven Gothel
Graph Clipping: Use Frustum Clipping using AABBox -> Mv transformed Cube -> Frustum mapping + GraphUI Support

AABBox clipping naturally couldn't be transformed into 3D Model-View (Mv) Space,
as it is axis aligned and only provided 2 points (min/max).

Therefor we map the Group's AABBox to a 8-point Cube,
perform the Mv-transformation and then produce the 6-plane Frustum.

As before, we cull fully outside shapes within the Group's draw method
and perform fragment clipping with same Frustum planes in the shader.

With clipping enabled, the 3D z-axis getBounds() depth
will be slightly increased for functional Frustum operation.
This is also done for setFixedSize(Vec2f).

The Frustum planes are copied to the Graph shader
via float[4*6] -> uniform vec4  gcu_ClipFrustum[6]; // L, R, B, T, N, F each {n.x, n.y, n.z, d}

+++

Concludes related work of below commits
- 1040bed4ecc6f4598ea459f1073a9240583fc3c3
- 5cca51e32999a882e2a5f00cb45ecafc824ffd86
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/uniforms.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_odd.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-single.vp (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-msaa.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2.vp (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/UniformNames.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_simple.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_even.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/varyings.glsl (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad3.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_weight.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/functions.glsl (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
Commit cd47baa406818f99c6d7e7711b7c1d16357456f6 by Sven Gothel
GraphUI Graph/Scene: Reuse TreeTool for contains(), getShapeByID() and getShapeByName(), also adding full traversion (instead of a flat lookup)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 5e2160edfb53d8896e4f8f0ed43e59a8e963d991 by Sven Gothel
GraphUI Group/BoxLayout/GridLayout: Handle empty Group, i.e. detect zero-size and avoid scale=Infinity and zero-sized resulting AABBox
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 5a24e0bbaaa0cdb61292e264b4919295fff40a2a by Sven Gothel
GraphUI Group: Add ctor with most usable values, allowing injecting a Group as a one-liner in code
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 018f2633ba8f7106439ec70829d2444abf0c389b by Sven Gothel
GraphUI Tooltip*: Allow user to trigger display via now(); Ensure TooltipShape.DestroyCallback gets passed the user provided Shape only
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
Commit af1ad04206b56b3e268d24ca9244face6b802e2c by Sven Gothel
GraphUI RangeSlider: Keep Region.AA_RENDERING_MASK in renderModes
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit 4a9f20330309a4a788e13ca7388b5663cd9f85c3 by Sven Gothel
GraphUI Demo Fontview: Demonstrate Clipping w/ rotation; Reuse GlyphShape for grid, info-box and tooltip

Added TooltipText for help and TooltipShape for GlyphShape.

Notable: The actual {@link GlyphShape} created for the glyph-grid {@link Group}
is reused as-is in the bigger info-grid as well as for the {@link TooltipShape}.

This is possible only if not modifying the scale or position of the {@link GlyphShape},
achieved by simply wrapping it in a {@link Group}.
The latter gets scaled and translated when dropped
into a {@link Group} with {@link Group.Layout}.

This is a good example for a Directed Acyclic Graph (DAG).
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit b69496fef8d802b4af7d00c9a8150984520e1b4c by Sven Gothel
UIShapeClippingDemo00: Fix behavior, use shape as child and completely chain rendering in display()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
Commit 93adc67938cfcf00fc5f5f5efb78cd6319ffdc31 by Sven Gothel
GraphUI Demos: Minor finetuning..
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
Commit ffe4e670c9d35121934c6f3c95067d9c18aee386 by Sven Gothel
Bug 1488 - Graph RegionRenderer Shader Mapping: Revert to IntObjectHashMap and throw exception on shaderKey collision

Commit 6363ae5fb6975a6f2e7c1093ce81f25b699e3e61 changed
RegionRenderer.useShaderProgram()'s shader mapping using a new ShaderKey instance.

Such ShaderKey instance is created every time @ RegionRenderer.useShaderProgram()
to retrieve the ShaderProgram from the HashMap<ShaderKey, Shader Program>.
While this is most correct, creating the ShaderKey instance causes
a lot of temp objects.

ShaderKey also uses the optional colorTexSeq shader code for equality test
in case of hash-collisions.

Previous code simply ignored hash-collisions and used a 1:1 hashCode -> ShaderProgram mapping using our IntObjectHashMap.
However, there was no test whether collision occur.

+++

Solution would be either
1- Revert fully to the previous code just using an IntObjectHashMap,
   but throwing a RuntimeException in case of hashCode collisions.
   In case of a collisions, we would need to produce a better hashCode.
   This is possible, as the underlying data is fully internal .. etc.

2- Use the IntObjectHashMap as long there is no hashCode collision,
   then revert back to HashMap<ShaderKey, Shader Program>.

+++

This patch implements variant (1), so far no exception has been thrown on
multiple demos w/ and w/o diff color-textures.
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
Commit a883f3e2e1563736df32573141fd5119f0678c92 by Sven Gothel
Bug 1490 - GraphUI Group: Resolve Performance Issues with Shape Mv Transform -> PMVMatrix4f

Shape.setTransformMv() is called for each renderer frame and for each shape,
involving 6 Matrix4f.mul() and set*() operations.

Since mutation of shape's position, rotation or scale is less frequent
than rendering one frame (for all shapes),
it is more efficient to maintain a local Matrix4f and update it
on such single mutations.

Rendering then only needs to perform one Matrix4f.mul() operation
using this internal matrix.

+++

Also changes name from setTransformMv(PMVMatrix4f) to applyMatToMv(PMVMatrix4f),
as its name might be misleading.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIGraphDemoU01a.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Quaternion.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/AnimGroup.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
Commit bf096870c73898963558bef5c9d75760f9f76290 by Sven Gothel
Bug 1490 - GraphUI Performance: Group/Scene: Use temp sorted arrays

Group/Scene's uses temp arrays for Z oder sorting,
which should be maintained locally to avoid too many temp object creations.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 5f9fb7159fa33bc979e5050d384b6939658049bd by Sven Gothel
Bug 1489 - GraphUI Group: Resolve Performance Regression in Scene.pickShape(): Drop invisible and clipped shapes

After implementing Bug 1487 (Frustum Clipping/Culling) and using thousands of shapes within one Group mostly culled (outside of frustum),
overall mouse Scene.pickShape() caused tremendous lagging.

This is caused by Scene.pickShape() traversing through _all_ shapes,
rendered ones, invisible ones and culled ones.

+++

Solution is to have Scene and Group provide a pre-sorted list
of actually rendered shapes, i.e. isVisible() and not culled.

Scene.pickShape() can now use this reduced and pre-sorted list
reducing the load considerably.

+++

Further
- cleanup TreeTool

- rename Container methods:
-- setFrustumCullingEnabled() -> setPMvCullingEnabled()
-- isFrustumCullingEnabled() -> isPMvCullingEnabled()

- supply Container with
-- isCullingEnabled()
-- List<Shape> getRenderedShapes()
-- isOutside()
-- isOutside2()
-- forAllRendered()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBoxGridOffset01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit daf9ae20ebc45c851bc3b8384f4cee3cded8d9dc by Sven Gothel
Bug 1490: Add missing rename Shape.transformMvTo() -> applyMatToMv(), an transformMvTo() was an intermediate rename (oops)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 6cf158cc59e901b49ab54681e363d23492421a9d by Sven Gothel
Bug 1488 - Graph RegionRenderer: Ensure shaderPrograms1 path is disabled using 'static final boolean useShaderPrograms0 = true'

For now, let's leave the dead shaderPrograms1 code path inside the class for further consideration.
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
Commit 6c11c32f4081e9029eeed281d317894bd179f1e3 by Sven Gothel
Simplify TooltipShape: Create own wrapper Group to not mutate user given Shape (if reused in DAG); Fix FontView01 TooltipShape instance, use NoOp DestroyCallback
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipShape.java (diff)
Commit 9b7ce6e69033d46a033af0538facad293054670a by Sven Gothel
TooltipShape.destroyTip(): Only show warning instead of throwing a RuntimeException if tip couldn't be found within wrapper Group
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipShape.java (diff)
Commit 19fac36ae64ffb219fb40449b537219d74a1f000 by Sven Gothel
Scene.dispatchMouseEventPickShape(): Reuse PMVMatrix4f, Ray and Vec3f within EDT, reducing temp objects on mouse moves
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 1dcfdf71c09c6d774ac47012c05e09da4a085d7b by Sven Gothel
Bug 1488 - Graph RegionRenderer: Use a more deterministic 64-bit shaderKey: [0-31] bit values and state, [32-63] colorTexSeqHash

This leaves only room for a key collision on the 32-bit colorTexSeqHash value
and hence should be save within our shader-code environment.

+        //  # |  s |
+        //  0 |  1 | isTwoPass
+        //  1 |  1 | pass1
+        //  2 |  5 | ShaderModeSelector1
+        //  7 |  1 | hasFrustumClipping
+        //  8 |  1 | hasColorChannel
+        //  9 |  1 | hasColorTexture
+        // 32 | 32 | colorTexSeqHash
+        long hash =             ( isTwoPass ? 1 : 0 );
+        hash = ( hash << 1 ) | ( pass1 ? 1 : 0 ) ;
+        hash = ( hash << 1 ) | sms.ordinal(); // incl. pass2Quality + sampleCount
+        hash = ( hash << 5 ) | ( hasFrustumClipping ? 1 : 0 );
+        hash = ( hash << 1 ) | ( hasColorChannel ? 1 : 0 );
+        hash = ( hash << 1 ) | ( hasColorTexture ? 1 : 0 );
+        hash = ( hash << 1 ) | ( ( colorTexSeqHash & 0xFFFFFFL ) << 32 );
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
Commit 95e2519a0fc37d19d05bc0f4cc14f593eaae7dd9 by Sven Gothel
Bug 1488: FFMPEGMediaPlayer: Fix getTextureFragmentShaderHashID(), i.e. use actual tc_w_1 = (float)getWidth() / (float)texWidth value as hardcoded within the shader.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit 234ca0c815a6261ac59c20ad30bf97eb997df63e by Sven Gothel
VBORegionSPES2: Disable verbose flag in TextureSequence.setTexCoordBBox() .. oops
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
Commit 48f907dc431817806f8bd766d98dcca59dc8290c by Sven Gothel
GraphUI Demos: Minor fixes
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit a516c694031e77c0e94d30f769c66495c4bf72ea by Sven Gothel
GraphUI Tooltip: Use delayMS for no time-based alarm (only used for now()); FontView01: Use TooltipShape for GlyphShape only with mouse click -> Tooltip.now()
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit 95de4407faf91f30ccecb3af1aad4242172a6e0f by Sven Gothel
GraphUI RangeSlider/RangedGroup: Fix overall integration, adding more API comments; UIMediaGrid01 now uses RangedGroup

RangeSlider
- Fix pageSize, i.e. allow valid content.getBounds() be pending @ validateImpl()

- Clip value [0, maximum - pageSize]

- Has to use Float.isFinite() to capture both, NaN and Infinity
-- used for pageSize, determining whether slider uses pageSize rect-knob or position round-knob
-- used for minMax, val, val_pct and temp range + pageSize_pct
-- don't overwrite valid pageSize if leading to !isFinite()

- Reuse setKnobSize() for ctor as well, where padding is be done once (FIXME?)

- Tested via RangedGroup w/ UIMediaGrid01 and FontView0
-- vertical slider, inverse and !inverse
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit 4358310d3233f38d154c03ffbf1fed71891aeaf3 by Sven Gothel
GraphUI MediaPlayer: Fix Zoom behavior; Disable DEBUG output
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 4cbf5297af18f541baa5cd5b85017b1a7a5c19c0 by Sven Gothel
Graph: Drop non-existing 'JAVA' font from FontFactory
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/MiscUtils.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/FontFactory.java (diff)
The file was removedsrc/jogl/classes/jogamp/graph/font/JavaFontLoader.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java (diff)
Commit b711ae5239b8581a197d468b2804cfeb8c4d6c94 by Sven Gothel
Bug 1488: Complete/Fix producing the 64-bit shaderKey: Use long values in bit-shift expressions and simplify it

commit 1dcfdf71c09c6d774ac47012c05e09da4a085d7b
- still used the 'hash code' bit shift pattern, not necessary -> simplified
- the value as not ensured to be long, hence conversion occured

This caused Graph's MSAA not being picked up properly using the shaderKey.
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
Commit 76487cd34ba706bee6c122a1cbbc75f5639eb4a4 by Sven Gothel
NativeWindowFactory.createDevice(..) w/ unitID for cloning; DefaultGraphicsDevice: Move ownership (Object) code into base class ensuring same code

NativeWindowFactory.createDevice(..) w/ unitID
- Allows cloning a device instance with same parameter.

DefaultGraphicsDevice: Move ownership (Object) code final into base class ensuring same code
- Rename DefaultGraphicsDevice.swapDeviceHandleAndOwnership() -> swapHandleAndOwnership()
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/DefaultGraphicsDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/AbstractGraphicsDevice.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/egl/EGLGraphicsDevice.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/NativeWindowFactory.java (diff)
Commit 18afa5200983bb158e631c81f2df1ca1a45cd882 by Sven Gothel
Bug 1491: Add missing rename DefaultGraphicsDevice.swap{Device->}HandleAndOwnership()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLEventListenerState.java (diff)
Commit 78812de21182e32f86a823321b017f7f6cf52ae3 by Sven Gothel
Bug 1491: FFMPEGMediaPlayer: Lock moviePtr lifecycle phase in-between [initStreamImpl - destruction]

initStreamImpl() calls ffmpeg natives.setStream0(..), which in turn callsback to the GLMediaPlayerImpl
and FFMPEGPlayer and hence requires a valid moviePtr. In total, it covers a longer time period.

This patch uses a moviePtrLock object avoiding destruction while within initStreamImpl.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit 8fe39d3a524e5e580cf2667988965f1e27fed95b by Sven Gothel
Bug 1491: GLMediaPlayerImpl: Use a shared *GraphicsDevice for all compatible shared GLContext, removing resource restrictions

In a use case with hundreds of GLMediaPlayer instances,
this causes the application to bail out due to running out of resources.

+++

GLMediaPlayer exposes resource restrictions and locking related
with the created off-thread shared GLContext
due to its newly created NativeWindow *GraphicsDevice instance (on X11).

On the X11 platform, the *GraphicsDevice actually uses a native resource (X11 Display handle) and hence creating such device is costly and limited.

To operate an off-thread GLContext w/o actual X11 input handling,
it is *NOT* required to use a new instance.

+++

Further more, the device is using locking.
To operate an off-thread GLContext, it is *NOT* required to use locking on it
as it does not perform actual X11 input handling etc.
All operations are performed on the shared GL context.

+++

Solution is to create a shared non-locking device clone
compatible with the source.
A share counter shall determine that the last one actually gets destructed.
The usual ..
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 09c256e2f26938cc2015176e259164bd7421dbdd by Sven Gothel
Math Vec*: Rename {scale->mul}(..) for non-scalar types (n-dim); Add div(..)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec3f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec4f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec2f.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/Matrix4fb.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec3d.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Matrix4f.java (diff)
Commit ab29e3b34ea29d35b04ad2771ca20e49f1a59351 by Sven Gothel
GraphUI Layout: Emphasize whether a value/parameter is scaled or unscaled in API doc to ease usage
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Margin.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Padding.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Gap.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java (diff)
Commit f57d165b3f6194918dfa7327188b96b79d601393 by Sven Gothel
GraphUI Shape: API doc for colors; add makeShapeDirty() on setColor(); add activeRGBAModulateOn.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 4ef4dea6eee5873f1185ecfb283a4eff059b22c7 by Sven Gothel
GraphUI RangeSlider: Use a modulating color for rect page frame for visible response when active
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit 3d409f9ddde495f6a2cccbd06e4552acf134cbd7 by Sven Gothel
GraphUI MediaPlayer: Cleanup infoLabel layout; Add sticky HUD (always-on) button; Fix tooltip help; Make slower-speed reduce by half if <= 1
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit f981e929d29157b6128db6cccd585baf58049516 by Sven Gothel
GraphUI Demos: Bump FontView01 + UIMediaGrid01
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit 85ff5a8b745a0dd582d19871f685b7b0beb1af70 by Sven Gothel
GLMediaPlayer: Fix playing with single-threaded mode w/ texture-count 1
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
Commit 68ca5b14966cb7eec9501c17dc8b3b465421a68e by Sven Gothel
GLMediaPlayerImpl: Throw out video_queue_growth
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit a8e382bf6ebc7d405ef2479dae97762d9b7e2967 by Sven Gothel
GraphUI MediaPlayer: seek from display-thread, don't act on SliderAdapter.clicked() as dragged is always called
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 7fe9da9d2b5b7475ea3878b0a8d23f485bb19dff by Sven Gothel
GLMediaPlayer: Add initial subtitle support, track audio/video/subtitle streams and languages and add convenient switchStream(..) entry.

audio/video/subtitle streams and language metadata is maintained by arrays holding the stream-IDs and language string identifier.

Implementation added in FFMPEGPlayer for these data-sets.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_tool.h (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0400Natives.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0500Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0600Natives.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
Commit 0b908ee7fc80344118d3fa6d4d92ebb082968cb3 by Sven Gothel
GraphUI MediaPlayer Widget: Support switching audio and subtitle streams, show their language as a button - press to switch to next
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit b2bd320e2b688097f0d5171eb6e89e985909c7b7 by Sven Gothel
GLMediaPlayer: Support tile metadata
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit ccf52ae58e55c09139fd44d4d7a6812f51adb15e by Sven Gothel
GraphUI MediaPlayer: Bump Chapter tooltip scale
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 298cfd3a0c36bcb7580f8fd3d02e470f36b50f10 by Sven Gothel
GraphUI MediaPlayer: Disable always DEBUG hack
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit d46c8e7f5288fb07e632b063462a6c08bba91fb2 by Sven Gothel
GraphUI Group: Don't draw border is set invisible
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
Commit 62a1f18e98df6783d487f7dfbbc83026b04a19b8 by Sven Gothel
GraphUI Misc Cleanup: Move get*Font() helper to Scene; Allow GraphShape.drawImpl0(..) override;
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/MiscUtils.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
Commit 6c67d73dc6b9e49bdd406902e533be91db1a3b0a by Sven Gothel
GLMediaPlayer/FFMPEGMediaPlayer: Add working subtitle (text + ass/saa) support via FFMpeg

TODO:
- We may want to refine subtitle PTS handling
- We may want to support bitmapped subtitles
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.c (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/ASSEventListener.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_tool.h (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/ASSEventLine.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.h (diff)
Commit f92f72adef6abc76dce7eecf6c058e8d43d3add9 by Sven Gothel
GraphUI MediaButton/MediaPlayer-Widget: Add working subtitle (text + ass/saa) support via GLMediaPlayer/FFMPEGMediaPlayer
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 36c3176264db381d23678ee5631bf4a3f1b86c7d by Sven Gothel
GraphUI MediaPlayer: Remove debug message (Behavior to disable border if zoomSize == 1, full-screen)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit d537f28ca05e1ae5d611cc3d30ca9c54137d599f by Sven Gothel
GraphUI Demos: Disable debug toggles
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit 432339880fbf00d0003cd1ed4ac3c7d37d323c22 by Sven Gothel
GraphUI Demo UIMediaGrid00: Add missing patch from relocating getSymbolsFont()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
Commit 0f30aa0995aed0afa610efd49ab8f7ea26fa6db0 by Sven Gothel
FFMPEGMediaPlayer (native): Set used sid to none if not selected (missed)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit 9aeff8cb3113729adcb5910061015a88ac827002 by Sven Gothel
FFMPEGMediaPlayer (native): Simplify subtitle handling in readNextPacket0()
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit 28e5b66e6e201259c6ad240552045314d2072595 by Sven Gothel
GraphUI MediaButton: Clear cached subtitle data on uninit and init from GLMediaPlayer
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit c5bca1f0dba2540088e8e2a90d720fdbc4870b30 by Sven Gothel
Cleanup GLMediaPlayer.EventMask.Bit handling in GLMediaEventListener implementations: Either Uninit, Init, Pause or Play (exclusive)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0b.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0a.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit 3e95c1994d363bc137ffcf548fd3751ac500ac7b by Sven Gothel
FFMPEGMediaPlayer/GraphUI MediaButton: AVSubtitles's start/end are relative to pts [ms] (fixed); Use ASSEventLine packets within proper pts only.
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit a19f810c9618e2fa6829f1c157d2e1a88ca178de by Sven Gothel
FFMPEGPlayer: Prep for bitmap'ed subtitles: Use glEnable()/glBindTexture() func-ptr in native; readNextPacket0() passes video+subtitle texTarget and texID

For bitmap subtitles we need to push the bitmap into its own texture.
Hence readNextPacket0() must switch to used texture using glEnable() on !core and glBindTexture().
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0400Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0600Natives.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.c (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_tool.h (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0500Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.h (diff)
Commit 670286747af423781aa4f54062aa34345d32a397 by Sven Gothel
GLMediaPlayer: Add getSubtitleCodec()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 9a21e23b3296eb481bcb407d740e822ad11ac7cd by Sven Gothel
GraphUI MediaButton: Add blending below subtitle, allow setting color/blending and subLineDY; MediaPlayer: Add full infoLine toggle with click on infoBox
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit 72065d9e2a9d6480c34afc9920071d5ed577d37a by Sven Gothel
Bug 1494: Add SubTextureEvent & SubEmptyEvent; Add SubtitleEvent.release() provided by owner to take back borrowed resources (texture of bitmap subtitle)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubASSEventLine.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubtitleEventListener.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/av/ASSEventLine.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubtitleEvent.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/av/ASSEventListener.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubTextureEvent.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubEmptyEvent.java (diff)
Commit b8b692e9cf3120d788ae912514f54948ddccacf5 by Sven Gothel
GLMediaPlayer: Split GLMediaFrameListener (rarely used) from GLMediaEventListener, easing listener callbacks; Prepare SubtitleEventListener generalization (Bug 1494)

Moves pushSound(), pushSubtitle*() from FFMPEGMediaPlayer to GLMediaPlayerImpl,
as it is handled in a generic way - even though currently only called by native FFMPEGMediaPlayer implementation.

Note: This patch is incomplete, i.e. not even compile clean.
But choses as-is to semantically split the work to ease review.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.h (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity0.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity1.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0a.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0b.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.c (diff)
Commit f93b6c570b94beab1656f0024bdc06a22b2431d6 by Sven Gothel
Utilize PTS.getCurrent() where applicable
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieSimple.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/av/MovieCube.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit 03f24c544a70ebecc4e61c48425d361abc34d951 by Sven Gothel
Bug 1495: GraphUI Shape: Only updateMat() if marked dirty once in applyMatToMv() and getMat(*)

It is sufficient to mark the internal iMat dirty when mutating the source values (pos, ..) and calling updateMat() only once when used in applyMatToMv() and getMat(*).

iMatIdent can also be set to true within updateMat() IF neither mutations occured, i.e. no translocation, scale or rotation.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit f7458c47338c90db19ef3f0143a268b60b1267a3 by Sven Gothel
Bug 1496 - GraphUI Shape: Allow markShapeDirty() and markStateDirty() to be lock free
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 5cf0d370dbc2b1f59102522d40f4875f7d77b1f7 by Sven Gothel
GraphUI: Only issue Shape.mark*Dirty() if values were updated or data available; JOGL ImageSequence: Add addFrame(GL, TextureFrame), remove*Frame() and isSequenceAnimating()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/ImageButton.java (diff)
Commit 8d03e7e0b79cf5bd70fa45f524abb236787303ad by Sven Gothel
Add Vec2f.set(Vec2i) and Vec2f(Vec2i); Add Texture.set(..) allowing a pending setup/update of texture and image dimensions
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/Texture.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec2f.java (diff)
Commit db2daee62669ee649a6cb1d8d99731c6b3d3a250 by Sven Gothel
GraphUI Demos: FontView01 can use scaling Lable ctor; UISceneDemo01b doesn't need to issue Shape.updateMat()
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java (diff)
Commit fe8f67563aa0bf2ff8f6e242c13f1d267c18b7f5 by Sven Gothel
Graph shader (pass1 simple): USE_COLOR_TEXTURE: Clip to vec4(0) color using alpha 0 instead of the debug color white vec4(1), which leads to the white seam if out of gcu_ColorTexBBox
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_simple.glsl (diff)
Commit bb32e88ca0e8fa95b7d8503f5881fa256bf95e59 by Sven Gothel
Bug 1495: GraphUI Shape: Fix updateMat() API doc
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit 9fe460aecf8509c8305416bb9d77aadf6165c677 by Sven Gothel
Bug 1494: Clarify SubtitleEvent class, adding general FFmpeg analog CodecID and hence also promoting VideoPixelFormat
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/av/SubASSEventLine.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubTextEventLine.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/CodecID.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubBitmapEvent.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/av/SubTextureEvent.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/util/av/VideoPixelFormat.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/VideoPixelFormat.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubEmptyEvent.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubtitleEvent.java (diff)
Commit ca846bc67e6a074a182e97f29b3c34b90a12cac3 by Sven Gothel
Vec[234][ifd]: Add toArray(..) method
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec2i.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec3f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec4f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec2f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Vec3d.java (diff)
Commit 9ff736464e0d2762c424bab66bc6d03ccc6e6d11 by Sven Gothel
Bug 805: Graph/GraphUI TextureSequence Scale: Move Region.COLORTEXTURE_LETTERBOX_RENDERING_BIT to TextureSequence and add enabling/disabling of aratio adjustment + letter-box back-color

TextureSequence color-texture params fetched from Graph VBORegion* and fed into shader.

This allows more flexibility in aspect-ratio adjustment as well as setting a clipping background color for
the added letter-box space.
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/uniforms.glsl (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_simple.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/UniformNames.java (diff)
Commit 23cf5279472d3ae1b2d8d1904e6b1f1e7fd8f012 by Sven Gothel
Bug 1494 - GLMediaPlayer/GraphUI: Support Displaying Bitmap'ed Subtitles (PGS ..) via FFMPEGFMediaPlayer/FFmpeg

FFMPEGFMediaPlayer related changes:
- Add libswscale (6th FFmpeg lib used) for sws_getCachedContext(), sws_scale() and sws_freeContext(),
  used natively to convert the palette'ed bitmap into RGBA colorspace -> GL texture

- Handling AVSubtitleRect.type SUBTITLE_BITMAP
-- only handled if libswscale is available
-- config/adjust texture object
-- sws_scale palette'ed bitmap to texture
-- intermediate memory is cached, may be resized and free'ed at destroy
-- texture objects are managed and passed from GLMediaPlayerImpl,
   as they are also forwarded to player client via SubBitmapEvent

- Passing the AVCodecID to GLMediaPlayerImpl, converted to our CodecID enum.

- Unifying creation and opening of AVCodecContext with 'createOpenedAVCodecContext(..)'

+++

SubtitleEvent*
- SubTextEvent now also handles ASS.Dialogue (FFmpeg 4)
  besides ASS.Event (FFmpeg 5, 6, ..).

+++

GLMediaPlayerImpl
- Added ringbuffer subTexFree, managing Texture for bitmap'ed subtitles
-- Uses 1 bitmap-subtitle Texture per used textureCount in cache,
   as one bitmap-subtile can be displayed per frame.
   Could be potentially reduced to just 2 .. but resources used are
   relatively low here.

- Validating subTexFree + videoFramesFree usage,
  use blocking get/put ringbuffer due to utilization from different threads.

- Receives subtitle content from native getNextPacket0() via callback,
  creates SubtitleEvent instance and passes it to a SubtitleEventListener - if exists.
  (See MediaButton example)

-- SubBitmapEvent also gets its special SubBitmapEvent.TextureOwner to handle client releasing
   the event and allowing us to put back the Texture resource to 'subTexFree'.
   This passing through of the Texture object is probably a weakness of this lifecycle
   and requires the client to ensure SubtitleEvent.release() gets called.
   See MediaButton example!

- Exposing CodecID, allowing clients like MediaButton to handle SubtitleEvent content according to codec
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGStaticNatives.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0400Natives.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_tool.h (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0600Natives.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/av/SubTextEvent.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubtitleEvent.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_static.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubEmptyEvent.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubBitmapEvent.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0500Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/av/SubTextEventLine.java (diff)
Commit 0dd2b17f1dd484d22d68828bfb61558be09a4bfa by Sven Gothel
GLMediaPlayerImpl: Allow one frame to be shown paused when issuing seek(), i.e. 'oneVideoFrameOnce'.

This allows a player to see the current seek'ed position while paused.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 1672233124e425e5446e1ae87974af248784be3c by Sven Gothel
GLMediaPlayerImpl.StreamWorker: Don't grow videoFramesFree since having removed buffer grow in commit 68ca5b14966cb7eec9501c17dc8b3b465421a68e
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit a676fb259c310246975f9c2f67f7a9795967f7bb by Sven Gothel
GLMediaPlayer: Adjust API doc and certain names differentiating video (from subtititle) etc.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
Commit 1639bf159810895eb24791c8128a7b2c02d15a56 by Sven Gothel
GLMediaPlayerImpl: Disable subDEBUG flag
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit aa39750aa27fc4c65f34fbd599186b30e5005f59 by Sven Gothel
Remove Clonable and clone() in favor of explicit determined copy() and copy-ctor in com.jogamp.graph.* and com.jogamp.math.*
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Triangle.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/plane/Path2F.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2DExpAddOn.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/plane/AffineTransform.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Vertex.java (diff)
Commit 5242c1392c39d3a4b0a95ebfdc72bcd93bf2f820 by Sven Gothel
OutlineShape: Earmark coloring task when triangulating ..
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
Commit 020f998cad685ce2267751196528b31ce939764c by Sven Gothel
Bug 1493 - Text/ASS Subtitle via MediaButton/MediaPlayer Alignment defaults to CenterHoriz, also support Left.

MediaButton: Also cleanup local vars in layout
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 7928ed90104f71fb53ae8201b3140b8e347b83ee by Sven Gothel
Bug 1493: Supply language code to SubtitleEvent, perhaps allowsing player to select font for ASS/Text rendering; Remove GLMediaPlayer's getStreamLang() as replaced by getLang()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubtitleEvent.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubEmptyEvent.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubBitmapEvent.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubTextEvent.java (diff)
Commit 4ba099b97df41be220c4b2816c728e6b8cc1b037 by Sven Gothel
Graph/GraphUI: Move getDefault*() to FontFactory and add {get,set}FallbackFont() + Font.getBestCoverage(..); Use fallback-font in MediaButton in case chosen font doesn't match (foreign languages, e.g. 'zho' Chinese .. )
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/FontFactory.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java (diff)
Commit 842d26748d6eaf7fde33dced3a33aef60f09d7d3 by Sven Gothel
Documentation for `HeadTable`

* Added documentation to fields in `HeadTable` taken from
https://docs.microsoft.com/en-us/typography/opentype/spec/head.
* Added `LongDateTime` conversion of date values encoded as "seconds
since 1904".
* Added `getType()` API to `Table` interface.
# Conflicts:
# src/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/table/SbixTable.java

Original commit from typecast merge:

From 43c20bb2e7644aef7002caeb93e1770be5cacaab Mon Sep 17 00:00:00 2001
From: Bernhard Haumacher <haui@haumacher.de>
Date: Sat, 9 May 2020 12:49:39 +0200
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Fixed.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CvtTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/SbixTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/FpgmTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/BaseTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/PcltTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/ColrTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/PostTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/LtshTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CpalTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GsubTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/PrepTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GposTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/Os2Table.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GdefTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java (diff)
Commit d5880b4ba4a3fec40647960682aead03a977b9ad by Sven Gothel
Added JavaDoc references, split version fields according to spec.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java (diff)
Commit a71ee81c72baa1c4d6a58220df7733acca499166 by Sven Gothel
Getters for macStyle bits, enhanced docu for fontDirectionHint.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Bits.java (diff)
Commit a237a956fcc925e27d72ba49d242dcc1dc09072c by Sven Gothel
Added documentation to the 'glyf' table and structures.

* Completed missing toString() functions in some table.
* Added dump() functionality to create a human readable description of
all font tables with complete detail.
* Fixed some signed/unsigned problems in the parser.
# Conflicts:
# src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java
# src/test/java/net/java/dev/typecast/ot/TTFontTest.java
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Bits.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/Program.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Fixed_2_14.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTGlyph.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeComp.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyphDescription.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfSimpleDescript.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Fmt.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Disassembler.java (diff)
Commit 8f0c4a6b250a2afa4d5145bee39adbf443dfcbd8 by Sven Gothel
Added documentation to the HmtxTable.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java (diff)
Commit 5f2f0905a41d7f0477a1561243c61489066e9de4 by Sven Gothel
Added offset table as member to the font.

* Include the offset table in the font's dump.
* Simplified reading since the offset table now does not be read twice.
# Conflicts:
# src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java
# src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java (diff)
Commit 468a75d6b84b0cdcbd860f8a52492725be8771d9 by Sven Gothel
Bugfix: Format 14 header of Cmap table is not skipped correctly.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormatUnknown.java (diff)
Commit 24a4f764c1f7b07c81a31991bf65808c2406e5bd by Sven Gothel
Improved documentation of Cmap table.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat12.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java (diff)
Commit 2a23fede0f8ee99ed958f0f547f2558da7662cd9 by Sven Gothel
Added documentation to the 'loca' table.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java (diff)
Commit adc90be6effd090f217e2613d0dab13f9a1ad7c9 by Sven Gothel
Added support for reading the SVG table. # Conflicts: # src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java # src/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java (diff)
The file was addedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/SVGTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java (diff)
Commit 5a4f663e9ce0b5df06ae99dd8f6b9809a2ce2bc4 by Sven Gothel
Added rudimentary documentation to the CFF table.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java (diff)
Commit 237de4e4c7e403c4bf0b014399e28b2f16d06df7 by Sven Gothel
Enhanced dump format of cmap table.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat12.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java (diff)
Commit 6c84171b109fb2de8400e20cab191e5801f3e6c6 by Sven Gothel
Hausmacher Merge: Complete merge part-1: Compile and test clean (pre-write-feature)

Bernhard Haumacher provided changes in May 2020 to the typecast project within his public branch https://github.com/haumacher/typecast
This merges the pre-write-feature work, which probably is incomplete.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java (diff)
Commit fcf10b35daeab6356e389487a37196f14523df71 by Sven Gothel
Cleanup (static, final, whitespace, ..) post Hausmacher Merge
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/ID.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Disassembler.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java (diff)
Commit 7cc0bf0d58a3e3f672ce2e4f179de21f1f67dc93 by Sven Gothel
Hausmacher Merge: Complete merge part-1 into JOGL from our typecast branch; Adding missing LongDateTime class

haumacher  https://github.com/haumacher/typecast

https://jogamp.org/cgit/typecast.git/log/?h=jogl_patches

Status:
- Compile clean
- Graph/GraphUI Bring-Up OK
- Fixes CJK ttf font parsing due to fixed Cmap table
The file was addedsrc/jogl/classes/jogamp/graph/font/typecast/ot/LongDateTime.java (diff)
Commit 5acc02aee010d0bae0186bf906bd0c5e8abfb948 by Sven Gothel
Typecast: Cleanup: final
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/Fixed.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/TTGlyph.java (diff)
Commit 8fcbeaa4e440e1bb8e51658f15a35d2a217dc0bc by Sven Gothel
Typecast: Re-apply overwritten stability changes (NPE, redundancy)

0e5e38478a6197b2dc65960c55bc831d6b4796a7 Sun Feb 12 00:54:40 2023 +0100
d18df847b17a89fdc4b47fa9cfe010af1a61690b Sat Mar 1 16:48:48 2014 +0100
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java (diff)
Commit 6caed46dba2c8be34c3cb32dc6bddf31f98eac02 by Sven Gothel
Use new com.jogamp.common.util.StringUtil (GlueGen)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/SubTextEvent.java (diff)
Commit 5e24fc150f505fc5e08fc6c8cc9274ecea66b28b by Sven Gothel
Tooltip[Text]: Use a slightly round button, change to grayscale colors matching our buildin-theme and have the tips placed just above center of the toop (not above it)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipText.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
Commit 5bf50ce8876df289c362aa270fbfabccd571f29e by Sven Gothel
GraphUI RangedGroup: Keep position @ validate()

Positional change could occurre in case the content has changed.
However, our positional slider would not reflect this and the sliding view should stay stable.

Test: UIMediaGrid01 having one player tile zoomed and returned.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
Commit 5770c2465e171dd191fbc09003476f5ad4c33e53 by Sven Gothel
GraphUI: Fix func-name, rename TexSeqButton.use{AspectRation->ARatio}Letterbox() matching TextureSequence
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 37664c391b4d0bb4f0718726c543726ee30a13f8 by Sven Gothel
Graph Font: Pull up static function
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
Commit 1967fd22d432e2b37f3d8de94dd7e07f166c05ba by Sven Gothel
GraphUI Button: Fix API doc typo
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
Commit 119a9bf8c474ec8d7db11235f90a3e266c911e1e by Sven Gothel
Bug 1493: Enhance Text/ASS subtitle layout: Split too wide text into multiple lines (max 4) fitting into box, trimming it beforehand

Not always are Text/ASS subtitles well formed with newline character.
Use new StringUtil to re-layout if their width doesn't fit into the box,
by trimming all whitespace and splitting them into up-to 4 lines.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
Commit e4ddb70fcdf36beaccc991c8642f9343eb048057 by Sven Gothel
GraphUI RangeSlider: Active {Page -> Knob} Color modulation now affects the knob for round-knob and page-size knob
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit d35a9d954fbe638546f95f0122b8c083ee4bd809 by Sven Gothel
GLMediaPlayer.Chapter: Add duration()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
Commit ec5d278a51eaaf4062010df41cf23f884e4b715b by Sven Gothel
GraphUI Cleanup: Use TreeTool directly (Reduce virtl-funcs);  Fix typos; Use PointerListener for onClicked(), add onHover();

Subsequent commits will fix complete cleanup where code was changed mostly regarding other issues.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBoxGridOffset01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/shapes/Button.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit 8df74578481431768b3c26294c6bd64ed7030ae5 by Sven Gothel
Bug 1498: GraphUI: Adopt RangedSlider to new picking (coming up), simplifies code.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit 43a7899fedf2a570d20b03848bf15710f30b7f26 by Sven Gothel
Bug 1498: Change Top-Level Widget Mode: Register a top-level Group in Scene, where its zOffset gets adjusted when activated..

.. instead of having a non-working complicated callback orgy setup.

This also takes away the getAdjustedZ() overloading burden (or better uglyness) etc.

Hence Group's setWidgetMode(boolean) became:
- enableTopLevelWidget(Scene)
- disableTopLevelWidget()

The forwardActivation listener is still applied to all children
as well as isActive() is also still overloaded for same required behavior.

However, none of the children is set in 'widget mode'
as well as the Group is simply added to (or removed from)
the Scene's top-level Group list - the holder.

Scene's setActiveShape(Shape) and releaseActiveShape()
handle the top-level Group if affected,
i.e. adding or zero'ing its ZOffset.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Container.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 4b5de7337d2b335d512a0ff969222f038b734b8b by Sven Gothel
Bug 1498: GraphUI: Fix Picking Traversal throughout Groups in Z-Descending Order, testing Children and fallback to Group if positive

Picking algo in Z-Ascending order worked only by chance, as it picked up any bottom node.

+++

Proper algo is in Z-Descending order to block occluded (child) nodes:

for-all s : shapes
  p1 = testPicking(s)
  if ( s is Container ) {
    p2 = testPicking(s.childs)
    if( null != p2 ) {
      p1 = p2; // override w/ child prio
    }
  }
  return p1
}

Further, testPicking(shape) shall only return a positive shape,
if the event dispatching check (mouse-over, click, ..)
signals end-of-traversal - as originally intended.

Overall philosophy is to pick the 'deepest' child of a group
if responding, otherwise the next higher interactive group.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 347739f9589b1f846e2a0db33b554ff34b2ce984 by Sven Gothel
Bug 805: GraphUI MediaPlayer: Add 'Aspect Ratio Crop' Button; Have Chapter Pre/Next Buttons; Toggle HUD head info box (full or brief)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 6ec212e0348fc9028e2afc6a298c49890566bf2d by Sven Gothel
Bug 805: GraphUI Demos: Adopt changes to FontView01 + UIMediaGrid01, dropping UIMediaGrid00
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was removedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit 80f226fffcab51f8e46caa48e9dd3a134ca87dd0 by Sven Gothel
GraphUI MediaPlayer: Elevate the ctrlSlider a little (and add it behind ctrlBlend) to remove the occlusion by the blending box
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
Commit 0ac7b2e59d5b41302f8e0ec7596d8f44447cf0a1 by Sven Gothel
Bug 1498: Refine Top-Level Widget Mode: Handle active-state by Scene, simplify and reduce runtime costs

Refines commit 43a7899fedf2a570d20b03848bf15710f30b7f26

Scene handles top-level active state via releaseActiveShape() and setActive(),
now calling into setActiveTopLevel() -> dispatchActivationEvent().

Drop child's addActivationListener(forwardActivation) and isActive() override.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
Commit eff91a9e29fc97d7e5051d9900e79ba9d044fb3a by Sven Gothel
GraphUI: Add Shape.IO_DISCARDED and update it @ Scene/Group draw(); Prepare for experimental occlusion-culling

TreeTool's cullShapes(), actually a naive dumm occlusion test (*RENAME IT*),
would need to realize whether the shape/groups actually cover shapes below,
i.e. are not on same Z-Axis and transparent.

Hence, this is disabled in code and we rely on the Z buffer still,
just an idea ..
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
Commit 9bf746d7c8d1e4a3b0c363b54fe9e7a96578228a by Sven Gothel
Bug 1492: GLMediaPlayer: Add playStream(..) variant passing desired audio- and subtitle language
The file was modifiedsrc/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0600Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0500Natives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0400Natives.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java (diff)
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit 1d54666a16863d69a03345ab7ef4aaa3332a79ac by Sven Gothel
GraphUI RangeSlider: Fix 'activeOldMod' -> static to member
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
Commit 2c84a3f7bf97ecfe445cd33a14ac7f968deb3e5e by Sven Gothel
GLMediaPlayerImpl: Fix playing one frame after seek() @ getNextTexture(), requires pause state (normal at play-state)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 5bacb8e6887b55ab2053dc5ed76bebcc0743a45e by Sven Gothel
GLMediaPlayerImpl: Adjust aid/sid to AUTO if alang/slang is given
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 29697eaac78bdc0c1a6cfb8547516c614dc1db8e by Sven Gothel
GraphUI Shape: Add MouseEvent to MoveListener; RangeSlider: Add rel obj position + NEWT MouseEvent to listener, renamed {Slider->Change}Listener and add PeekListener for mouse-over events
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangeSlider.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
Commit 250f8e76bc8a9ac55d2dc198c01dc88335cb9ecb by Sven Gothel
GraphUI Tooltip*: Remove unused paramter in createTip() and clarify names
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipShape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/TooltipText.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Tooltip.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
Commit 35715d84f2c268f33b86814534ddcac70b883118 by Sven Gothel
GraphUI: Add HUDShape, a convenient HUD shape to be exposed in the scene using inner object size/pos, similar like TooltipShape
The file was addedsrc/graphui/classes/com/jogamp/graph/ui/shapes/HUDShape.java (diff)
Commit 6e7f7b444691e2c0c56c9746e6a27d42d6e35a46 by Sven Gothel
GraphUI MediaPlayer: Add HUDShape on time-slider @ mouse-over with time-string and still-images (optional) .. using HUDShape
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit 1e6b604393509e631d46fe72053ca813aee33a74 by Sven Gothel
GraphUI Demos FontView01 + UIMediaGrid01: Use FSAA 8 (GPU MSAA 8) as these demos utilize lots of smaller resources regions ...

.. and this also brings us to the next required task: Resolve AA w/o supersampling right in our shader,
which is very well possible when extending the tessellated outline triangle's area.
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
Commit 499d8474247053f47e1f217f5e78fc0f5397f2d9 by Sven Gothel
Graph: Outline[Shape]: Add print()
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
Commit 277ad1ba1453b7e2e0164f1a609482a36469b2ea by Sven Gothel
Bug 1501: Graph Delaunay: Add double triAreaVec2() and isInCircleVec2() version, overcome float precision; Loop: Pass edgeType not Winding, simplify findClosestValidNeighbor() -> isValidNeighbor(); CDTriangulator2D.addCurve() enforces Winding.CCW on BOUNDARY null == loop case

Add double version of triAreaVec2() and isInCircleVec2() in VectorUtil, overcoming float precision limits
- Analysis exposed float precision limits within isInCircleVec2()

Loop: Pass edgeType not Winding, simplify findClosestValidNeighbor() -> isValidNeighbor()
- Enhance code clarity

CDTriangulator2D.addCurve() enforces Winding.CCW on BOUNDARY null == loop case
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
Commit bf882af1675f390500cc36c5396f75c394372d52 by Sven Gothel
Bug 1501: Graph: Add UIShapeDemo02a test for rectangular shape provoking tessellation issue / or use Glyph03FreeMonoRegular_M
The file was addedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo02a.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java (diff)
Commit a77b487a44124a9e55fa9a53d1f9c3ae20b9c3ba by Sven Gothel
Bug 1501: Graph Delaunay: Use default winding outer-boundary:=CCW and inner-hole:=CW w/o using winding determination (might be incorrect)

This simplifies our code further and it has been validated that our polygon shoelace-algo for area >= 0 ? CCW
doesn't produce correct results with all curves.
Hence rely on given winding depending on outer-boundary and inner-hole if CDTriangulator2D.FixedWindingRule == true (default and fixed).

This also removes the more costly winding shoelace calculus,
hence Outline ctor only sets dirtyWinding:=true w/o calculating the winding.
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit dcacff437e23d93f1fa835bc4fff0a73242e51f6 by Sven Gothel
Bug 1501 Graph Delaunay: Replace MaterialIconsRound-Regular.ttf with fixed winding direction (outer-bondary TTF CW (Graph CCW) and inner-hole TTF CCW (Graph CW)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/fonts/symbols/MaterialIconsRound-Regular.ttf (diff)
Commit f3d181114f804661c92485864047291651880718 by Sven Gothel
Remove unused imports ...
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/MediaPlayer.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java (diff)
Commit c4f14aa011c567b54667ed2209c2f48363998644 by Sven Gothel
VectorUtil: Remove unused isInCircleVec2f() and triAreaVec2f(), now using *2d() variants
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit e6dd773b249cbeb117a710a46133fa42f748f1d7 by Sven Gothel
Loop.isValidNeighborDbg(): Remove DEBUG branch, always true
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
Commit 65b3a230a53252f7c2cacd968b7afee6d43e7327 by Sven Gothel
Graph RenderState/RegionRenderer: Rename isHintMaskSet()->hintBitsSet(), setHintMask()->setHintBits(), clearHintMask()->clearHintBits()
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java (diff)
Commit 101ec44f9d6df7faa0695accccfd43f51e48e7a4 by Sven Gothel
Bug 1501: Graph RenderState add debug-bits, i.e. DEBUG_LINESTRIP used in VBORegionSPES2 to just render lines instead of the filled area -> Used in UIShapeDemo02a
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo02a.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java (diff)
Commit 06e5b0503a0b32b8b1e5985a9da0d5373f8b7096 by Sven Gothel
Bug 1501: Graph Shape: onInit(ListenerBool) -> onDraw(DrawListener) w/ added capability for code injection to render

Besides the one-shot on-init functionality, this allows us to re-render the shape differently.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/widgets/RangedGroup.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Shape.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/GraphShape.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
Commit 220880f8105a35423a5c3dc3ea06147f9a8fd7e2 by Sven Gothel
VectorUtil: Consolidate names, remove unused float prevision variants (if any)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit 08f0d34424aab6a496a71fa5d83af6c407c7c569 by Sven Gothel
Bug 1501: VectorUtil: Deprecate prev line2line intersection tests, adding new impl; Add isConvex*() to determine whether a polyline is convex

I had problems using the previous line2line intersection methods in my (and my son's) C++ gfxbox2 project, e.g. freefall01.
Hence I found a different solution, also using less operations:
<https://jausoft.com/cgit/cs_class/gfxbox2.git/tree/include/pixel/pixel2f.hpp#n660>

While adding intersection tests for our Delaunay (Bug 1501) .. I came across this issue again
and hence swapped the implementation.
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit 949676fb8cac4d6aa626a375501e41a65a1a11fa by Sven Gothel
Bug 1501: Apply intersection tests for non-convex shapes to reject new CCW  and non-circulcircle triangulation candidates in our Delaunay tessellator

<https://jogamp.org/bugzilla//show_bug.cgi?id=1501#c6>

The used Delaunay tessellation works well with (almost) convex shapes.
In case e.g. a glyph gets to the extremes like 'M' in FreeMono
or any other complex Chinese symbol - it may just simply happen
that the new non-circumcircle triangle point crosses the inner (hope)
or outer boundaries of the given polygon.

Applying further constraint at Loop.cut() resolves most cases
by rejecting the proposed CCW and non-circumcircle triangle candidate
if its new two line-segments intersects with the original polygon.

This results in mostly proper rendered Chinese fonts and also
FreeMono is now readable - overal remaining bugs in Glyphs is low.

+++

Of course, this intersection test is costly around >= O(log(n)*n) costs,
practically adding a measured ~65% processing time.
E.g. for FontView01 using FreeSerif.ttf
- orig total took 1430.817638ms, per-glyph 0.2236ms, glyphs 6399
- fix  total took 2377.337359ms, per-glyph 0.371517ms, glyphs 6399

Pure Glyph/Shape instantiation shows > 2x costs:
750 ms 100% convex (fake)
1875 ms   0% convex (fake)
1870 ms  13% convex 824/6399

+++

Hence it is desired to either
(1) Manually mark a polygon non-convex to add described intersection test for accuracy.
    Also may be used to just drop the additional costs despite the lack of correctness.

PROVIDED

(2) Determine non-convex nature of a polygon with a and overall less expensive algorithm.
    If considerably cheaper, this could reduce O(log(n) * n) -> O(n) or even O(log n).

Added convex/non-convex classification while ignoring off-curve points,
but only ~13% of FreeSerif is pure convex,
hence there is no benefit with this classification type.

It might be desired to attempt other classes, i.e.
being rendered in non-convex mode w/o intersection tests.
See
- GENERALIZED DELAUNAY TRIANGULATIONS OF NON-CONVEX DOMAINS
  https://deepblue.lib.umich.edu/bitstream/handle/2027.42/28782/0000614.pdf;sequence=1

- https://en.wikipedia.org/wiki/List_of_self-intersecting_polygons
- https://en.wikipedia.org/wiki/Complex_polygon
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/tess/Triangulator.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
Commit 00b140e39d0181bc2f41500c1797108157e30164 by Sven Gothel
GraphUI Demo FontView01: Re-Enable snapshot via 's'
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit d4d4a797ab0e53db59dac1ea915825845861667e by Sven Gothel
Bug 1501: Graph CDTriangulator2D: Add properties to enforce convex and non-convex treatment to simplify debugging etc
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 716e59a9286ebf6c8a215957ab4a74a2a81315e4 by Sven Gothel
Use FloatUtil.isZero(a) w/ build-in FloatUtil.EPSILON directly instead of passing FloatUtil.EPSILON to explicit isZero(a, epsilon)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Quaternion.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/ios/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/MonitorModeProps.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/ios/ScreenDriver.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
Commit 572688e736f22e5b23e2b3b19ba9d37770e8508c by Sven Gothel
FloatUtil Epsilon ops: Generalize all epsilon operations by allowing passing a zero epsilon value to reduce complexity in upper math layers
The file was modifiedsrc/jogl/classes/com/jogamp/math/FloatUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/TestFloatUtil01NOUI.java (diff)
Commit b5a3a3d53dfbf1d9681ec288eaf788f9f058ba98 by Sven Gothel
DoubleUtil: Align Epsilon ops w/ FloatUtil
The file was modifiedsrc/jogl/classes/com/jogamp/math/DoubleUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/FloatUtil.java (diff)
Commit 122297fb52849db477f4b85d83fb53c0af633903 by Sven Gothel
VectorUtil: Remove double InCircleDThreshold = DoubleUtil.EPSILON
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
Commit 5488665474cc7b88577cedfca6416784f0fda3ba by Sven Gothel
VectorUtil: Generalize *seg2segIntersection* w/ epsilon and doCollinear
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
Commit 52277dc625b515ecc3ff0d26ca05428f3d973427 by Sven Gothel
VectorUtil.isConvex1(): Fix zero test and handle out-of-bounds
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit e4b49663f6c6f138a8718847b68d1d78fba8fe73 by Sven Gothel
Bug 1501: Refine convex == !complex: Use 'complex' term, have env-property toggle OutlineShape's isComplex() for visibility

We may use complex for other criteria than !convex, i.e. self-intersecting etc.
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/tess/Triangulator.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit b4d91c9df427122759df6b76ee06f535406f7074 by Sven Gothel
VectorUtil: Bring back specialized testSeg2segIntersection() w/ build-in FloatUtil.EPSILON epsilon and no collinear test

commit 5488665474cc7b88577cedfca6416784f0fda3ba Generalize *seg2segIntersection* w/ epsilon and doCollinear
caused a big performance hit about 1/3 due to added doCollinear case and manual epsilon adding branches
and having the method being longer - probably not 'hotspot'ed.
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit 840ffdf17f7c985f271f080b602bc2426223dcb8 by Sven Gothel
VectorUtil: Add experimental isSelfIntersecting1() with O(n*n) complexity

This doesn't bring reliable results for Graph and also is pretty expensive.
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit 57732e298fa7249e4b772108543f9aebbc6000ac by Sven Gothel
Graph: Cleanup Loop & OutlineShape, more compact methods
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
Commit 6b548c2408b08128a686eef49118d35543a3667d by Sven Gothel
TestTextRendererNEWT20: Fix fontSet override at main + add some glyph info in demo text
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java (diff)
Commit e6b2367f47a0cf976d7eaa173de53474be61f4d5 by Sven Gothel
TypecastGlyph: Add complex/simple info in toString()
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java (diff)
Commit 82288c112e910feae10ef3cfcded50e35395ed2b by Sven Gothel
VectorUtil.isSelfIntersecting1(): Always use off-curve points
The file was modifiedsrc/jogl/classes/com/jogamp/math/VectorUtil.java (diff)
Commit 8bb2f6dec8ab731b07387b947715fa1959c680e4 by Sven Gothel
Bug 1489: Lock-Free Double-Buffered 'renderedShapes' causes data-race between rendering & input-edt, use synchronized tripple-buffering

Tripple-buffering _almost_ produces zero data-race collisions,
however .. it still does rarely -> hence synchronize on the used ArrayList<>.
This adds a minimal chance for blocking the input-EDT,
but gives correct code & results.

Double-buffered 'renderedShapes' was introduced to resolve Bug 1489
in commit 5f9fb7159fa33bc979e5050d384b6939658049bd

This solution is tested by passing '-swapInterval 0' via CommandlineOptions for FontView01, UIMediaGrid01 ..,
i.e. rendering faster than picking and hence provoking the data-race condition.
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Group.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/util/CommandlineOptions.java (diff)
The file was modifiedsrc/graphui/classes/com/jogamp/graph/ui/Scene.java (diff)
The file was modifiedsrc/graphui/classes/jogamp/graph/ui/TreeTool.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java (diff)
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java (diff)
Commit 78f6de75d2645a8cc0c6df0f1f2d01d81645f3de by Sven Gothel
FloatUtil: Add IEC559_SIGN_BIT; Align API doc and implementation w/ native jaulib, i.e. drop 0==epsilon case for performance
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/TestFloatUtil01NOUI.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/FloatUtil.java (diff)
Commit dd67c91abd2e5f549fe35f590f37c5d6c732a100 by Sven Gothel
Math: Align Frustum/Matrix dependency w/ native jaulib
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/TestQuaternion01NOUI.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/Matrix4fb.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Matrix4f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/util/PMVMatrix4f.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/Frustum.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/Quaternion.java (diff)
Commit 33b1da5886a58feb9ee770f640f7bd07553c1bca by Sven Gothel
Math: AABBox: Fix getRayIntersection(), i.e. setting the correct resulting component.
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
Commit 74401be43ac786c395cd142967448637194c5394 by Sven Gothel
Math: Recti::size(): Change semantics: Return true if area is zero, not if x and y is zero
The file was modifiedsrc/jogl/classes/com/jogamp/math/Recti.java (diff)
Commit 3541b44659df4b021131270752fdf582d7f04f56 by Sven Gothel
Math: AABBox + AffineTransform: Make class final
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/plane/AffineTransform.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
Commit 59420652c96956c7d9d4e501200ddbe91edc1c34 by Sven Gothel
TestMatrix4f02MulNOUI: Align w/ native jaulib
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4f02MulNOUI.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 48717894eddfe6111364416aa7755f7369f09ed6 by Sven Gothel
Math: Align mul + inv perf tests with native jaulib
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4f03InversionNOUI.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/math/TestMatrix4f02MulNOUI.java (diff)
Commit 95506f9e89377ab03d477a711aab2a12cdc1b1d8 by Sven Gothel
Graph: Fix Outline::setWinding: Clear DIRTY_WINDING bit
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
Commit 8362c7ba0bbd884e0b60358d4615e19d7ca7ff7f by Sven Gothel
Graph: Fix OutlineShape::getBounds: validateBoundingBox() if DIRTY_BOUNDS
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
Commit 40c6e4a5b29e3d3476d3df05e81c38ac0c92a6b1 by Sven Gothel
Graph OutlineShape/Region: Enhance debug output
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
Commit aa1f82d1ff8b463d3d4a6b02fb244dcd666e952f by Sven Gothel
AABBox: Optimize contains and intersect
The file was modifiedsrc/jogl/classes/com/jogamp/math/geom/AABBox.java (diff)
Commit 8b4afceed33ca9542eda3061b9f3613f3337ece8 by Sven Gothel
Matrix4f::mapWinToRay: Drop unused 2nd temp matrix
The file was modifiedsrc/jogl/classes/com/jogamp/math/Matrix4f.java (diff)
Commit 1935dc12d313e7ce931a93a875d15a474b9283a3 by Sven Gothel
ShaderState::bindAttribLocation: Add missing glBindAttribLocation
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java (diff)
Commit 2b38ed2745f3cb2ec8e75b5ad7046fe6d1d0c370 by Sven Gothel
Graph Hedge: Cleanup initialization
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/HEdge.java (diff)
Commit c14664d9416f5c38271a12d4cd6dcea5dafee3d3 by Sven Gothel
Graph Hedge/Loop: Debug output
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/HEdge.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
Commit 54a45272ec32045a0ae5715e67980b52881ce2b0 by Sven Gothel
HowToBuild: Adjust Debian 12
The file was modifieddoc/HowToBuild.html (diff)
Commit 7b81c1d0fb274311da578b9af1328a70143bdaef by Sven Gothel
GPURegionGLListener01: Add debug output and createTestOutline01a
The file was modifiedsrc/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java (diff)
The file was modified.project (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 9235306911855d641310b8936ec2e0bff21b8d69 by Sven Gothel
ffmpeg: Use manually looked-up symbol for sws_freeContext
The file was modifiedsrc/jogl/native/libav/ffmpeg_impl_template.c (diff)
Commit bd8eae033b3f609bf57162109d6cdc11ec5921c9 by Sven Gothel
test script: align unix/win for testing NativeLibrary (Bug 1510)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 6ad423fe31847b86d2d2dfa73ea1cf8a5d5056da by Sven Gothel
Build/test: Use OpenJDK-21 per default
The file was modifiedmake/scripts/make.jogl.all.ios.amd64.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.macosx.sh (diff)
The file was modifiedmake/scripts/tests-osx-x64.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.win64.bat (diff)
The file was modifiedmake/scripts/tests-osx-aarch64.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.ios.arm64.sh (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests-javaws-x64.bat (diff)
The file was modifiedmake/scripts/test-fat-jars.sh (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
Commit ba91fa6450fa410fae79d7a8d4ab34bc0a127a4b by Sven Gothel
doc: Using a custom OpenGL Library under Windows
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was addeddoc/Windows_Custom_OpenGL.md (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
Commit c10d5e47bdf5986d1f8f497fdaff7c61525aa5aa by Sven Gothel
WindowsAWTWGLGraphicsConfigurationFactory::chooseGraphicsConfigurationImpl: Skip invalid PixelFormatID

Change: `2nd Choice: Choose and match the GL Visual with AWT`
- skip invalid PFD-ID, i.e. zero
- add more verbose DEBUG output
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java (diff)
Commit 5c344e99f262af0430ea4d286ab6219095ad249e by Sven Gothel
Use OpenJDK-21 and Java-11 source/target
The file was modifiedmake/scripts/make.jogl.all.linux-x86_64-clang.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.macosx.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-x86-clang.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.android-x86-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.solaris-x86.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.solaris-x86_64.sh (diff)
The file was modifiedmake/scripts/junit-linux-x86_64-console.sh (diff)
The file was modifiedmake/scripts/junit-linux-armv6hf-console.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.win64.bat (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-x86_64.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.android-aarch64-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.ios.amd64.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.android-armv6-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.generic.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-aarch64-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.ios.arm64.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-armv6hf-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-x86.sh (diff)
Commit 8ff64a9e2e306c8618033c7c96515c6043f2b63d by Sven Gothel
Adopt to GlueGen's VersionSemanticsUtil changes
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestVersionSemanticsNOUI.java (diff)
Commit 3044cfc2eb4ddf909add4a0d915e1a0429772702 by Sven Gothel
Fix Android NEWT build: ANDROID_TOOLCHAIN_SYSROOT0 -> ANDROID_TOOLCHAIN_SYSROOT1
The file was modifiedmake/build-newt.xml (diff)
Commit 0a307e574c422ccfa60b3abd93e69fcb79d01787 by Sven Gothel
GlueGen's uses japicmp.jar instead of semver.jar
The file was modifiedmake/build-common.xml (diff)
The file was modifiedmake/build-test.xml (diff)