aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Graph Font + Glyph: Fix whitespace definition: Include 'no original ↵Sven Gothel2023-09-012-20/+26
| | | | | | | | | | | | | | 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.
* GraphUI Demo: Rename UISceneDemoU01a -> UIGraphDemoU01a, not using GraphUI's ↵Sven Gothel2023-09-012-5/+25
| | | | Scene but manual GLEventListener etc, add a few Glyph tests
* GraphUI Demo FontView01: Fix '-showUnderline', i.e. glyphListener shall use ↵Sven Gothel2023-08-281-1/+1
| | | | the last element in container, the GlyphShape
* GraphUI Demo FontView01: Enhance usability and refactor: Add left-column ↵Sven Gothel2023-08-282-81/+209
| | | | | | | | | | | | | | | | | | | | 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.
* Graph Font: Make TypecastRenderer.DEBUG package private to be used by ↵Sven Gothel2023-08-281-1/+1
| | | | TypecastFont
* GraphUI Shape: Show dirty-state in getSubString()Sven Gothel2023-08-281-1/+13
|
* Graph Font + Glyph: More robust detetection and API definition of ↵Sven Gothel2023-08-289-71/+178
| | | | | | non-contour/whitespace Glyphs (detect and allow to skip 'em) We also drop shapes for both, but for id 0 (unknown).
* Graph Loop: Make initFromPolyline() and locateClosestVertex() more robust, ↵Sven Gothel2023-08-284-12/+34
| | | | | | report error but do not crash. This behavior has been evaluated with a few fonts and the WIP FontView01 demo application.
* UISceneDemo03: Detail demo description, add blog entrySven Gothel2023-08-271-3/+7
|
* GraphUI Demo: UISceneDemo03: Add optional audio (only) via '-audio <URL or ↵Sven Gothel2023-08-271-4/+108
| | | | file-path>' using our GLMediaPlayer (FFmpeg + JOAL/OpenAL)
* make/scripts/test-fat-jars.sh: Adjust UISceneDemo03b -> UISceneDemo03Sven Gothel2023-08-271-1/+1
|
* GraphUI: Button: Reduce default DEFAULT_LABEL_ZOFFSET from 0.005f -> ↵Sven Gothel2023-08-271-1/+1
| | | | | | | | | 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.
* GraphUI: Extract generalized AnimGroup functionality from UISceneDemo03*, ↵Sven Gothel2023-08-278-784/+1338
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add TestVec3f01NOUI: This test shall be enhanced, only priliminary angle ↵Sven Gothel2023-08-272-0/+138
| | | | tests for now
* AABBox: Fix intersects2DRegion(..), add resize{Height, Width}(..) and AABBox ↵Sven Gothel2023-08-271-4/+57
| | | | | | | | | 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.
* Vec3f: Add UNIX_X and UNIX_X_NEG, enhance API docSven Gothel2023-08-271-2/+4
|
* Quaternion: Add rotateByAngleNormalAxis(..) variant using Vec3f axisSven Gothel2023-08-271-1/+18
|
* GraphUI: Use thread-save and lock-free CopyOnWriteArrayList for List<Shape>, ↵Sven Gothel2023-08-272-4/+4
| | | | allowing off-thread mutation
* AABBox: Add set(AABBox)Sven Gothel2023-08-251-0/+13
|
* GraphUI: Shape: Add runSynced(Runnable); Add setPMVMatrix(..) to setup ↵Sven Gothel2023-08-251-39/+100
| | | | complete PMVMatrix, use it in getSurfaceSize(..), shapeToWinCoord(..) and winToShapeCoord(..)
* GraphUI: Group API doc + remove GlyphShape's redundant many getOrigPos() ↵Sven Gothel2023-08-252-40/+7
| | | | variants
* Vec[234]f: Add scale(Vec[234]f s) variant for convenienceSven Gothel2023-08-233-0/+9
|
* TestSWTAccessor02NewtGLWindow: Use lambda for SWTAccessor.invokeOnOSTKThread(..)Sven Gothel2023-08-231-4/+5
|
* Demos: Use Runnable lambda for window.destroy() off-thread and use ↵Sven Gothel2023-08-2310-57/+37
| | | | key-symbols F4, ESC and Q to trigger off-thread window.destroy()
* UISceneDemo03b: Add a little more customization ..Sven Gothel2023-08-192-8/+25
|
* Bug 1310: Reset GLJPanel states @ dispose(..) and always reshapeImpl(..) @ ↵v2.5.0Sven Gothel2023-08-181-7/+30
| | | | | | | | | addNotify(), leading to proper initialization sequence when re-adding panel. The proper initialization sequence subsequently also leads to proper glViewport initialization, see commit d17d807a76ba9cb940542264fcad9cf71c7ec585 No side-effects expected, just ensuring same code-path compared to initial addNotify().
* Bug 1310: Detect missing glViewport(..) on Windows before ↵Sven Gothel2023-08-184-6/+31
| | | | | | | | | | | | | | | | | GLEventListener.reshape(..) when re-adding GLJPanel When re-adding GLJPanel on Windows glViewport() is not called through - GLJPanel.Updater.display() - GLDrawableHelper.reshape() - GLDrawableHelper.setViewportAndClear() Instead the following sequence is called due to sendReshape == false: - GLJPanel.Updater.display() - GLDrawableHelper.display() ** missing glViewport(..) ** This bug is not visible on X11 or MacOS since the glViewport is only set to a different user value on Windows ...
* README: Fix linksSven Gothel2023-08-151-2/+2
|
* README: Fix JOGL inception, pre Sun launch and later acquired by Sun.Sven Gothel2023-08-151-2/+2
|
* Add make/scripts/test-fat-jars.sh for a quick bringup-testSven Gothel2023-08-141-0/+71
|
* MacOS test scripts: Enable FFmpeg6 from HomebrewSven Gothel2023-08-132-1/+2
| | | | | | | | | | | | | | | Install Homebrew https://brew.sh/ > /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Follow further directions... Install FFmpeg (Currently v6) https://formulae.brew.sh/formula/ffmpeg > brew install ffmpeg or > brew install fmpeg@6 Leaves the ffmpeg libraries in: - x86_64: /usr/local/Cellar/ffmpeg/6.0/lib - aarch64: /opt/homebrew/Cellar/ffmpeg/6.0/lib
* Demos: ..demos.graph.ui.util.GraphUIDemoArgs -> ..demos.util.CommandlineOptionsSven Gothel2023-08-1317-35/+35
|
* GraphUIDemoArgs: Issue GLProfile.initSingleton() once in static init block, ↵Sven Gothel2023-08-132-1/+5
| | | | | | ensuring JOGL is completely initialized Noteable: On MacOS 13.1 (aarch64) UISceneDemo20 won't show the window if NEWT is initialized before JOGL core via GLProfile.initSingleton().
* UISceneDemo20: Fix info/debug text title GPUUISceneGLListener0A -> UISceneDemo20Sven Gothel2023-08-131-7/+8
|
* Minor cleanup of imports, etc: FBObject, GLContext*, Texture, ..Sven Gothel2023-08-137-58/+36
| | | | TODO: Full cleanup perhaps
* make/scripts/tests.sh: Add Basic demos if jogl-demos.jarSven Gothel2023-08-131-2/+16
|
* Texture ctor w/ external textureID: Pass `ownsTextureID` where true hands ↵Sven Gothel2023-08-133-17/+48
| | | | | | | | | over ownership and allows destroy() to delete it, otherwise not. Fixes GraphUI's GLButton. GraphUI's GLButton uses the offscreen's FBO texture and hence can't pass over ownership of the texture. Hence the Texture instance is created w/o handing over ownership! GLMediaPlayerImpl does hand over ownership of the generated and passed texture to the Texture ctor.
* GraphUIDemoArgs: Add GL4 coreSven Gothel2023-08-131-0/+2
|
* Demos: Add main() to GearsES2, .. allowing to be used for simple bringup testsSven Gothel2023-08-133-12/+166
|
* Animator*: Add ctor variants passing modeBits directly, i.e. enable/disable ↵Sven Gothel2023-08-1369-741/+941
| | | | AWT rendering thread support. Adopt it in tests and demos
* WWW: Replace Gephi icon w/ a more friendly JogAmp website matching preview ↵Sven Gothel2023-08-122-1/+1
| | | | one (white background, showing a graph)
* Fix typo of commit d8e086e0321ef1021f4a7810d7bfd2306c4ac725: ↵Sven Gothel2023-08-121-1/+1
| | | | jogl{s->}-demo{->s}-android
* Add GraphUI to javadoc source pathSven Gothel2023-08-121-1/+1
|
* FontViewListener01/TestTextRendererNEWT21: Use 30 pixelPerCell (total w/ ↵Sven Gothel2023-08-121-10/+21
| | | | gap) for test case to compare pixel-by-pixel
* Graph TextRegionUtil.drawString3D(..): Allow null `rgbaColor` w/o ↵Sven Gothel2023-08-121-6/+12
| | | | color-channel again, was enforced to be set in commit bb6ee81bc5514663bb7b22224fcdd5ba34a51ac6
* GLMediaPlayer: Show more reasonable DEBUG output in factory; Impl initGL(GL) ↵Sven Gothel2023-08-113-8/+28
| | | | shall handle null streamWorker, i.e. when using NullGLMediaPlayer
* Bug 1450: Remove nativewindow's drm-gbm GlueGen config's manual constant ↵Sven Gothel2023-08-101-3/+3
| | | | definitions, now properly passed from GlueGen
* README: Add Mathieu Féry, who enhanced GlueGenSven Gothel2023-08-071-0/+1
|
* Untangle joal from build requirements as introduced via new jogl-demosSven Gothel2023-08-075-22/+116
| | | | | | | | | | | | | | | | | | To enjoy the UISceneDemo20 demo, joal shall exist at its usual location. However, pass build if not available. Also drop ant + junit from demos. - Rename jogl-demo-android.{jar,apk} -> jogl-demos-android.{jar,apk} - New demo classpath - Add non-joal demo classpath - Add joal demo classpath. - Drop junit + ant from both - Remove joal from junit compile path. - Build test: demo compilation (Java + Android) - Drop joal dependencies if not available
* scripts/tests.sh: Add TestGLJPanelReadd01Bug1310AWTSven Gothel2023-08-071-1/+2
|