Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Graph: Make RenderState a composition of RegionRenderer, which also creates ↵ | Sven Gothel | 2023-03-15 | 24 | -180/+205 |
| | | | | and destroys it. Dropping this also from user (complexity). | ||||
* | ShaderProgram field programLinked: Set to false @ release()/destroy(), On ↵ | Sven Gothel | 2023-03-15 | 1 | -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 Gothel | 2023-03-15 | 4 | -22/+41 |
| | | | | dump{Shader->}Source(), refine string output. | ||||
* | Fix ShaderProgram ownership bug, introduced in commit ↵ | Sven Gothel | 2023-03-15 | 6 | -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 Gothel | 2023-03-15 | 4 | -23/+2 |
| | | | | from transition to use TextureSequenceES2 | ||||
* | GraphUI: Scene/Shape: Decouple PMVMatrix operations (picking, obj<->win) by ↵ | Sven Gothel | 2023-03-15 | 7 | -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 UISceneDemo01 | Sven Gothel | 2023-03-15 | 1 | -14/+6 |
| | |||||
* | GLMediaPlayer usage: Fix verbose strings, disable verbose in GraphUI demos | Sven Gothel | 2023-03-15 | 4 | -6/+6 |
| | |||||
* | GraphUI: Rename UISceneDemo00 -> UISceneDemo01 | Sven Gothel | 2023-03-15 | 1 | -0/+0 |
| | |||||
* | Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); ↵ | Sven Gothel | 2023-03-14 | 8 | -83/+153 |
| | | | | GraphUI.Scene using RegionRenderer's viewport (no duplicate) | ||||
* | GraphUI: Add a most simple Scene demo with one Shape. | Sven Gothel | 2023-03-14 | 1 | -0/+358 |
| | |||||
* | GPUUISceneGLListener0A: Simplify according to Scene class changes ↵ | Sven Gothel | 2023-03-14 | 2 | -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 Gothel | 2023-03-14 | 1 | -9/+10 |
| | | | | in model-space. | ||||
* | GraphUI: MediaButton: No need to re-create GLRegion (anymore), just ↵ | Sven Gothel | 2023-03-14 | 1 | -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(..) call | Sven Gothel | 2023-03-14 | 1 | -1/+0 |
| | |||||
* | GraphUI: Button: Allow user to configure 2-pass label z-offset | Sven Gothel | 2023-03-14 | 1 | -2/+10 |
| | |||||
* | GraphUI: GLButton: Don't pass FBO size @ ctor, calculate true view-size @ ↵ | Sven Gothel | 2023-03-14 | 2 | -6/+12 |
| | | | | 1st draw | ||||
* | GraphUI: Scene: Add simplified ctor w/ user defined zNear, zFar and ↵ | Sven Gothel | 2023-03-14 | 2 | -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 Gothel | 2023-03-14 | 1 | -9/+8 |
| | | | | setTextureLookupFunctionName(..) before using hash and/or code. | ||||
* | Graph: Region: Add API doc on markStateDirty() and markShapeDirty() | Sven Gothel | 2023-03-14 | 1 | -5/+13 |
| | |||||
* | AABBox: Add API doc comment on reset() and hence default ctor regarding ↵ | Sven Gothel | 2023-03-14 | 1 | -3/+10 |
| | | | | infinite dimension | ||||
* | GLMediaPlayerImpl: Only kick-off StreamWorker at initGL(..) | Sven Gothel | 2023-03-14 | 1 | -5/+0 |
| | |||||
* | GLMediaPlayerImpl: Zero textureFragmentShaderHashCode and default ↵ | Sven Gothel | 2023-03-14 | 1 | -6/+3 |
| | | | | lookupFunction on Uninitialized state | ||||
* | FFMPEGMediaPlayer: More detailed DEBUG messages on audioSink | Sven Gothel | 2023-03-14 | 1 | -3/+3 |
| | |||||
* | TextureSequence (API Change): Use setTextureLookupFunctionName(..) ↵ | Sven Gothel | 2023-03-14 | 8 | -35/+87 |
| | | | | explicitly to set the name upfront, clarifying workflow. Impl: ImageSequence + GLMediaPlayerImpl | ||||
* | GLRegion + RegionRenderer: Add clearShader(..) to delete all ShaderPrograms ↵ | Sven Gothel | 2023-03-13 | 6 | -12/+59 |
| | | | | and is references. | ||||
* | GraphUI: MediaButton: Adapt GLMediaPlayer changes: Ready right away and ↵ | Sven Gothel | 2023-03-13 | 1 | -9/+12 |
| | | | | reset on Init: GLMediaPlayer.initGL() + recreate GLRegion | ||||
* | GLMediaPlayerImpl: isTextureAvailable() is always true after lastFrame init; ↵ | Sven Gothel | 2023-03-13 | 1 | -2/+6 |
| | | | | Use private isPausedOrPlaying() to determine shaderCodeHash | ||||
* | GraphUI: Cleanup 1-pointer zoom, add generic PinchToZoom-Gesture for ↵ | Sven Gothel | 2023-03-13 | 2 | -48/+88 |
| | | | | 2-pointer zoom; Scene: Align method names.. | ||||
* | GraphUI: Use pre-calc'ing buffer sizes for Label shape | Sven Gothel | 2023-03-13 | 1 | -0/+7 |
| | |||||
* | Graph: Add GLRegion creation w/ pre-calculating its buffer sizes; ↵ | Sven Gothel | 2023-03-13 | 4 | -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 Gothel | 2023-03-13 | 23 | -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 Gothel | 2023-03-13 | 13 | -11/+16 |
| | | | | allowing access w/o jars. TODO: Test Android. | ||||
* | Demos: FontSetDemos: Remove remove fonts | Sven Gothel | 2023-03-11 | 1 | -10/+0 |
| | |||||
* | Demos: Remove unused fonts | Sven Gothel | 2023-03-11 | 9 | -0/+0 |
| | |||||
* | GraphUI: Shape: Add build-in resize w/ 1-pointer-click and drag in 1/4th ↵ | Sven Gothel | 2023-03-11 | 2 | -45/+121 |
| | | | | bottom-left or bottom-right corner. Rename translate -> position. | ||||
* | Cleanup Demos: Move demos to jogl-demos.jar (here Graph + AudioVideo), ready ↵ | Sven Gothel | 2023-03-11 | 86 | -819/+2582 |
| | | | | for easy deployment and test w/ junit/ant | ||||
* | GraphUI: Add package.html (dummy) | Sven Gothel | 2023-03-10 | 1 | -0/+33 |
| | |||||
* | GraphUI: Promote API to JOGL via graphui.jar or within any jogl-all*.jar (WIP) | Sven Gothel | 2023-03-10 | 27 | -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 Gothel | 2023-03-09 | 7 | -297/+818 |
| | | | | general functionality in UIShape (drag, ..) | ||||
* | Adopt to RegionRenderer.init(..) dropped unused renderModes argument | Sven Gothel | 2023-03-09 | 6 | -6/+6 |
| | |||||
* | Misc: Add MonitorDevice.perMMToPerInch(..); Drop unused ↵ | Sven Gothel | 2023-03-09 | 3 | -5/+16 |
| | | | | RegionRenderer.init(..) renderModes argument | ||||
* | Merge pull request #110 from gbburkhardt/master | Göthel Software | 2023-03-08 | 2 | -1/+8 |
|\ | | | | | Fix for AWT GLCcanvas DPI scaling. Forum thread https://forum.jogamp… | ||||
| * | Fix for AWT GLCcanvas DPI scaling. Forum thread ↵ | Glenn Burkhardt | 2023-03-06 | 2 | -1/+8 |
| | | | | | | | | https://forum.jogamp.org/DPI-scaling-not-working-td4042206.html | ||||
* | | Rename NonFSAAGLCapabilitiesChooser -> NonFSAAGLCapsChooser (too long) | Sven Gothel | 2023-03-08 | 4 | -9/+9 |
| | | |||||
* | | TestTextRendererNEWT20: Cover Graph-VBAA, Graph-MSAA, FSAA, NONE .. (have ↵ | Sven Gothel | 2023-03-08 | 3 | -21/+76 |
| | | | | | | | | proper filenames for screenshots) | ||||
* | | Apply NonFSAAGLCapabilitiesChooser in NEWTGLContext (tests only). TODO: ↵ | Sven Gothel | 2023-03-08 | 4 | -5/+24 |
| | | | | | | | | Consider applying it in default chooser? | ||||
* | | Graph: Font: Add equals() + hash() API doc; GraphUI's Label*.setText(): Only ↵ | Sven Gothel | 2023-03-08 | 5 | -17/+57 |
| | | | | | | | | modify values if text and/or font differs, skipping markShapeDirty() saves performance. | ||||
* | | Graph GPUUISceneNewtDemo: Filter out all FSAA (multisample) caps if ↵ | Sven Gothel | 2023-03-08 | 3 | -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 Gothel | 2023-03-08 | 7 | -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. |