Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Graph GLRegion.growBuffer(..): Disable debug output (static final flag) | Sven Gothel | 2023-05-04 | 1 | -3/+9 |
| | |||||
* | AudioSinkFactory: Add debug output in case of failed initialization | Sven Gothel | 2023-05-04 | 1 | -0/+2 |
| | |||||
* | Graph FontFactor: Adopt to GlueGen commit ↵ | Sven Gothel | 2023-05-04 | 1 | -1/+1 |
| | | | | 69d22df0a6132dbf8b88fd04090c0bc81129237f IOUtil.copyStream2File() changes | ||||
* | GraphUI GridLayout: Handle 'diffBL' in 2nd path, no need to store as we ↵ | Sven Gothel | 2023-04-29 | 1 | -10/+10 |
| | | | | don't use PMVMatrix for computation | ||||
* | GraphUI GridLayout: Remove old unused layout0(..) method | Sven Gothel | 2023-04-29 | 1 | -134/+0 |
| | |||||
* | GraphUI Working GridLayout w/ and w/o cell-size and alignment; Added BoxLayout. | Sven Gothel | 2023-04-29 | 11 | -155/+1070 |
| | |||||
* | GraphUI Shape: Use null rotPivot indicating unset (isZero not sufficient); ↵ | Sven Gothel | 2023-04-28 | 1 | -13/+17 |
| | | | | toString() just drop no-border and no-padding. | ||||
* | GraphUI Shape: Fix hasPadding() and add padding + border details to toString() | Sven Gothel | 2023-04-28 | 1 | -2/+4 |
| | |||||
* | GraphUI Add Alignment and Gap for layout | Sven Gothel | 2023-04-28 | 2 | -0/+199 |
| | |||||
* | GraphUI Shape: [add|remove]MouseListener(): Return shape for chaining | Sven Gothel | 2023-04-28 | 1 | -4/+6 |
| | |||||
* | GraphUI Colors: Use pure white modulation w/ color-channel on no-action for ↵ | Sven Gothel | 2023-04-28 | 5 | -23/+57 |
| | | | | original color, adjust defaults accordingly | ||||
* | GraphUI Revise Padding and Border: Padding + Border belong to Shape's ↵ | Sven Gothel | 2023-04-28 | 7 | -42/+159 |
| | | | | bounds. Account for both (seperately) and add border rendering to Group as well. | ||||
* | GraphUI GraphShape: Apply {update->reset}GLRegion() | Sven Gothel | 2023-04-28 | 9 | -9/+9 |
| | | | | See commit 386f9652e0169b0aa7f6ead1bf230d5d67d00a38 | ||||
* | GraphUI GraphShape: Refine API doc | Sven Gothel | 2023-04-28 | 1 | -1/+23 |
| | |||||
* | GraphUI GraphShape: {update->reset}GLRegion() and reserve vertices+indices ↵ | Sven Gothel | 2023-04-28 | 4 | -16/+20 |
| | | | | if (rect) border is present | ||||
* | AABBox: Add 'translate' w/ dedicated components | Sven Gothel | 2023-04-28 | 1 | -0/+15 |
| | |||||
* | [PMV]Matrix[4f]: Clarify 'mulVec[34]f' in-place arg properties, add pure ↵ | Sven Gothel | 2023-04-28 | 2 | -16/+113 |
| | | | | in-place variant and use it in PMVMatrix dropping temporary | ||||
* | Vec[234]f: Add 'max' and 'min' function | Sven Gothel | 2023-04-28 | 3 | -0/+45 |
| | |||||
* | GraphUI GraphShape: createGLRegion() -> updateGLRegion(), called by ↵ | Sven Gothel | 2023-04-20 | 19 | -104/+192 |
| | | | | | | | | | | | | | | | | | | | | | | addShapeToRegion() impl to utilize OutlineShape -> GLRegion ctor w/ proper buffer-size This way we avoid unnecessary buffer growth and allow creation of 'always' fitting buffer sizes. +++ Update or freshly create the GLRegion, while allocating its buffers with given initial `vertexCount` and `indexCount`. Method shall be invoked by the addShapeToRegion(GLProfile, GL2ES2) implementation before actually adding the OutlineShape to the GLRegion. addShapeToRegion(GLProfile, GL2ES2) is capable to determine initial `vertexCount` and `indexCount` buffer sizes, as it composes the OutlineShapes to be added. updateGLRegion(GLProfile, GL2ES2, TextureSequence, OutlineShape) maybe used for convenience. In case GLRegion is `null`, a new instance is being created. In case the GLRegion already exists, it will be either cleared if the GL2ES2 `gl` instance is not `null` or earmarked for deletion at a later time and a new instance is being created. | ||||
* | Graph GLRegion/TextRegionUtil: Enhance pre-determination of buffer-size, ↵ | Sven Gothel | 2023-04-20 | 15 | -58/+119 |
| | | | | | | | | | | increase default initial 16->64 (unsued) - Region.countOutlineShape(..) now returns unpatched 3*triangle value for indices, avoiding grow - TextRegionUtil.addStringToRegion() uses countStringRegion(..) per default - Added GLRegion.create(.., OutlineShape) for convenience, using Region.countOutlineShape(..) - Refined API doc - | ||||
* | Graph OutlineShape.get{Outline->}VectexCount() renamed | Sven Gothel | 2023-04-20 | 3 | -3/+3 |
| | |||||
* | GLArrayDataClient: Refine API doc for grow*() and reserve() | Sven Gothel | 2023-04-20 | 1 | -2/+2 |
| | |||||
* | GraphUI Button.createGLRegion(): Pre-calc Region buffer size for BaseButton ↵ | Sven Gothel | 2023-04-20 | 1 | -1/+14 |
| | | | | (16) + Label-Text to avoid buffer grow | ||||
* | Graph GLRegion*: Utilize interleaved GLSL buffers for vertices, curveParams ↵ | Sven Gothel | 2023-04-20 | 6 | -172/+119 |
| | | | | | | | | | | | and the optional colors (GPU effeciency and performance; Increased CPU buffer growth performance) Besides simplification, interleaved GPU memory boosts - effeciency - performance Since only one underlying backing buffer on the CPU (host) has to be managed, it also increases buffer growth performance. | ||||
* | GLArrayDataServer.addGLSLSubArray(): Return (actual) GLArrayDataWrapper ↵ | Sven Gothel | 2023-04-20 | 1 | -1/+1 |
| | | | | instead of just GLArrayData interface, exposing and allowing mutable access to attribute location for interleaved sub-arrays | ||||
* | Graph VBORegion2P*.renderVBO(): Add comment on ↵ | Sven Gothel | 2023-04-19 | 2 | -0/+9 |
| | | | | BITHINT_GLOBAL_DEPTH_TEST_ENABLED usage -> To be investigated. | ||||
* | Graph [GL]Region: Use small initial indices/vertices count (640 -> 16), ↵ | Sven Gothel | 2023-04-19 | 2 | -6/+9 |
| | | | | | | since (huge) text glyph gets always pre-calculated. Region.countOutlineShape() indices ceiling raised from 60% to 90% of vertices, otherwise gets exceeded too often later on. | ||||
* | Graph GLRegion: Consolidate pass-1 common data (indices, vertices, ..) and ↵ | Sven Gothel | 2023-04-19 | 5 | -476/+186 |
| | | | | all related methods. Add growCount stat. | ||||
* | Graph Region.addOutlineShape(): Fix DEBUG_INSTANCE path, enable perf counter ↵ | Sven Gothel | 2023-04-19 | 1 | -0/+3 |
| | | | | if disabled. | ||||
* | Graph: Region.countOutlineShape(..) -> static, allow usage w/o instance; ↵ | Sven Gothel | 2023-04-19 | 3 | -33/+40 |
| | | | | | | | | TextRegionUtil.addStringToRegion() grow region buffer w/ counting (as well); GLRegion.create(..) count + reuse create(.., size) static-ctor All supported string -> region method utilize pre-calc of size and growth! Before, GraphUI's Label0 used TextRegionUtil.addStringToRegion() and hence missed this optimization path. | ||||
* | GraphUI {Round->Base}Button, denoting perpendicular or round corners (aka ↵ | Sven Gothel | 2023-04-19 | 5 | -54/+78 |
| | | | | | | | | rectangle or oval shape) - Button + BaseButton setter also pass this for chaining - Button {twoPassLabel->label}ZOffset, investigate whether z-offset still required (not if blending is enabled!) - | ||||
* | Graph Font.getGlyphShapeBounds(): Use variant w/ 2 temp AffineTransform ↵ | Sven Gothel | 2023-04-18 | 2 | -6/+10 |
| | | | | matching getGlyphBounds() | ||||
* | GraphUI Test: Have TestTextRendererNEWT21's FontViewListener01 use 8mm/cell ↵ | Sven Gothel | 2023-04-18 | 1 | -1/+1 |
| | | | | | | to match old screenshots for regression test. No rendering regressions w/ last Graph changes found. | ||||
* | GraphUI: Add BoxLayout and Margin, todo: Have GridLayout properly use Gap w/ ↵ | Sven Gothel | 2023-04-18 | 3 | -0/+544 |
| | | | | Padding and alignment (Margin?) (CSS alike) | ||||
* | GraphUI Padding: Use CSS alike ctor semantics, hence swizzle ctor arguments | Sven Gothel | 2023-04-18 | 5 | -57/+71 |
| | |||||
* | Graph OutlineShape.checkOverlaps(): Test overlap first to drop ↵ | Sven Gothel | 2023-04-18 | 1 | -1/+1 |
| | | | | overlaps.contains(..) test | ||||
* | VectorUtil: Fix isVec3InTriangle3(..) testing p1, p2 and p3 | Sven Gothel | 2023-04-18 | 1 | -12/+8 |
| | |||||
* | Graph + GraphUI: Consolidate Vertex: Drop SVertex and factory, use Vec[234]f ↵ | Sven Gothel | 2023-04-18 | 46 | -1175/+639 |
| | | | | | | | | | | | instead of float[] and remove unused VectorUtil methods After Matrix4f consolidation and proving same or better performance on non array types, this enhances code readability, simplifies API, reduces bugs and may improve performance. GraphUI: - Have RoundButton as a functional class to make a round or rectangular backdrop, i.e. impl. addShapeToRegion() via reused addRoundShapeToRegion() | ||||
* | GraphUI Demos: Move GraphUIDemoArgs to sub-package util | Sven Gothel | 2023-04-18 | 9 | -2/+9 |
| | |||||
* | GraphUI Demo FontView01: Add font-name and selected glyphID to screenshot ↵ | Sven Gothel | 2023-04-14 | 1 | -4/+8 |
| | | | | filename (documentation) | ||||
* | GraphUI Demo FontView01: Add screenshot per selected Glyph | Sven Gothel | 2023-04-14 | 1 | -6/+9 |
| | |||||
* | GraphUI Demo FontView01: Separate general font metrix (height, line-height) ↵ | Sven Gothel | 2023-04-14 | 1 | -3/+3 |
| | | | | from actual Glyph metrix | ||||
* | GraphUI Demo FontView01: Add 'infoGrid' w/ GlyphShape (-> DAG SG reusing ↵ | Sven Gothel | 2023-04-14 | 1 | -21/+106 |
| | | | | | | | | | | instance) + details in text, active via mouse-click The GlyphShape instance will be reused in this use-case, i.e. once in the 'mainGrid' and if selected, in the 'infoGrid'. This also demos our DAG capability. Further textual details are also shown in the text label. | ||||
* | GraphUI Group.drawImpl0(): Copy List<Shape> to array and sort using ↵ | Sven Gothel | 2023-04-14 | 1 | -2/+7 |
| | | | | | | | Shape.ZAscendingComparator - fixes z-order issue, as we shall do same approach as in Scene.display() - fixes mutated container issue if a Shape gets removed or added to original List | ||||
* | GraphUI Container.removeShape(..): Return removed Shape, add ↵ | Sven Gothel | 2023-04-14 | 3 | -8/+33 |
| | | | | removeShape(index) variant; Group.(add|remove)Shape(..) markShapeDirty() to recompute bbox and layout. | ||||
* | Typecast Font.getGlyph(..): Fix Glyph case w/ 0 getOutlineVectexCount() -> ↵ | Sven Gothel | 2023-04-14 | 1 | -4/+14 |
| | | | | isWhiteSpace = true, use emptyShape | ||||
* | Typecast Font: Add API doc for getLineHeight(), remove unused Vec3f import | Sven Gothel | 2023-04-14 | 1 | -2/+14 |
| | |||||
* | Graph OutlineShape: Add getOutlineVectexCount(), i.e. total vertex count of ↵ | Sven Gothel | 2023-04-14 | 1 | -0/+10 |
| | | | | all Outlines | ||||
* | Typecast Font.Glyph: Expose isUndefined(), i.e. name == ".notdef" | Sven Gothel | 2023-04-14 | 2 | -0/+6 |
| | |||||
* | Typecast: Expose (new) getGlyphCount(): GlyfTable.getSize() -> ↵ | Sven Gothel | 2023-04-14 | 5 | -1/+18 |
| | | | | (OTFont,Font).getGlyphCount() |