SW Tracking Report Feature Objectives Overview

From JogampWiki
Jump to navigation Jump to search

This list exposes building blocks for potential use and business case scenarios using Java & JogAmp on Desktop and Embedded Devices.

Notably Graph UI could be of interest here?

Also see Completed Features Objectives ...

High DPI

Parent Main Node
Dependency Tree

Bugzilla query error

error, http-timed-out, Array


Children blocking Parent
Full Query
ID Version Product Component Priority Severity Status Summary
741 2 Jogl macosx --- normal RESOLVED Enable Hi-Dpi Mode on OSX (Retina)
1120 2.3.0 Jogl core --- enhancement RESOLVED Refine HiDPI Support
1130 2.3.0 Newt awt --- enhancement RESOLVED Add Mapping from AWT Component -> NEWT [Screen, MonitorDevice]
1322 2.5.0 Jogl macosx P4 normal RESOLVED JOGL sets pixel scale to 2 for GLJPanel not on Retina display
1351 2.4.0 Newt macosx P4 normal RESOLVED NEWT: Custom pointer pixels doubled on High-DPI Retina Display on OS X only
1358 2.4.0 Jogl swt P4 normal VERIFIED Incorrect OpenGL surface size on SWT GLCanvas and NewtCanvasSWT w/ High-DPI scaling
1374 2.5.0 Jogl awt P4 major RESOLVED Support High-DPI for JRE>8 AWT on Windows, MacOSX and Linux
1421 2.4.0 Newt swt P4 normal VERIFIED Incorrect OpenGL window position on NewtCanvasSWT on MacOS
1422 2.4.1 Newt swt P4 normal VERIFIED NEWT: Handle SWT's DPI Scaling on non native dpi scaling platforms (Linux, Windows, ..)

9 Total; 0 Open (0%); 6 Resolved (66.67%); 3 Verified (33.33%);


Graph

Graph UI

Graph UI will enable an immersive UI within the 3D scene on the desktop, mobile and on bare-metal embedded systems without a windowing system.

Graph UI utilizes Resolution Independent NURBS Curves Rendering using Programmable Graphics Pipeline, i.e. rendering curves directly on the GPU, resolution independent [ paper, slides ].

This method allows us to to have an ultimate fast font and UI rendering engine, suitable for all devices and applications. No CPU based curve nor font pre-rendering (matching a target resolution) is required.

Think of an integrated QT or OpenJFX in your 2D/3D application working on desktop and embedded devices even w/o any windowing system on top of a plain console DRM/GBM as support by JOGL(EGL) and NEWT as demonstrated by Xerxes on a Raspberry Pi4.

Reimagine Java on Desktop & Bare-Metal Devices demonstrates the updated Graph Curve Rendering and UI. Further updates will be posted here....

Notably the Graph Curve Rendering is almost feature complete, as well as our own user input including gesture detection within NEWT.

Parent Main Node
Dependency Tree
All GraphUI

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Children blocking Parent
Full Query
ID Version Product Component Priority Severity Status Summary
801 2 Jogl graph --- enhancement RESOLVED Cleanup Graph API, Remove Redundancies.
802 2 Jogl graph --- enhancement RESOLVED Enhance Graph Performance w/ Text Rendering

2 Total; 0 Open (0%); 2 Resolved (100%); 0 Verified (0%);


All of Product graphui
Full Query
ID Version Product Component Priority Severity Status Summary
544 tbd GraphUI Core P3 enhancement UNCONFIRMED RFE for UI part of the graph package
803 2.5.0 GraphUI Core --- enhancement RESOLVED Establish Graph-UI Core ..
804 tbd GraphUI Plugin --- enhancement UNCONFIRMED Add SVG Input Specification (Curved Geometry, Object Interaction) to Graph-UI
805 2.6.0 GraphUI Core --- enhancement IN_PROGRESS Basic Graph-UI Widgets - I
1454 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI Scene: Elevate active (selected) shape (add z-offset) and select (pick) in Z descending order
1456 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI: Add CSS alike Layout for Group: GridLayout and BoxLayout
1457 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI: Add AnimGroup, providing sets of custom animated Shapes
1458 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI Z-Epsilon Support: Expose Z-Epsilon API in Scene and utilization in Button
1459 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI Shape: Add active (pointer over/left) state and callback Listener
1460 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI Shape: Allow keeping aspect-ratio at resize
1464 2.6.0 GraphUI Core P2 critical RESOLVED GraphUI Scene: Resolve Data Race Modding Z Position activating a shape and Arrays.sort(..)
1467 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI: Don't de-activate a Shape if became active via 'mouseOver' (mouseDragged)
1483 tbd GraphUI Plugin P4 normal CONFIRMED Enhanced Graph-UI Elements - II
1489 2.6.0 GraphUI Core P1 critical RESOLVED GraphUI Group: Resolve Performance Regression in Scene.pickShape(): Drop invisible and clipped shapes
1490 2.6.0 GraphUI Core P1 critical RESOLVED GraphUI Group: Resolve Performance Issues with Shape Mv Transform -> PMVMatrix4f; Group/Scene's temp sorted arrays
1495 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI Shape: Only updateMat() if marked dirty once in applyMatToMv() and getMat(*)
1496 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI Shape: Allow markShapeDirty() and markStateDirty() to be lock free
1498 2.6.0 GraphUI Core P4 critical RESOLVED GraphUI: Fix Picking Traversal throughout Groups in Z-Descending Order, testing Children and fallback to Group if positive
1499 2.6.0 GraphUI Core P4 normal RESOLVED GraphUI MediaPlayer: Add Time-Code & optional Still-Images as mouse-over on time RangeSlider

19 Total; 4 Open (21.05%); 15 Resolved (78.95%); 0 Verified (0%);


Jogl / Graph

Dependency Tree Graph Font Issues

All Jogl Graph

Full Query
ID Version Product Component Priority Severity Status Summary
492 2 Jogl graph --- critical VERIFIED New TextRenderer on Win7-64bit-NV-QuadroFX5800 Java-32bit - FBObject produces GL_OUT_OF_MEMORY
636 2 Jogl graph --- critical RESOLVED Quaternion multiplication unexpected behavior
703 2 Jogl graph P4 critical RESOLVED Quaternion SLERP not working jumping and returning incorrect interpolation
754 2 Jogl graph --- enhancement RESOLVED Remove Ubuntu fonts from jogl-all.jar, provide it separately to reduce footprint for the masses.
801 2 Jogl graph --- enhancement RESOLVED Cleanup Graph API, Remove Redundancies.
802 2 Jogl graph --- enhancement RESOLVED Enhance Graph Performance w/ Text Rendering
1040 2.5.0 Jogl graph --- enhancement RESOLVED Font space character width problem (GPU renderer)
1041 2.6.0 Jogl graph --- enhancement RESOLVED GPU Font rendering bugs on bold fonts
1061 tbd Jogl graph --- enhancement RESOLVED Make possibility to draw antialiased text to different frame buffer
1064 tbd Jogl graph P1 major IN_PROGRESS Fix Graph Font Rendering (group for related bugs)
1091 2.3.0 Jogl graph --- enhancement RESOLVED Graph FontFactory: Add method allowing Font loading via InputStream
1131 tbd Jogl graph --- major RESOLVED Some TTF fonts not working in the new Graph API renderer
1132 tbd Jogl graph --- major RESOLVED OTF fonts can't be loaded in Graph API renderer
1133 2.6.0 Jogl graph --- major RESOLVED Some TTF fonts producing squares instead of characters
1162 tbd Jogl graph --- normal RESOLVED Using TextRegionUtil (RegionRenderer and RenderState) with user GL code
1228 tbd Jogl graph --- enhancement RESOLVED Allow setting other glBlendFunc in GLRegion renderer
1229 2.6.0 Jogl graph --- major RESOLVED Some TextRenderer tests not giving expected results
1230 tbd Jogl graph --- normal RESOLVED Two-pass TextRenderer doesn't work if culling is enabled
1262 tbd Jogl graph P4 major RESOLVED Allow multi-pass font rendering to choose FBO to render to
1272 tbd Jogl graph P4 normal RESOLVED Two-pass TextRenderer color changing during runtime doesn't work if glyph caching is enabled
1355 tbd Jogl graph P4 normal RESOLVED buggy text rendering in GPUTextNewtDemo
1461 2.6.0 Jogl graph P4 normal RESOLVED Graph Fonts: Add 'Material Icons Round-Regular' (APL-2 license)
1462 2.6.0 Jogl graph P4 normal RESOLVED Graph Font: Add name + codepoint to ID and Glyph mapping plus traversing through all Glyphs
1463 2.6.0 Jogl graph P4 normal RESOLVED Graph Font: Whitespace or undefined Glyphs shall not cover (any) height exceeding overall CharSequence
1465 2.6.0 Jogl graph P4 normal RESOLVED Graph / GraphUI: Render a Region's ColorTexture in proper aspect-ratio, letter-boxed or zoomed (config)
1466 2.6.0 Jogl graph P4 normal RESOLVED Graph / GraphUI: Fix color mixing in Region shader with texture, colorStatic and colorChannel
1485 2.6.0 Jogl graph P4 normal RESOLVED Graph: Support AABBox Clipping to [GL]Region
1486 2.6.0 Jogl graph P4 normal RESOLVED Graph/GraphUI AA-Quality + SampleCount Params: Push 'em down to RegionRenderer's RenderState usually rarely set from top of user API, reducing complexity
1487 2.6.0 Jogl graph P4 normal RESOLVED Graph: Use Frustum Clipping instead of AABBox + GraphUI Support
1488 2.6.0 Jogl graph P1 critical RESOLVED Graph: Resolve Performance Regression in RegionRenderer's ShaderKey Utilization
1493 2.6.0 Jogl graph P4 normal RESOLVED GLMediaPlayer/GraphUI: Support Displaying Text/ASS Subtitles
1494 2.6.0 Jogl graph P4 normal RESOLVED GLMediaPlayer/GraphUI: Support Displaying Bitmap'ed Subtitles (PGS ..)
1497 2.6.0 Jogl graph P4 normal RESOLVED Merge Bernhard Haumacher's typecast work, providing documentation as well as Cmap table fix
1501 2.6.0 Jogl graph P1 critical RESOLVED Graph: Resolve Tessellation Bugs (Delaunay Triangulation)
1502 2.6.0 Jogl graph P4 normal IN_PROGRESS Graph: Improve Performance of Non-Convex/Intersection Classification and/or Intersection-Test itself (Bug 1501)
1503 2.6.0 Jogl graph P4 normal IN_PROGRESS Graph: Resolve Tessellation Bugs (Delaunay Triangulation) - Part II

36 Total; 3 Open (8.33%); 32 Resolved (88.89%); 1 Verified (2.78%);


OpenJFX

Bug report 607 describes different ways to either

  • enhance external rendering via JOGL into an OpenJFX UI elements, or
  • to replace OpenJFX's Glass w/ NEWT and Prism's OpenGL coding with JOGL

NEWT

Full Query
ID Version Product Component Priority Severity Status Summary
592 tbd Jinput core P5 enhancement IN_PROGRESS Migrate Jinput to JogAmp
595 tbd Newt core P5 enhancement CONFIRMED NEWT event propagation to Jinput
795 tbd Newt wayland --- enhancement CONFIRMED Add native Wayland Backend for NEWT
807 tbd Newt core --- enhancement UNCONFIRMED NEWT Input: Add support for more devices a.k.a (Accelerometer, GPS, Compass, Joystick ..)
808 tbd Newt core --- enhancement UNCONFIRMED NEWT Input: Add support for Gyroscope / Accelerometer Devices
809 tbd Newt core --- enhancement UNCONFIRMED NEWT Input: Add support for Compass Devices
812 tbd Newt core --- enhancement CONFIRMED Add USB Topology / Graph to query device location etc.
813 tbd Newt core --- enhancement CONFIRMED Allow InputDevice to be auto-assigned, e.g. via USB Topology (Monitor - Mouse/Keyboard)
814 tbd Newt core --- enhancement CONFIRMED Enhance PointerEvent / Deprecate MouseEvent
1178 tbd Newt embedded --- enhancement IN_PROGRESS Prevent dual mousepointers and improve raspberry pi xorg experience when using NEWT BCM VC IV on Raspberry Pi
1361 3.0.0 Newt core P4 normal CONFIRMED Remove Flickering when resizing a Newt Window

11 Total; 11 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Vulkan

Full Query
ID Version Product Component Priority Severity Status Summary
1137 tbd Jogl vulkan --- enhancement CONFIRMED Add Support for Vulkan (group)
1138 tbd Jogl vulkan --- enhancement UNCONFIRMED Common Subset of OpenCL >= 2.1 / Vulkan Command API (Queue, Buffer) and Context
1139 tbd Jogl vulkan --- enhancement UNCONFIRMED Generalize high-level API GLContext, GLDrawable, GLAutoDrawable for Vulkan and OpenGL
1140 tbd Jogl vulkan --- enhancement UNCONFIRMED Add Support for SPIR-V >= 2.0 (group)

4 Total; 4 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Video Encoding/Decoding & Player

Across our releases, we supported video encoding and decoding (with a player) based on either FFmpeg or Android's library as shown in this clip at 2:12 min mark.

Goal would be to

  • Update general ffmpeg video decoding support
  • Enhance ffmpeg video encoding support
  • Potentially add better control about video-frame to framebuffer control for editing software

See related buglist

Full Query
ID Version Product Component Priority Severity Status Summary
686 tbd Jogl video P3 enhancement CONFIRMED Add native Libraries for GLMediaPlayer fallback w/ patent free Codecs like WebM or AV1
933 3.0.0 Jogl video P4 enhancement CONFIRMED Force GLMediaPlayer not to depend on machine time
1173 2.5.0 Jogl video --- major RESOLVED GLMediaPlayer: EOS not reported for FFMPEG video
1216 2.5.0 Jogl video --- major RESOLVED GLMediaPlayer: MP3 Playback Issues (duration and EOS)
1260 3.0.0 Jogl video P4 minor CONFIRMED Allow the change of MAXIMUM_VIDEO_ASYNC of GLMediaPlayer
1286 2.5.0 Jogl video P4 major RESOLVED Multiple GLMediaPlayers init stream deadlock
1297 2.5.0 Jogl video P4 normal RESOLVED Native crash while destroying GLMediaPlayer
1356 2.4.0 Jogl video P4 normal RESOLVED "Future proof" ffmpeg libraries loading prevents using legit libraries
1420 2.5.0 Jogl video P4 major RESOLVED Enable FFmpeg 4, 5 and 6 in FFMPEGMediaPlayer and allow loading provided libs (option)
1455 2.6.0 Jogl video P4 normal RESOLVED GLMediaPlayer: Add isAutioMuted() query on volume and earmark audio-volume if not initialized and set it when AudioSink becomes available
1469 2.6.0 Jogl video P4 normal RESOLVED FFmpeg binding uses ReleaseStringChars instead of ReleaseStringUTFChars for GetStringUTFChars() acquired UTF
1472 2.6.0 Jogl video P4 major RESOLVED GLMediaPlayer Enhance AV Synchronization
1491 2.6.0 Jogl video P4 normal RESOLVED GLMediaPlayer: Remove resource restrictions and locking with shared GLContext (*GraphicsDevice)
1492 2.6.0 Jogl video P4 normal RESOLVED GLMediaPlayer: Support Tracking, Showing and Switching of Audio & Subtitle Tracks

14 Total; 3 Open (21.43%); 11 Resolved (78.57%); 0 Verified (0%);


iOS Enhancements

Early iOS support has been demonstrated in 2019

Enhancing this port would allow to use JogAmp in a similar fashion as on Android, but using an OpenJDK iOS build.

Source Certification Contract (SCC)

Dependency Tree

Root Parent Entry

Full Query
ID Version Product Component Priority Severity Status Summary
1368 tbd General builds P4 normal IN_PROGRESS Source Certification Contract (SCC)
1369 2.4.0 Gluegen core P4 normal RESOLVED SCC: Implement basic Secure Hash (SHA256) build time signatures & runtime validation

2 Total; 1 Open (50%); 1 Resolved (50%); 0 Verified (0%);


Misc

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);