SW Tracking Report Feature Objectives Overview

From JogampWiki
Revision as of 02:42, 21 January 2024 by Sgothel (talk | contribs) (→‎Graph)
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 ...

Graph

Desired Work Items

This is an ad-hoc list of desired features and fixes, which shall result in proper bug-reports soon.

After having reached UI usability with widgets and clipping, the following items are becoming more interesting

  • Fix general issues with current implementation and API, if any
  • Fix Graph rendering bugs (Tessellation)
  • Implement a one-pass smooth AA Graph renderer, allowing to save resources of pass-2 FBO supersampling
  • Allow passing per-vertex color to Graph Outline (API)
  • Add subtitles in MediaPlayer GraphUI widget
  • Add video encoding in our FFMPeg binding, i.e. an FFMPEGMediaRecorder (Encoding + Multiplexing)

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
Open Items graphui

No results.

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


Completed Items graphui

No results.

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


Jogl / Graph

Dependency Tree Graph Font Issues

All Jogl Graph

Open Items Jogl / graph

No results.

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


Completed Items Jogl / graph

No results.

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


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

No results.

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


Vulkan

No results.

0 Total; 0 Open (0%); 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

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 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

No results.

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


Misc

No results.

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