| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
v_in', user can simply get the desired matrix and apply its mulVec*(..) operation
|
|
|
|
| |
WorkerThread, helping to simplify code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
agnostic (PMVMatrix, Matrix4f, Vec4f, ..)
Math functionality (PMVMatrix, Matrix4f, Vec4f, ..)
- shall be used toolkit agnostic, e.g. independent from OpenGL
- shall be reused within our upcoming Vulkan implementation
- may also move outside of JOGL, i.e. GlueGen or within its own package to be reused for other purposed.
The 'com.jogamp.opengl.util.PMVMatrix' currently also used to feed in GLUniformData
via the toolkit agnostic SyncAction and SyncBuffer
shall also be split to a toolkit agnostic variant.
An OpenGL PMVMatrix specialization implementing GLMatrixFunc can still exist,
being derived from the toolkit agnostic base implementation.
+++
Initial commit .. compile clean, passing most unit tests.
|
|
|
|
| |
certain debug output to keep most silence for debugAll()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
| |
AffineTransform to local method; Simplify BaseButton setCorner(0) -> setPerp(); Protected abstract ctor ..
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
[1..8]; Add clarity in Region; Demos CommandlineOptions adds actual graphAASamples set and utilized
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
| |
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
|
|
|
|
| |
color-channel again, was enforced to be set in commit bb6ee81bc5514663bb7b22224fcdd5ba34a51ac6
|
|
|
|
| |
shall handle null streamWorker, i.e. when using NullGLMediaPlayer
|
|
|
|
|
|
|
|
|
|
| |
Either fill color-channel with value if used and set static-color to white - or just set static color channel with value.
Have the given rgbaColor to definitely setting the text color regardless whether a color channel is used or not.
Note: Using a color-channel is more expensive (color value per vertex) and should only be required if mixing
colors within one region!
Also removes potential side-effects if color-channel is used but user forgets to set the static value properly.
|
|
|
|
|
|
|
|
|
|
|
|
| |
color-channel is used and no static-color set
Commit a973324a75b55b722caa755a7a573be849d997e4 was setting the alpha to 1,
which avoids the 'discard' in the shader.
This at least gave us a black color ;-)
However, the shader modulates the color, i.e. color-channel * color-static,
therefor we need an all-white color-static as default
if user only sets the color-channel.
|
|
|
|
| |
Remove potential leak
|
|
|
|
| |
(and fwd 'em to RenderState aggregate)
|
|
|
|
| |
texture unit after ctor
|
|
|
|
| |
avoid side-effects. Usually called @ GLEventListener.init(..)
|
|
|
|
|
|
| |
rendering if no static color has been set
Shader either uses just colorStatic or multiplies it w/ the color-stream value
|
|
|
|
| |
(default texture unit is 0)
|
| |
|
|
|
|
| |
for tracking of blending states)
|
|
|
|
| |
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
|