Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Graph: Remove OutlineShape.Visitor* as being replaced by Font.GlyphVisitor | Sven Gothel | 2023-03-22 | 2 | -24/+1 |
| | | | | (We may ressurect them if needed for a future use case) | ||||
* | Graph Font Processing: Use Font.GlyphVisitor instead of ↵ | Sven Gothel | 2023-03-22 | 5 | -28/+78 |
| | | | | OutlineShape.Visitor, allowing to use the Glyph (information). | ||||
* | Graph Font Processing: Produce a 'whitespace' Glyph w/ an OutlineShape (box) ↵ | Sven Gothel | 2023-03-22 | 3 | -5/+76 |
| | | | | to allow better handling of such non-contour symbols. | ||||
* | GraphUI UISceneDemo*: Use lambdas for GLAutoDrawable.invoke(..) to reduce LOC | Sven Gothel | 2023-03-21 | 1 | -0/+7 |
| | | | | GLAutoDrawable.invoke(..) API doc: Add semantics about GLRunnable return value. | ||||
* | Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use ↵ | Sven Gothel | 2023-03-21 | 4 | -54/+29 |
| | | | | | | | its default. GraphUI: Always use default. Graph RegionRenderer, its RenderState as well as GraphUI's Scene don't need to have knowledge of Vertex.Factory, which is only used within OutlineShape and its 'inner geom workings'. | ||||
* | GLArrayDataClient: Allow null buffer @ growIfNeeded(), removed from commit ↵ | Sven Gothel | 2023-03-20 | 1 | -20/+1 |
| | | | | | | 90a95e6f689b479f3c3ae3caf4e30447030c7682 A null buffer is possible in case initialElementCount at ctor is <= 0 | ||||
* | GLOffscreenAutoDrawable: Remove unused import | Sven Gothel | 2023-03-20 | 1 | -2/+0 |
| | |||||
* | Add FloatUtil.isZero(float) using FloatUtil.EPSILON | Sven Gothel | 2023-03-20 | 1 | -0/+8 |
| | |||||
* | Graph: Add RegionRenderer.enable(..) variant w/ passing enable + disable ↵ | Sven Gothel | 2023-03-19 | 1 | -4/+15 |
| | | | | GLCallback | ||||
* | Graph: GLRegion.draw(): Mod curRenderModes by sampleCount { 0 = no-sampling, ↵ | Sven Gothel | 2023-03-19 | 1 | -1/+19 |
| | | | | -1 = glSelect } (Experimental not working fully) | ||||
* | Graph: GLRegion: Pass curRenderModes to updateImpl() + drawImpl(), prepare ↵ | Sven Gothel | 2023-03-19 | 5 | -73/+112 |
| | | | | switch by sampleCount; Don't use any resource not requested by curRenderModes | ||||
* | Graph : Misc API doc | Sven Gothel | 2023-03-19 | 2 | -2/+5 |
| | |||||
* | Graph: Add RenderState API doc; RegionRenderer: Remove unused shell method, ↵ | Sven Gothel | 2023-03-19 | 2 | -6/+8 |
| | | | | left over from f8584748e33aab56780eca5cf7009a5a0d11991d | ||||
* | API doc cleanup, add + refine math tests | Sven Gothel | 2023-03-19 | 8 | -18/+36 |
| | | | | API doc | ||||
* | Graph: Make RenderState a composition of RegionRenderer, which also creates ↵ | Sven Gothel | 2023-03-15 | 3 | -33/+120 |
| | | | | 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. | ||||
* | Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); ↵ | Sven Gothel | 2023-03-14 | 2 | -8/+13 |
| | | | | GraphUI.Scene using RegionRenderer's viewport (no duplicate) | ||||
* | 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 | 4 | -31/+77 |
| | | | | 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. | ||||
* | GLMediaPlayerImpl: isTextureAvailable() is always true after lastFrame init; ↵ | Sven Gothel | 2023-03-13 | 1 | -2/+6 |
| | | | | Use private isPausedOrPlaying() to determine shaderCodeHash | ||||
* | Graph: Add GLRegion creation w/ pre-calculating its buffer sizes; ↵ | Sven Gothel | 2023-03-13 | 2 | -2/+60 |
| | | | | | | 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 | 9 | -96/+242 |
| | | | | | | | | | | | | | | | 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 | 2 | -1/+1 |
| | | | | allowing access w/o jars. TODO: Test Android. | ||||
* | Misc: Add MonitorDevice.perMMToPerInch(..); Drop unused ↵ | Sven Gothel | 2023-03-09 | 1 | -3/+2 |
| | | | | RegionRenderer.init(..) renderModes argument | ||||
* | Merge pull request #110 from gbburkhardt/master | Göthel Software | 2023-03-08 | 1 | -1/+7 |
|\ | | | | | Fix for AWT GLCcanvas DPI scaling. Forum thread https://forum.jogamp… | ||||
| * | Fix for AWT GLCcanvas DPI scaling. Forum thread ↵ | Glenn Burkhardt | 2023-03-06 | 1 | -1/+7 |
| | | | | | | | | https://forum.jogamp.org/DPI-scaling-not-working-td4042206.html | ||||
* | | Rename NonFSAAGLCapabilitiesChooser -> NonFSAAGLCapsChooser (too long) | Sven Gothel | 2023-03-08 | 1 | -3/+3 |
| | | |||||
* | | Apply NonFSAAGLCapabilitiesChooser in NEWTGLContext (tests only). TODO: ↵ | Sven Gothel | 2023-03-08 | 1 | -3/+14 |
| | | | | | | | | Consider applying it in default chooser? | ||||
* | | Graph: Font: Add equals() + hash() API doc; GraphUI's Label*.setText(): Only ↵ | Sven Gothel | 2023-03-08 | 2 | -2/+19 |
| | | | | | | | | 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 | 1 | -0/+73 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 1 | -0/+14 |
| | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | | GLArrayData: Fix API doc typo in sealed() | Sven Gothel | 2023-03-07 | 1 | -1/+1 |
| | | |||||
* | | Graph: Region: Enhance API doc, fix typo .. (brace close left open during ↵ | Sven Gothel | 2023-03-07 | 1 | -12/+34 |
| | | | | | | | | selected commits) | ||||
* | | Graph Perf: Add Region.countOutlineShape(), Font.processString(Visitor2,..), ↵ | Sven Gothel | 2023-03-07 | 5 | -9/+97 |
| | | | | | | | | TextRegionUtil.countStringRegion() allowing to use Region.setBufferCapacity() | ||||
* | | Graph Perf: Font*: Remove PerfCounterCtrl since the Region counter is more ↵ | Sven Gothel | 2023-03-07 | 2 | -77/+1 |
| | | | | | | | | than enough | ||||
* | | Graph Perf: OutlineShape: Uncomment all debug code to keep it smaller | Sven Gothel | 2023-03-07 | 1 | -7/+7 |
| | | |||||
* | | Graph Perf: Region*: Add setBufferCapacity(..) and cut-off growBuffer() ↵ | Sven Gothel | 2023-03-07 | 5 | -126/+224 |
| | | | | | | | | early if not needed (track capacity); Align all VBORegion* buffer init/set/grow impl. | ||||
* | | Graph Perf: Region: split addOutlineShape() -> addOutlineShape0() (fast) and ↵ | Sven Gothel | 2023-03-07 | 4 | -57/+84 |
| | | | | | | | | addOutlineShape1() (slow perf+debug), rename growBufferSize() -> growBuffer() | ||||
* | | Graph Perf: Region*: Rely on growBuffer(..) per addOutlineShape() and known ↵ | Sven Gothel | 2023-03-07 | 4 | -50/+75 |
| | | | | | | | | buffer data-type to directly put[34][sif](..) skipping GLArrayDataClient/Buffers buffer-growth and validations | ||||
* | | GLArrayData: Promote sealed() from GLArrayDataEditable, to correctly being ↵ | Sven Gothel | 2023-03-07 | 6 | -121/+288 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | used for getElemCount() instead of 0==position, ... (API change) API Change - sealed() moved up from GLArrayDataEditable -> GLArrayData - GLArrayDataWrapper is sealed by default - getSizeInBytes() -> getByteCount() - Semantics of getElemCount() and getByteCount() - Correctly use sealed() to switch from position to limit - instead of 0==position Aligned method names: - getElemCount() - elemPosition() - remainingElems() - getElemCapacity() to corresponding byte counts: - getByteCount() - bytePosition() - remainingBytes() - getByteCapacity() | ||||
* | | Graph: Bring back passing through temp AffineTransform instances (optional, ↵ | Sven Gothel | 2023-03-07 | 3 | -21/+53 |
| | | | | | | | | but recommended) | ||||
* | | Clock: Use Clock.currentNanos() instead of System.nanoTime(); Enhancing ↵ | Sven Gothel | 2023-03-07 | 2 | -23/+33 |
| | | | | | | | | | | | | FPSCounterImpl accuracy by maintaining timestamps in [ns] Idea: Perhaps we want to use [ns] for FPSCounter's method types by now? |