summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Graph: Make RenderState a composition of RegionRenderer, which also creates ↵Sven Gothel2023-03-1524-180/+205
| | | | and destroys it. Dropping this also from user (complexity).
* ShaderProgram field programLinked: Set to false @ release()/destroy(), On ↵Sven Gothel2023-03-151-1/+5
| | | | useProgram() only throw exception if 'on==true' is requested (disabling after delettion is OK)
* opengl/util/glsl/Shader*: Mark classes and fields final, rename ↵Sven Gothel2023-03-154-22/+41
| | | | dump{Shader->}Source(), refine string output.
* Fix ShaderProgram ownership bug, introduced in commit ↵Sven Gothel2023-03-156-70/+45
| | | | | | | | | 67a723477ecd818fbc5859fe20ee536a3b4efae5 (reverting and clarifying) All Graph ShaderPrograms used are owned by RegionRenderer, not RenderState nor [GL]Region*, hence [GL]Region* shall only nullify the resources but not destroy the shader currently in use. One RegionRenderer maybe used for multuple Regions.
* Demos: Minor cleanups; MovieSimple: Remove unused variables etc .. left over ↵Sven Gothel2023-03-154-23/+2
| | | | from transition to use TextureSequenceES2
* GraphUI: Scene/Shape: Decouple PMVMatrix operations (picking, obj<->win) by ↵Sven Gothel2023-03-157-184/+220
| | | | | | | | using a local instance, enable performing on any thread (not using a blocking GL renderer thread) Shape got 2 win<->obj and size-retrieval variants: (a) using given PMVMatrix and viewport (b) using a local PMVMatrix w/ Scene's viewport and using Scene's setupMatrix()
* GraphUI: Complete rename of UISceneDemo01Sven Gothel2023-03-151-14/+6
|
* GLMediaPlayer usage: Fix verbose strings, disable verbose in GraphUI demosSven Gothel2023-03-154-6/+6
|
* GraphUI: Rename UISceneDemo00 -> UISceneDemo01Sven Gothel2023-03-151-0/+0
|
* Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); ↵Sven Gothel2023-03-148-83/+153
| | | | GraphUI.Scene using RegionRenderer's viewport (no duplicate)
* GraphUI: Add a most simple Scene demo with one Shape.Sven Gothel2023-03-141-0/+358
|
* GPUUISceneGLListener0A: Simplify according to Scene class changes ↵Sven Gothel2023-03-142-129/+76
| | | | (view-based in model-space), have Scene manage resources in full.
* GraphUI: Label: Rename pixelSize -> pixelScale, since we are view-based or ↵Sven Gothel2023-03-141-9/+10
| | | | in model-space.
* GraphUI: MediaButton: No need to re-create GLRegion (anymore), just ↵Sven Gothel2023-03-141-5/+1
| | | | markShapeDirty() to force reupload of texture-coordinates; Also don't mute audio, user shall configure the GLMediaPlayer...
* GraphUI: UIShapeDemo01.reshape(): Drop redundant glViewport(..) callSven Gothel2023-03-141-1/+0
|
* GraphUI: Button: Allow user to configure 2-pass label z-offsetSven Gothel2023-03-141-2/+10
|
* GraphUI: GLButton: Don't pass FBO size @ ctor, calculate true view-size @ ↵Sven Gothel2023-03-142-6/+12
| | | | 1st draw
* GraphUI: Scene: Add simplified ctor w/ user defined zNear, zFar and ↵Sven Gothel2023-03-142-54/+191
| | | | sceneDistance; Expose the scene-plane AABBox and add surfaceToObjSize() to compute surface-size in object coords.
* Graph: RegionRenderer: Adopt to TextureSequence API Change: Use ↵Sven Gothel2023-03-141-9/+8
| | | | setTextureLookupFunctionName(..) before using hash and/or code.
* Graph: Region: Add API doc on markStateDirty() and markShapeDirty()Sven Gothel2023-03-141-5/+13
|
* AABBox: Add API doc comment on reset() and hence default ctor regarding ↵Sven Gothel2023-03-141-3/+10
| | | | infinite dimension
* GLMediaPlayerImpl: Only kick-off StreamWorker at initGL(..)Sven Gothel2023-03-141-5/+0
|
* GLMediaPlayerImpl: Zero textureFragmentShaderHashCode and default ↵Sven Gothel2023-03-141-6/+3
| | | | lookupFunction on Uninitialized state
* FFMPEGMediaPlayer: More detailed DEBUG messages on audioSinkSven Gothel2023-03-141-3/+3
|
* TextureSequence (API Change): Use setTextureLookupFunctionName(..) ↵Sven Gothel2023-03-148-35/+87
| | | | explicitly to set the name upfront, clarifying workflow. Impl: ImageSequence + GLMediaPlayerImpl
* GLRegion + RegionRenderer: Add clearShader(..) to delete all ShaderPrograms ↵Sven Gothel2023-03-136-12/+59
| | | | and is references.
* GraphUI: MediaButton: Adapt GLMediaPlayer changes: Ready right away and ↵Sven Gothel2023-03-131-9/+12
| | | | reset on Init: GLMediaPlayer.initGL() + recreate GLRegion
* GLMediaPlayerImpl: isTextureAvailable() is always true after lastFrame init; ↵Sven Gothel2023-03-131-2/+6
| | | | Use private isPausedOrPlaying() to determine shaderCodeHash
* GraphUI: Cleanup 1-pointer zoom, add generic PinchToZoom-Gesture for ↵Sven Gothel2023-03-132-48/+88
| | | | 2-pointer zoom; Scene: Align method names..
* GraphUI: Use pre-calc'ing buffer sizes for Label shapeSven Gothel2023-03-131-0/+7
|
* Graph: Add GLRegion creation w/ pre-calculating its buffer sizes; ↵Sven Gothel2023-03-134-22/+64
| | | | | | TextRegionUtil: Use pre-calc'ing buffer sizes for GLRegion; TextRendererGLELBase: Fix temp AffineTransform usage
* GLMediaPlayer: Overhaul and simplify states, allow usage before stream ready ↵Sven Gothel2023-03-1323-570/+820
| | | | | | | | | | | | | | | showing test-texture. Adding stop(); (API Change) - allow multiple initGL(..) @ uninitialized and initialized - allows usage before stream is ready - using a test-texture @ uninitialized - adding stop() API change - initStream() -> playStream() - play() -> resume() FFMPEG: Added 'ready' check for robustness
* Move png assets (NEWT icons + GLMediaPlayer dummy/test) to simple classpath, ↵Sven Gothel2023-03-1313-11/+16
| | | | allowing access w/o jars. TODO: Test Android.
* Demos: FontSetDemos: Remove remove fontsSven Gothel2023-03-111-10/+0
|
* Demos: Remove unused fontsSven Gothel2023-03-119-0/+0
|
* GraphUI: Shape: Add build-in resize w/ 1-pointer-click and drag in 1/4th ↵Sven Gothel2023-03-112-45/+121
| | | | bottom-left or bottom-right corner. Rename translate -> position.
* Cleanup Demos: Move demos to jogl-demos.jar (here Graph + AudioVideo), ready ↵Sven Gothel2023-03-1186-819/+2582
| | | | for easy deployment and test w/ junit/ant
* GraphUI: Add package.html (dummy)Sven Gothel2023-03-101-0/+33
|
* GraphUI: Promote API to JOGL via graphui.jar or within any jogl-all*.jar (WIP)Sven Gothel2023-03-1027-197/+294
| | | | | | | | | | Root package is 'com.jogamp.graph.ui.gl', i.e. a sub-package of Graph denoting UI and OpenGL usage. Implementation will stay small, hence relative files size costs are minimal. Source and build is in parallel to nativewindow, jogl and newt and has a dependency to all of them. The NEWT dependencies are merely the input listener ..
* GraphUI: Revision: Simplify resource handling via SceneUIController, add ↵Sven Gothel2023-03-097-297/+818
| | | | general functionality in UIShape (drag, ..)
* Adopt to RegionRenderer.init(..) dropped unused renderModes argumentSven Gothel2023-03-096-6/+6
|
* Misc: Add MonitorDevice.perMMToPerInch(..); Drop unused ↵Sven Gothel2023-03-093-5/+16
| | | | RegionRenderer.init(..) renderModes argument
* Merge pull request #110 from gbburkhardt/masterGöthel Software2023-03-082-1/+8
|\ | | | | Fix for AWT GLCcanvas DPI scaling. Forum thread https://forum.jogamp…
| * Fix for AWT GLCcanvas DPI scaling. Forum thread ↵Glenn Burkhardt2023-03-062-1/+8
| | | | | | | | https://forum.jogamp.org/DPI-scaling-not-working-td4042206.html
* | Rename NonFSAAGLCapabilitiesChooser -> NonFSAAGLCapsChooser (too long)Sven Gothel2023-03-084-9/+9
| |
* | TestTextRendererNEWT20: Cover Graph-VBAA, Graph-MSAA, FSAA, NONE .. (have ↵Sven Gothel2023-03-083-21/+76
| | | | | | | | proper filenames for screenshots)
* | Apply NonFSAAGLCapabilitiesChooser in NEWTGLContext (tests only). TODO: ↵Sven Gothel2023-03-084-5/+24
| | | | | | | | Consider applying it in default chooser?
* | Graph: Font: Add equals() + hash() API doc; GraphUI's Label*.setText(): Only ↵Sven Gothel2023-03-085-17/+57
| | | | | | | | modify values if text and/or font differs, skipping markShapeDirty() saves performance.
* | Graph GPUUISceneNewtDemo: Filter out all FSAA (multisample) caps if ↵Sven Gothel2023-03-083-10/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | undesired (Graph VBAA + MSAA); Add NonFSAAGLCapabilitiesChooser Notable: On RaspiPi4b w/ Mesa3D's Broadcom/VC driver, the chosen capabilities is a multisamnple one even though not requested. This causes - extra performance overhead - doubled AA: 1st our VBAA, then the FSAA (multisample) -> loss of sharpness Simply dropping the undersired FSAA helps and ups performance on the Raspi board (22 -> 35 fps).
* | [GL]Capabilities*: Enhance identity-check in root Capabilities.equals(..), ↵Sven Gothel2023-03-087-6/+208
| | | | | | | | | | | | | | | | | | | | comparing the VisualID first; Added VisualIDHolder.isVisualIDSupported(VIDType) We cannot accept 2 capabilities with different VisualID but same attributes otherwise accepted as equal, since the underlying windowing system uniquely identifies them via their VisualID. Such comparison is used in certail GLAutoDrawable implementations like AWT GLCanvas to determine a configuration change etc.