aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-191-6/+23
|
* 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-181-2/+24
| | | | | | | | | | | | | | | | | 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 ...
* Demos: ..demos.graph.ui.util.GraphUIDemoArgs -> ..demos.util.CommandlineOptionsSven Gothel2023-08-1316-34/+33
|
* 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
* 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
* 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-112-6/+26
| | | | shall handle null streamWorker, i.e. when using NullGLMediaPlayer
* Untangle joal from build requirements as introduced via new jogl-demosSven Gothel2023-08-073-6/+4
| | | | | | | | | | | | | | | | | | 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
* Test Bug1310: Remove and re-add a GLJPanel from its Swing parent (working)Sven Gothel2023-08-071-0/+246
| | | | Also tested with Sofr-HiDPI on Linux using GDK_SCALE=2
* Graph / GraphUI Demos: Don't use the color-channel if not required (mixing ↵Sven Gothel2023-08-026-14/+17
| | | | | | | colors within one region) Note, commit bb6ee81bc5514663bb7b22224fcdd5ba34a51ac6 relaxes the requirement for using a color-channel.
* Graph TextRegionUtil.drawString3D(..): Redefine 'rgbaColor' semantics: ↵Sven Gothel2023-08-021-3/+24
| | | | | | | | | | Either fill color-channel with value if used and set static-color to white - or just set static color channel with value. Have the given rgbaColor to definitely setting the text color regardless whether a color channel is used or not. Note: Using a color-channel is more expensive (color value per vertex) and should only be required if mixing colors within one region! Also removes potential side-effects if color-channel is used but user forgets to set the static value properly.
* Graph RenderState: Initialize colorStatic w/ all white (1,1,1,1) if ↵Sven Gothel2023-08-021-1/+1
| | | | | | | | | | | | color-channel is used and no static-color set Commit a973324a75b55b722caa755a7a573be849d997e4 was setting the alpha to 1, which avoids the 'discard' in the shader. This at least gave us a black color ;-) However, the shader modulates the color, i.e. color-channel * color-static, therefor we need an all-white color-static as default if user only sets the color-channel.
* Graph RegionRenderer.destroy(): Detach RenderState from GL instanceSven Gothel2023-08-021-0/+1
| | | | Remove potential leak
* Graph: Simplify RegionRenderer API by exposing common RenderState methods ↵Sven Gothel2023-08-0219-91/+98
| | | | (and fwd 'em to RenderState aggregate)
* UISceneDemoU01a: Destory textRegion @ disposeSven Gothel2023-08-011-0/+1
|
* Graph Add {GLRegion, GraphShape}.setTextureUnit(int): Allowing to set ↵Sven Gothel2023-08-016-10/+48
| | | | texture unit after ctor
* Graph RegionRendered.init(..): Disable renderer (and shader programs etc) to ↵Sven Gothel2023-08-013-11/+7
| | | | avoid side-effects. Usually called @ GLEventListener.init(..)
* Graph RenderState: Initialize colorStatic w/ alpha=1 to avoid invisible ↵Sven Gothel2023-08-011-1/+1
| | | | | | rendering if no static color has been set Shader either uses just colorStatic or multiplies it w/ the color-stream value
* Graph GLRegion.create(..): Expose variant with custom pass2TexUnit for VBAA ↵Sven Gothel2023-08-011-5/+23
| | | | (default texture unit is 0)
* Add Graph/GraphUI UISceneDemoU01a, showcase integration and multiple ↵Sven Gothel2023-08-011-0/+351
| | | | projection settings
* GLStateTracker: Add tracking of blending states (part-1)Sven Gothel2023-08-011-2/+129
|
* GLStateTracker: Encapsulate PixelStateMap for PixelStorei states (prepare ↵Sven Gothel2023-08-011-44/+69
| | | | for tracking of blending states)
* GraphUI: Add Shape.getSurfacePort(..): Similar to getSurfaceSize(..) but ↵Sven Gothel2023-08-011-0/+31
| | | | returns the whole Recti viewport of the shape
* Graph: Minor cleanup: TextRegionUtil: Fix API doc references; ↵Sven Gothel2023-08-013-8/+6
| | | | RegionRenderer.enable(..) merge '!enable' branch, fix API doc
* Add {GL, GLContext}.getDefaultDrawBuffer() to complement getDefaultReadBuffer()Sven Gothel2023-07-156-28/+98
|
* NativeSignatureJavaMethodBindingEmitter: Adopt to GlueGen changesSven Gothel2023-07-101-41/+40
|
* Adopt to GlueGen Struct API Change get/set array argumentsSven Gothel2023-06-161-2/+3
|
* Adopt to GlueGen commit 952e0c1f83c9e0583a97d39988a6ba1428911c8cSven Gothel2023-06-163-207/+205
| | | | | | | | | To limit growing code due to GlueGen's more capable new `Struct` emitter (more supported setter), `Struct` with intended read-only access have been marked `ImmutableAccess` in their GlueGen config file. Produced code with above setting compared with pre-GlueGen change is reduced while also having dropped all of the JNI calls retrieving `Struct` values. Only calls to function-pointer produced JNI methods, of course.
* Use DPI scaling to scale drawn fonts.Glenn Burkhardt2023-06-041-1/+14
|
* GraphUI UISceneDemo20: Add OpenAL spatial 3D sound features: Add ↵Sven Gothel2023-05-231-5/+219
| | | | | | | | | | | SimpleSineSynth Button and have MediaButton to produce mono-only for 3D sound - Move SimpleSineSynth and MediaPlayer around for spatial 3D sound - Shape's center is the Source position - SimpleSineSynth controlls: - click to enable - scroll vertical -> frequency change - scroll vertical + ctrl-key -> volume/amplitude change
* GraphUI Shape: Add one-shot init callback, will be called after each ↵Sven Gothel2023-05-231-0/+22
| | | | draw(..) until it returns true.
* GraphUI Scene: Drop redundant and wrong setupMatrix(pmv) for forOne(..) and ↵Sven Gothel2023-05-231-4/+2
| | | | forAll(..), should be setup before call by user
* GraphUI MediaButton: Expose AudioSinkSven Gothel2023-05-231-0/+3
|
* GLMediaPlayer: Add setAudioChannelLimit(..), correlating with ↵Sven Gothel2023-05-233-1/+29
| | | | | | | AudioSink.setChannelLimit() .. May be utilized to enforce 1 channel (mono) downsampling in combination with JOAL/OpenAL to experience spatial 3D position effects.
* *MediaPlayer: Adop to JOAL 39a32fd56de313c31bd197ee6022288e97f9729aSven Gothel2023-05-212-2/+6
|
* Relocate 'jar/atomic/jogl-fonts-p0.jar' -> 'jar/jogl-fonts-p0.jar' to ↵Sven Gothel2023-05-201-2/+1
| | | | | | | simplify inclusion in distribution; UbuntuFontLoader's Uri is patched accordingly. This font jar file is actually not an atomic in the sense it being aggregated to e.g. jogl-all.jar or even a fat jar. Hence it is more suitable to have it all visible in the top-dir next to the main jars.