SW Tracking Report Feature Objectives Overview and Completed Features Objectives: Difference between pages

From JogampWiki
(Difference between pages)
Jump to navigation Jump to search
No edit summary
 
No edit summary
 
Line 1: Line 1:
This list exposes building blocks
Also see [[SW Tracking Report Feature Objectives Overview]] ...
for potential use and business case scenarios
using Java & JogAmp on Desktop and Embedded Devices.
 
Notably [[#Graph_UI|Graph UI]] could be of interest here?
 
Also see [[Completed Features Objectives]] ...


= Graph =
= Graph =
Line 27: Line 21:
Notably the ''Graph Curve Rendering'' is almost feature complete, as well as our own user input including gesture detection within NEWT.
Notably the ''Graph Curve Rendering'' is almost feature complete, as well as our own user input including gesture detection within NEWT.


;Parent Main Node
[{{SERVER}}/bugzilla/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cversion%2Cshort_desc%2Cchangeddate&component=core&component=Plugin&list_id=2265&product=GraphUI&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=DUPLICATE&resolution=WORKSFORME&resolution=MOVED All Resolved GraphUI]
: [{{SERVER}}/bugzilla/showdependencytree.cgi?id=803&hide_resolved=0 Dependency Tree]
: [{{SERVER}}/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&bug_status=RESOLVED&bug_status=VERIFIED&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cversion%2Cshort_desc%2Cchangeddate&component=core&component=Plugin&list_id=2265&product=GraphUI&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=DUPLICATE&resolution=WORKSFORME&resolution=MOVED All GraphUI]
<bugzilla>
    {
        "id":["803"],
        "include_fields":"id,version,product,component,priority,severity,status,summary"
    }
</bugzilla>


;Children blocking Parent
<bugzilla>
    {
        "blocks":["803"],
        "include_fields":"id,version,product,component,priority,severity,status,summary"
    }
</bugzilla>
;All of Product ''graphui''
<bugzilla>
<bugzilla>
     {
     {
        "status":["RESOLVED","VERIFIED"],
         "product":"graphui",
         "product":"graphui",
         "include_fields":"id,version,product,component,priority,severity,status,summary"
         "include_fields":"id,product,component,priority,severity,status,resolution,summary"
     }
     }
</bugzilla>
</bugzilla>


== Jogl / Graph ==
== Jogl / Graph ==
[{{SERVER}}/bugzilla/showdependencytree.cgi?id=1064&hide_resolved=0 Dependency Tree Graph Font Issues]
[{{SERVER}}/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&bug_status=RESOLVED&bug_status=VERIFIED&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cversion%2Cshort_desc%2Cchangeddate&component=graph&list_id=2264&product=Jogl&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=DUPLICATE&resolution=WORKSFORME&resolution=MOVED All Jogl Graph]


<bugzilla>
<bugzilla>
     {
     {
        "status":["RESOLVED","VERIFIED"],
         "product":"jogl",
         "product":"jogl",
         "component":"graph",
         "component":"graph",
Line 67: Line 42:
</bugzilla>
</bugzilla>


= OpenJFX =
== High DPI ==  
 
[https://jogamp.org/bugzilla//show_bug.cgi?id=607#c20 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 =
 
* [{{SERVER}}/bugzilla/showdependencytree.cgi?id=807&hide_resolved=0 Dependency Tree NEWT Input Devices]
* [{{SERVER}}/bugzilla/showdependencytree.cgi?id=814&hide_resolved=0 Dependency Tree NEWT Pointer Event]


;Parent Main Node
: [{{SERVER}}/bugzilla/showdependencytree.cgi?id=1373&hide_resolved=0 Dependency Tree]
<bugzilla>
<bugzilla>
     {
     {
         "product":["newt","jinput"],
         "id":["1373", "1374", "1322"],
        "version":["2.5.0","3.0.0","tbd"],
        "cf_type":"FEATURE",
         "include_fields":"id,version,product,component,priority,severity,status,summary"
         "include_fields":"id,version,product,component,priority,severity,status,summary"
     }
     }
</bugzilla>
</bugzilla>


= Vulkan  =
;Children blocking Parent
 
<bugzilla>
<bugzilla>
     {
     {
         "component":"vulkan",
         "blocks":["1373", "1374", "1322"],
        "cf_type":"FEATURE",
         "include_fields":"id,version,product,component,priority,severity,status,summary"
         "include_fields":"id,version,product,component,priority,severity,status,summary"
     }
     }
</bugzilla>
</bugzilla>


= Video Encoding/Decoding & Player =
== Java 11 ==
 
Across our releases, we supported video encoding and decoding (with a player)
based on either FFmpeg or Android's library as [https://youtu.be/4gWStKCioi8?t=132 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 [https://jogamp.org/bugzilla//buglist.cgi?bug_status=__open__&component=video&list_id=3053&product=Jogl related buglist]


;Parent Main Node
: [{{SERVER}}/bugzilla/showdependencytree.cgi?id=1363&hide_resolved=0 Dependency Tree]
<bugzilla>
<bugzilla>
     {
     {
         "component":"video",
         "id":["1363"],
         "include_fields":"id,version,product,component,priority,severity,status,summary"
         "include_fields":"id,version,product,component,priority,severity,status,summary"
     }
     }
</bugzilla>
</bugzilla>


= iOS Enhancements =
;Children blocking Parent
 
Early iOS support has been demonstrated in 2019
* [https://jausoft.com/blog/2019/06/17/jogamp-ios-arm64-bring-up/ iOS Arm64 bring-up]
* [https://jausoft.com/blog/2019/06/23/jogamp-ios-arm64-port-first-visuals/ iOS Arm64 Port: First Visuals]
* [https://jausoft.com/blog/2019/07/08/jogamp-ios-arm64-port-newt/ iOS Arm64 Port: NEWT]
 
Enhancing this port would allow to use JogAmp in a similar fashion as on Android,
but using an OpenJDK iOS build.
 
= [[SCC Overview|Source Certification Contract (SCC)]] =
 
[{{SERVER}}/bugzilla/showdependencytree.cgi?id=1368&hide_resolved=0 Dependency Tree]
 
[{{SERVER}}/bugzilla/show_bug.cgi?id=1368 Root Parent Entry]
 
<bugzilla>
    {
        "id":["1368", "1369"],
        "include_fields":"id,version,product,component,priority,severity,status,summary"
    }
</bugzilla>
 
= Misc =
 
<!-- bugzilla>
    {
        "product"!=["graphui","newt"],
        "component"!=["graph","vulkan"],
        "version":["2.5.0","3.0.0","tbd"],
        "cf_type":"FEATURE",
        "include_fields":"id,version,product,component,priority,severity,status,summary"
    }
</bugzilla-->
 
<bugzilla>
<bugzilla>
     {
     {
         "version":["2.5.0","3.0.0","tbd"],
         "blocks":["1363"],
        "cf_type":"FEATURE",
         "include_fields":"id,version,product,component,priority,severity,status,summary"
         "include_fields":"id,version,product,component,priority,severity,status,summary"
     }
     }
</bugzilla>
</bugzilla>

Revision as of 20:59, 23 September 2023

Also see SW Tracking Report Feature Objectives Overview ...

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.

All Resolved GraphUI

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 503 [1] => Service Unavailable ) ) 1


Jogl / Graph

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 503 [1] => Service Unavailable ) ) 1


High DPI

Parent Main Node
Dependency Tree

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 503 [1] => Service Unavailable ) ) 1


Children blocking Parent

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 503 [1] => Service Unavailable ) ) 1


Java 11

Parent Main Node
Dependency Tree

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 503 [1] => Service Unavailable ) ) 1


Children blocking Parent

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 503 [1] => Service Unavailable ) ) 1