| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is an intrinsic + branch-less implementation
Expected implementation is
- return Float.intBitsToFloat(Float.floatToRawIntBits(a) & 0x7fffffff);
replacing old implementation
- return (a <= 0.0F) ? 0.0F - a : a;
.. also market as @IntrinsicCandidate
Hence we shall leave it to the JRE core-lib implementation...
|
| |
|
|
|
|
| |
rename Button set{Label->Text}(..), adjust demo/text code
|
|
|
|
| |
renderModes, allowing the latter to be adjusted e.g. in case a color-channel is required
|
|
|
|
| |
AffineTransform to local method; Simplify BaseButton setCorner(0) -> setPerp(); Protected abstract ctor ..
|
| |
|
|
|
|
| |
values; Button add Z-Epsilon API for ctor and setLabelZOffset(..)
|
|
|
|
| |
consider Z-scaling
|
| |
|
|
|
|
|
|
| |
EPSILON; Add isEqual(a,b) w/ default EPSILON; Use it where applicable
Also add isEqual2(a,b) w/o corner cases (NaN, Inf) used for comparison in Graph Outline, OutlineShape and later GraphUI Shape.
|
|
|
|
| |
DefaultPMVMatrixSetup w/o orthogonal alike scale-back but fully parametric
|
|
|
|
| |
[1..8]; Add clarity in Region; Demos CommandlineOptions adds actual graphAASamples set and utilized
|
| |
|
|
|
|
| |
<floar>' in seconds
|
|
|
|
|
|
|
|
| |
API Change **
Since this is an extra implementation of PMVMatrix and not of GLMatrixFunc, we shall use the default ISO dimension avoiding conversion.
This alsi redefined Graph's RegionRenderer.reshapePerspective() angle definition from degrees to radians
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
underlying shape' and add API doc
Regression was introduced with commit 920e529516bb264f04138ed1caca80d4925e3773
'Robust detetection and API definition of non-contour/whitespace Glyphs'.
Issue was mistaken a glyph as undefined if not having an underlying shape,
which is true for some fonts (e.g. 'space').
+++
Also Use post table's name if no underlying shape exists.
|
|
|
|
| |
Scene but manual GLEventListener etc, add a few Glyph tests
|
|
|
|
| |
the last element in container, the GlyphShape
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
glyphSymbol number, mouse-wheel scrolling, Fitting the font info, ..
- Add mouse-wheel scrolling, for one-line and with control for one page.
- Add left-column glyphSymbol number, for orientation while scrolling
- Fitting the font info, i.e. consider width + height
Refactoring further isolated the addGlyphs(..) functionality in same method, etc.
Used to test Graph's capabilitry to properly read, detect and visualize certain fonts.
Previous Graph fixes were triggered by this procedure,
i.e. commits
- 733cc5272cfed10fa07b707e29fd756f44581508
- 920e529516bb264f04138ed1caca80d4925e3773
- 7fd51917b0cc85c3dc3d07592093a62b213d1ea5
Further the proper detection of non-contour/whitespace
allows FontView to skip them and only show usably Glyphs without noise.
|
|
|
|
| |
TypecastFont
|
| |
|
|
|
|
|
|
| |
non-contour/whitespace Glyphs (detect and allow to skip 'em)
We also drop shapes for both, but for id 0 (unknown).
|
|
|
|
|
|
| |
report error but do not crash.
This behavior has been evaluated with a few fonts and the WIP FontView01 demo application.
|
| |
|
|
|
|
| |
file-path>' using our GLMediaPlayer (FFmpeg + JOAL/OpenAL)
|
|
|
|
|
|
|
|
|
| |
0.0001f, have to check if working on all platforms (TODO)
Otherwise, we have to resolve the 'one Region' for the Button (backgroung shape + text on top)
implementation with two OutlineShapes.
As of now, we use the z-offset of the text above background to avoid z-fighting.
This is like a manual application of glPolygonOffset(..) directly on the produced vertices.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
providing sets of animated Shapes (GlyphShape or any other)
Hardcoding the whole animation process into user code is not feasible to allow a quick add-on.
GraphUI's new AnimGroup is a Group and allows to add multiple AnimGroup.Set of AnimGroup.ShapeData.
+++
AnimGroup.ShapeData holds the actual Shape and its start- and target position
as well as its active animation state and an optional user object attachment.
AnimGroup.Set holds a list of AnimGroup.ShapeData as well as the animation properties
and states like acceleration and velocity for translation and angular operations.
It also contains the AnimGroup.LerpFunc for linear interpolation of the next position
as called via AnimGroup.tick() over all sets.
AnimGroup.LerpFunc is intended to perform the linear interpolation for the next position,
either user provided or one of the provided may be used, i.e. TargetLerp, ScrollLerp and SineLerp.
To setup the start- and target position for each AnimGroup.ShapeData,
a AnimGroup.ShapeSetup is used - user implementated or one of the build-in
of AnimGroup.addGlyphSetHorizScroll01(..), AnimGroup.assGlyphSetRandom01(..).
+++
UISceneDemo03 consolidated UISceneDemo03 + UISceneDemo03b (deleted)
and shows the following AnimGroup capabilities:
- Two repetitive scrolling text lines. One text shorter than the line-width and one longer.
- One line of animated rectangles, rotating around their z-axis
- A text animation assembling one line of text,
each glyph coming from from a random 3D point moving to its destination all at once including rotation.
- One line of text with sine wave animation
|
|
|
|
| |
tests for now
|
|
|
|
|
|
|
|
|
| |
ctor using Vec3f low and high
intersects2DRegion(..) got the passed width and height wrong,
i.e. given object low position >= this-low position
and given object high position including width/height <= this-high position
is required to match for intersection.
|
| |
|
| |
|
|
|
|
| |
allowing off-thread mutation
|
| |
|
|
|
|
| |
complete PMVMatrix, use it in getSurfaceSize(..), shapeToWinCoord(..) and winToShapeCoord(..)
|
|
|
|
| |
variants
|
| |
|
| |
|
|
|
|
| |
key-symbols F4, ESC and Q to trigger off-thread window.destroy()
|
| |
|
|
|
|
|
|
|
|
|
| |
addNotify(), leading to proper initialization sequence when re-adding panel.
The proper initialization sequence subsequently also leads to proper glViewport initialization,
see commit d17d807a76ba9cb940542264fcad9cf71c7ec585
No side-effects expected, just ensuring same code-path compared to initial addNotify().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLEventListener.reshape(..) when re-adding GLJPanel
When re-adding GLJPanel on Windows glViewport()
is not called through
- GLJPanel.Updater.display()
- GLDrawableHelper.reshape()
- GLDrawableHelper.setViewportAndClear()
Instead the following sequence is called due to sendReshape == false:
- GLJPanel.Updater.display()
- GLDrawableHelper.display() ** missing glViewport(..) **
This bug is not visible on X11 or MacOS since the glViewport
is only set to a different user value on Windows ...
|
| |
|
|
|
|
|
|
| |
ensuring JOGL is completely initialized
Noteable: On MacOS 13.1 (aarch64) UISceneDemo20 won't show the window if NEWT is initialized before JOGL core via GLProfile.initSingleton().
|
| |
|
|
|
|
| |
TODO: Full cleanup perhaps
|
|
|
|
|
|
|
|
|
| |
over ownership and allows destroy() to delete it, otherwise not. Fixes GraphUI's GLButton.
GraphUI's GLButton uses the offscreen's FBO texture and hence can't pass over ownership of the texture.
Hence the Texture instance is created w/o handing over ownership!
GLMediaPlayerImpl does hand over ownership of the generated and passed texture to the Texture ctor.
|
| |
|
| |
|
|
|
|
| |
AWT rendering thread support. Adopt it in tests and demos
|
|
|
|
| |
gap) for test case to compare pixel-by-pixel
|