SW Tracking Report Feature Objectives Overview: Difference between revisions
Line 31: | Line 31: | ||
[https://jausoft.com/blog/2023/02/22/reimagine-java-on-desktop-bare-metal-devices/ ''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. | [https://jausoft.com/blog/2023/02/22/reimagine-java-on-desktop-bare-metal-devices/ ''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 [https://jausoft.com/blog/2011/10/05/jogljogamp-red-square-moscow-nurbs-graphicon2011/ Resolution Independent NURBS Curves Rendering using Programmable Graphics Pipeline], i.e. rendering curves directly on the GPU, resolution independent [ [https://jogamp.org/doc/gpunurbs2011/p70-santina.pdf paper], [https://jogamp.org/doc/gpunurbs2011/graphicon2011-slides.pdf 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 solution) is required. | |||
Think of an integrated QT or OpenJFX in your 2D/3D application | Think of an integrated QT or OpenJFX in your 2D/3D application |
Revision as of 22:38, 28 February 2023
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
ID | Version | Product | Component | Priority | Severity | Status | Summary |
---|---|---|---|---|---|---|---|
1322 | 2.5.0 | Jogl | macosx | P4 | normal | RESOLVED | JOGL sets pixel scale to 2 for GLJPanel not on Retina display |
1373 | 2.5.0 | General | generic | P4 | major | VERIFIED | Support High-DPI across Platforms and Modules |
1374 | 2.5.0 | Jogl | awt | P4 | major | RESOLVED | Support High-DPI for JRE>8 AWT on Windows, MacOSX and Linux |
3 Total; 0 Open (0%); 2 Resolved (66.67%); 1 Verified (33.33%);
- Children blocking Parent
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 solution) 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
ID | Version | Product | Component | Priority | Severity | Status | Summary |
---|---|---|---|---|---|---|---|
803 | 2.5.0 | GraphUI | Core | --- | enhancement | RESOLVED | Establish Graph-UI Core .. |
1 Total; 0 Open (0%); 1 Resolved (100%); 0 Verified (0%);
- Children blocking Parent
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
19 Total; 4 Open (21.05%); 15 Resolved (78.95%); 0 Verified (0%);
Jogl / Graph
Dependency Tree Graph Font Issues
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
11 Total; 11 Open (100%); 0 Resolved (0%); 0 Verified (0%);
Vulkan
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
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)
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
82 Total; 62 Open (75.61%); 19 Resolved (23.17%); 1 Verified (1.22%);