| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
RegionRenderer.enable(..) merge '!enable' branch, fix API doc
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
AudioSink.setChannelLimit() ..
May be utilized to enforce 1 channel (mono) downsampling
in combination with JOAL/OpenAL to experience spatial 3D position effects.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
2b339721a4d6dd4f3af129a4654375b15c7ea340)
|
|
|
|
| |
270172bcbd91f96d4a38a3d73e23d744f57a25b8) and joal (commit 03f4bb63ce8a358b1c2ef303480e1887d72ecb2e)
|
|
|
|
|
|
|
|
|
|
|
| |
have AWT toolkit define pixelScale only (simplification)
This aligns with Glenn's initial AWT patch commit e5e7514d649cd7dd28bbb8e04b72338dc09c2c83, i.e. removing redundancies...
Tested on Linux, Windows and MacOS w/ GLCanvas, GLJPanel and GLWindow using pixelScale values:
- Linux: 1, 2
- Windows: 1, 1.25, 2
- MacOS: 1, 2
|
|
|
|
| |
(regression to initial implementation)
|
|
|
|
| |
with EventMask.Bit/EventMask
|
|
|
|
|
|
| |
(High Sierra)
This expands blocking Pbuffer on MacOS, see commit 1562a6d4c71b27378612306f825c2530c938f859
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Loop.initFromPolyline(..) outline.getGraphPoint().size() < 3 IllegalArgumentException
This issue has to be added to our CD ..
/*
* Font FreeMono-Bold: ID 0 + 465: Glyph[id 465 'uni020F', advance 600, leftSideBearings 42, kerning[size 0, horiz true, cross true], shape true], OutlineShape@5e8a459[outlines 2, vertices 34]
Drop innerPoly ctrlpts < 3
- innerPo[vertices 2, ctrlpts 2] < 3
- outline[vertices 4, ctrlpts 4]
- Input[vertices 4]
*
* Font FreeSans-Regular: ID 0 + 409: Glyph[id 409 'Udieresiscaron', advance 720, leftSideBearings 80, kerning[size 0, horiz true, cross false], shape true], OutlineShape@5eb97ced[outlines 3, vertices 33]
Drop innerPoly ctrlpts < 3
- innerPo[vertices 1, ctrlpts 1] < 3
- outline[vertices 1, ctrlpts 1]
- Input[vertices 1]
* Stack:
at jogamp.graph.curve.tess.CDTriangulator2D.addCurve(CDTriangulator2D.java:97)
at com.jogamp.graph.curve.OutlineShape.triangulateImpl(OutlineShape.java:988)
at com.jogamp.graph.curve.OutlineShape.getTriangles(OutlineShape.java:1012)
at com.jogamp.graph.curve.Region.countOutlineShape(Region.java:503)
at com.jogamp.graph.ui.shapes.GlyphShape.<init>(GlyphShape.java:77)
*/
|
| |
|
| |
|
| |
|
|
|
|
| |
69d22df0a6132dbf8b88fd04090c0bc81129237f IOUtil.copyStream2File() changes
|
| |
|
|
|
|
| |
in-place variant and use it in PMVMatrix dropping temporary
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
-
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
instead of just GLArrayData interface, exposing and allowing mutable access to attribute location for interleaved sub-arrays
|
|
|
|
| |
BITHINT_GLOBAL_DEPTH_TEST_ENABLED usage -> To be investigated.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
all related methods. Add growCount stat.
|
|
|
|
| |
if disabled.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
matching getGlyphBounds()
|
|
|
|
| |
overlaps.contains(..) test
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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()
|
|
|
|
| |
isWhiteSpace = true, use emptyShape
|
| |
|
|
|
|
| |
all Outlines
|
| |
|
|
|
|
| |
(OTFont,Font).getGlyphCount()
|
| |
|
|
|
|
| |
even a Glyph was mapped to the ID
|
|
|
|
| |
getRenderModeString(renderModes, graphSampleCount, fsaaSampleCount) for unified tech representation
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
invPMv null; PMVMatrix: Make Mvi, Mvit optional at ctor, add user PMv and PMvi - used at gluUnProject() ..
Matrix4f.mapWin*() variants w/ invPMv don't need temp matrices,
they also shall handle null invPMv -> return false to streamline usage w/ PMVMatrix if inversion failed.
PMVMatrix adds user space common premultiplies Pmv and Pmvi on demand like Frustum.
These are commonly required for e.g. gluUnProject(..)/mapWinToObj(..)
and might benefit from caching if stack is maintained and no modification occured.
PMVMatrix now has the shader related Mvi and Mvit optional at construction(!), so its backing buffers.
This reduces footprint for other use cases.
The 2nd temp matrix is also on-demand, to reduce footprint for certain use cases.
Removed public access to temporary storage.
+++
While these additional matrices are on demand and/or at request @ ctor,
general memory footprint is reduced per default and hence deemed acceptable
while still having PMVMatrix acting as a core flexible matrix provider.
|
|
|
|
|
|
|
| |
GraphUI.Shape: Efficiently reuse matPMv and temporary PMVMatrix storage
Reuse PMv in Shape.getSurfaceSize() and Shape.winToShapeCoord(),
for the latter we invert the reused PMv for mapWinToObj (i.e. UnProject).
|
|
|
|
| |
w/ Doxygen. Doxygen uses markdown
|
| |
|