LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

classic Classic list List threaded Threaded
42 messages Options
123
Reply | Threaded
Open this post in threaded view
|

LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
I'm not sure of the best way to go about it, but I'm investigating the possibility of developing an application for in field technician's to use on their phone.  The phones won't always have reception, so the phone client would need to be capable of caching a 3d model and operating disconnected, transmitting to the server when it becomes available.  The app would provide the technician the ability to associate photographs, sound, location and text with a component  from the 3d model.

Java SE Embedded is small and seems to offer the most capable platform for network comms, but it's headless.

LWUIT was developed primarily for phones and looks like it could be ported to use JOGL and NEWT

The Tizen runtime uses Enlightenment and Wayland, there doesn't appear to Java bindings available for elightenment, so these would need to be generated.

Any thoughts or suggestion's?  
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
Hi

Which kind of phones do you target? Actually, several middle-level and high-level APIs that use JogAmp under the hood provide their own GUI toolkits, for example Scene2D (LibGDX) and ardor3d-ui (JogAmp's Ardor3D Continuation).

Does NEWT work on the phones you target? A Wayland backend is planned, a contributor works on it.

Of course, you can use JogAmp's Scenegraph API too. Sven can talk about it better than me.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
Samsung's Tizen, is Linux with Wayland, Enlightenment and OpenGL ES 2.0

Tizen: Samsung Smart TV's, Gear (watch) and phones Z1 and Z3 (due out soon).

Looking at NEWT's C source code, at this stage it only appears to support X11 on Linux.

I've started reading the Nifty GUI manual.  I hadn't heard of andor3d-ui.  LibGDX is cross platform and looks well documented.

Tizen's documentation recommends using the Enlightenment C api, and to not access the underlying Wayland compositor directly.

I don't want my applications to be tied into the Tizen / Enlightenment platform, I'm looking for a cross platform well established window toolkit I can layer on top, but also be a good citizen and interact correctly with the device.

The 3D capability is required to view and annotate 3d models developed from CAD.

First impressions is a subset of the Tizen C api needs to be generated, then used as a back end for one of the UI tool kits?

Any thoughts on the amount of work required to port each toolkit and pro's and con's of each?  Also any references to docs on API back ends would be much appreciated.

Thanks,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
I know NiftyGUI, I made it work with JOGL 2 and another developer (Brian) has maintained its JOGL 2 backend. You'll have to remove a few classes in order not to use AWT, for example de.lessvoid.nifty.renderer.jogl.AwtToNiftyKeyCodeConverter. de.lessvoid.nifty.renderer.jogl.render.JoglCoreGL doesn't use the correct GL getters, it doesn't work with OpenGL ES but it should be easy to fix. You can contact the maintainers of LibGDX, they'll be happy to help you.

The wayland support is implemented in a separate project and we hope that it will be included in NEWT in several months :) Its contributor is often on our IRC channel.

LibGDX is very capable. I haven't tested its Scene2D API on a touch screen.

ardor3d-ui has no dependency on AWT, it can work with JavaSE Embedded. As JogAmp's Ardor3D Continuation is very modular, it's trivial to use with headless JREs, you just have to avoid using ardor3d-awt and ardor3d-jogl-awt. However, I have to remove a very few limitations to make it work correctly with OpenGL ES 1 and 2. I'm going to test on my Raspberry Pi.

The Wayland support should be enough to use Tizen. I'm not sure than you'll need to use anything specific to this operating system.

To sum up:
- FengGUI is abandoned
- Xith3D is almost no longer maintained
- Java3D can't work with OpenGL ES
- the JogAmp scenegraph API is a good candidate if you really want to use OpenGL ES 2 and if you don't need to support OpenGL ES 1
- NiftyGUI needs a few minor changes in its JOGL 2 backend to work with OpenGL ES 2 but it's untested on embedded devices
- LibGDX rocks, contact Xerxes on IRC, he knows if it's viable on embedded devices
- Unlicense is another solution: http://unlicense.developpez.com
- I need to make JogAmp's Ardor3D Continuation work on my Raspberry Pi before the end of October, it supports almost all kinds of components Swing supports except JTable, JList and JTree. Note that there are some nice ready-to-use manipulators in ardor3d-extras
- You absolutely need Wayland support whatever the solution you choose
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
Thanks Julien, sounds like libGDX or ardor3d-ui are the best candidates, I'm tending to lean towards ardor3d, I'm inteerested in your pi efforts and wayland  The 3d models I'll be using are stored in a proprietary format, I'll most likely need to convert to STEP, then to Callada, so models can be annotated before uploading.  I see there are Callada parsers written in Java, have you had any experience with any of them?  

The callada parsers i've looked at so far produce mutable object structures, I've found immutable structures with builders much more performant and scalable (at least for multi cpu's).  Any guidance or references for efficient 3d model memory representation for ardor3d will be much appreciated.   I see that Callada 1.5 uses RFC3986 URI, I've developed a standards compliant immutable implementation of RFC3986 (AL2 license), normalisation and equality is much faster than Java's URI.

which IRC channels should I use?

Thanks again,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
Hmm,

Looking at the source, collada's already done in ardor3d.

Cheers,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
In reply to this post by Peter
I know STEP, it's used in IFC. I wanted to support STEP and/or IFC 4 in JogAmp's Ardor3D Continuation but it would require a lot of work even with existing open source libraries in Java:
https://github.com/opensourceBIM/BIMserver

Collada has been supported by the legacy Ardor3D engine and JogAmp's Ardor3D Continuation for years but it supports Collada 1.3, maybe 1.4 but not Collada 1.5.

You can use this IRC channel:
http://webchat.freenode.net/?channels=jogamp

I have to install Debian on my Raspberry Pi 2 very soon. I want to fix OpenGL ES 1 support first. I can test it on my computer.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
In reply to this post by Peter
The remaining problems are:
- I have no idea of how to load a Collada model with LibGDX but it supports OpenGL ES 2
- JogAmp's Ardor3D Continuation relies on fixed pipeline emulation, I haven't used it correctly which explains why OpenGL ES 2 isn't supported yet. If OpenGL ES 2 is a must have for you and if you can't use OpenGL ES 1, you'll have to wait for some months.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
Tizen also supports OpenGL ES 1.1

Unfortunately the proprietary software used for 3d model development removed support for U3D only recently.

It's likely I'll find a conversion path, but it's not going to be as straightforward as I'd like.

Another STEP library can be found here: http://www.jsdai.net/

BIMServer looks interesting.

So it would appear that the major issue at present is NEWT support for Wayland.  I can probably prototype on the desktop using the suggested library's until NEWT-Wayland is released.

Thanks,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
Hi

Therefore, the lack of OpenGL ES 2 support isn't blocking :)

U3D is another exchange standard but it has a less wide adoption than Collada. JSDAI is a better choice than BIMServer if you only need STEP/EXPRESS support without IFC.

Have you tried OpenJDK or JavaSE for embedded on Tizen?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

zubzub
This post was updated on .
In reply to this post by Peter
Hi Peter,

I happen to be working on wayland bindings for Java.

Although it won't fix your problem directly. You might be able to use them to set up the (wayland) egl context/stack, and then use Newt/Jogl to do further "external" initialization. It might not be the best solution in the long term, but there's a good chance it can save you in the short term without the need to write any additional toolkit/layer/boilerplate code. Should you decide to go down this road, please keep me updated or ask for help on github or irc (#jogamp on freenode) as the egl part of those bindings is unfortunately badly (read not) tested (something I want to fix) but it *should* work.

https://github.com/Zubnix/wayland-java-bindings
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter.
In reply to this post by gouessej
I'll be attempting to run headless embedded java (Oracle) on the emulator this week, so will let you know it goes.

IFC is interesting, I haven't ruled it out, I'll need to learn more about it first though.

Thanks,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
Update:

I've downloaded the Tizen 2.3.1 Emulator, the emulator turns out to be x86, rather than ARM, which is somewhat unfortunate.  I have no troubles running jdk1.8.0_60 in this emulator.   I'll need to obtain hardware if I want to test ARM.

Strangely, policytool and jvisualvm were able to display their splash screens, before core dumping.

Java SE runs on mobile phone and watch profiles.

The bad news is, although the documentation indicates it supports OpenGL ES 1.1, the log from the emulator itself indicates it only supports OpenGL ES 2.0 and 3.0:

skin args: =========================================
width=480 height=800 skin.path=C:\tizen-sdk\platforms\mobile-2.3.1\emulator-resources\skins\mobile-480x800-3btn
skin args: =========================================
ram_size 20000000
device fd:352
End of VM create, id 0
nGL ES v1_CM - supported
INFO  - Guest OpenGL ES 2.0 - supported
INFO  - Guest OpenGL ES 3.0 - supported
INFO  - Host has hardware GL acceleration!
11:22:15.347135( 6960) [INFO:qemu_audio] Host audio out [winwave] is normal.
11:22:15.474147( 6960) [INFO:virtio-esm] initialize virtio-esm device
11:22:15.474147( 6960) [INFO:virtio-kbd] initialize virtio-keyboard device
11:22:15.475148( 6960) [INFO:virtio-evdi] initialize evdi device
11:22:15.475148( 6960) [INFO:emul_state] EMULATOR_PROFILE: mobile-2.3.1
11:22:15.475148( 6960) [INFO:pkgs] ADDON PATH: C:\tizen-sdk\tools\emulator\bin\..\..\..\platforms\mobile-2.3.1\emulator-images\add-ons
11:22:15.475148( 6960) [INFO:pkgs] Add-on Directory is empty. No package install is required.
11:22:15.475148( 6960) [INFO:maru-brightness] initialize maru-brightness device
11:22:15.475148( 6960) [INFO:virtio-vmodem] finish the vmodem device initialization.
11:22:15.476148( 6960) [INFO:hwkey] initialize the hwkey device
11:22:15.476148( 6960) [INFO:brillcodec] device initialization.
11:22:15.485149( 6960) [INFO:virtio-nfc] initialize nfc device
11:22:15.485149( 6960) [INFO:virtio-power] initialize virtio-power device
11:22:15.497150( 6960) [INFO:maru-camera] Device name : Integrated Webcam
11:22:15.503150( 6960) [INFO:maru-camera] PixelFormat: YUY2, Frame size: 640x480
11:22:15.503150( 6960) [INFO:maru-camera] PixelFormat: YUY2, Frame size: 160x120
11:22:15.503150( 6960) [INFO:maru-camera] PixelFormat: YUY2, Frame size: 320x180
11:22:15.503150( 6960) [INFO:maru-camera] PixelFormat: YUY2, Frame size: 320x240
11:22:15.503150( 6960) [INFO:maru-camera] PixelFormat: YUY2, Frame size: 424x240
11:22:15.503150( 6960) [INFO:maru-camera] PixelFormat: YUY2, Frame size: 640x360
11:22:15.503150( 6960) [INFO:maru-camera] PixelFormat: YUY2, Frame size: 640x480
11:22:15.504150( 6960) [INFO:maru-camera] PixelFormat: MJPG, Frame size: 848x480
11:22:15.504150( 6960) [INFO:maru-camera] PixelFormat: MJPG, Frame size: 960x540
11:22:15.504150( 6960) [INFO:maru-camera] PixelFormat: MJPG, Frame size: 1280x720
11:22:15.507151( 6960) [SEVERE:maru-camera] Elapsed time : 0.022002
11:22:15.508151( 6960) [INFO:maru-camera] initialize maru-camera device
11:22:15.509151( 6960) [INFO:touchscreen] initialize touchscreen device : 10
11:22:15.509151( 6960) [INFO:virtio-sensor] initialize virtio-sensor device
11:22:15.509151( 6960) [INFO:virtio-sensor] initialized sensor type: accel&geo&gyro&light&proxi&haptic&press&uv&hrm
11:22:15.509151( 6960) [INFO:virtio-sensor] sensor device capabilty enabled with 3df
11:22:15.509151( 6960) [INFO:virtio-jack] initialize virtio-jack device
11:22:15.509151( 6960) [INFO:virtio-jack] initialized jack type: earjack&charger&usb
11:22:15.509151( 6960) [INFO:virtio-jack] jack device capabilty enabled with 13
11:22:15 INFO  vigs_gl_backend_wgl_check_gl_version:163 - GL_VERSION forces OpenGL version to 2.1
11:22:15 INFO  vigs_gl_backend_init:2229 - VIGS_SYNC_READ_PIXELS: 1
11:22:15 INFO  vigs_device_init:442 - VIGS initialized
11:22:15 INFO  [0/0] yagl_egl_wgl_init_ext:1073 - WGL extensions: WGL_EXT_depth_float WGL_ARB_buffer_region WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_pixel_format WGL_ARB_pbuffer WGL_EXT_extensions_string WGL_EXT_swap_control WGL_EXT_swap_control_tear WGL_ARB_multisample WGL_ARB_pixel_format_float WGL_ARB_framebuffer_sRGB WGL_ARB_create_context WGL_ARB_create_context_profile WGL_EXT_pixel_format_packed_float WGL_EXT_create_context_es_profile WGL_EXT_create_context_es2_profile WGL_NV_DX_interop WGL_ARB_create_context_robustness
11:22:15 INFO  [0/0] yagl_egl_wgl_get_gl_version:188 - GL_VERSION forces OpenGL version to 2.1
11:22:18 INFO  [0/0] yagl_egl_wgl_config_enum:659 - WGL returned 24 configs, 24 are usable
11:22:18.123412( 6960) [INFO:display] init qemu display
11:22:18.123412( 6960) [INFO:maru_sdl] qemu_ds_sdl_switch : (640, 480)
11:22:18.123412( 6960) [INFO:maru_sdl] create blank screen : (480, 800)
11:22:18.124412( 6960) [INFO:main] Start skin
11:22:18.124412( 6960) [INFO:main] construct main window
11:22:18.124412( 6960) [INFO:skin_server] There is no .skinconfig.properties. skin_config_path:C:\tizen-sdk-data\emulator\vms\m-0924-1\.skinconfig.properties
11:22:18.124412( 6960) [INFO:skin_server] skin parameter key : width, value : 480
11:22:18.124412( 6960) [INFO:skin_server] skin parameter key : height, value : 800
11:22:18.124412( 6960) [INFO:skin_server] skin parameter key : skin.path, value : C:\tizen-sdk\platforms\mobile-2.3.1\emulator-resources\skins\mobile-480x800-3btn
11:22:18.124412( 6960) [INFO:skin_server] ignore_heartbeat : 0
11:22:18.124412( 6960) [INFO:skin_client] sleep for ready. count:1
11:22:18.125413( 7412) [INFO:skin_server] run skin server
11:22:18.125413( 7412) [INFO:skin_server] success to bind port[127.0.0.1:62736/tcp] for skin_server in host
11:22:18.125413( 7412) [INFO:skin_server] skin server start...port : 62736
11:22:18.125413( 7412) [INFO:skin_server] start accepting socket...
11:22:18.135414( 1336) [INFO:skin_client] run skin client
11:22:18.135414( 1336) [INFO:skin_client] [skin args 0] width=480
11:22:18.135414( 1336) [INFO:skin_client] [skin args 1] height=800
11:22:18.135414( 1336) [INFO:skin_client] [skin args 2] skin.path=C:\tizen-sdk\platforms\mobile-2.3.1\emulator-resources\skins\mobile-480x800-3btn
11:22:18.135414( 1336) [INFO:skin_client] bin directory : C:\tizen-sdk\tools\emulator\bin\
11:22:18.135414( 1336) [INFO:skin_client] skin command length : 410
11:22:18.135414( 1336) [INFO:skin_client] command for swt : java -jar -Djava.library.path="C:\tizen-sdk\tools\emulator\bin" "C:\tizen-sdk\tools\emulator\bin\emulator-skin.jar" vm.skinport=62736 uid=0 vm.path="C:\tizen-sdk-data\emulator\vms\m-0924-1" vm.baseport=26100 display.shm=false input.touch=true input.touch.maxpoint=10 proxy.addr= proxy.port= "width=480" "height=800" "skin.path=C:\tizen-sdk\platforms\mobile-2.3.1\emulator-resources\skins\mobile-480x800-3btn"
*********ReSet hax_vcpu->emulation_state
11:22:18 INFO  vigs_device_reset:484 - VIGS reset
11:22:18.138414( 6960) [INFO:touchscreen] reset the touchscreen device
11:22:18.138414( 6960) [INFO:maru-camera] Closed
11:22:18.138414( 6960) [INFO:maru-camera] reset maru-camera device
11:22:18.138414( 6960) [INFO:brillcodec] device reset
11:22:18.138414( 6960) [INFO:hwkey] reset hwkey device
11:22:18.138414( 6960) [INFO:virtio-vmodem] virtio_vmodem_reset.
11:22:18.138414( 6960) [INFO:virtio-kbd] reset keyboard device
11:22:18.146415( 1336) [INFO:skin_client] wait for single object..
11:22:19.972597( 7412) [INFO:skin_server] accept client sock : 1336
11:22:20.392639( 7412) [INFO:skin_server] == RECV read_cnt:12 uid:0, req_id:1, cmd:1, length:24 data read_cnt:24 RECV_SKIN_OPENED ==
11:22:20.392639( 7412) [INFO:emul_state] emulator window scale_factor : 0.500000
11:22:20.392639( 7412) [INFO:skin_operation] start display : handle_id=137480, display size=480x800, scale factor=0.500000, rotation=0, blank guide=1
11:22:20.392639( 7412) [INFO:emul_state] emulator window scale_factor : 0.500000
11:22:20.392639( 7412) [INFO:maru_sdl] maru sdl init
11:22:20.392639( 7412) [INFO:maru_sdl] register SDL environment variable. (SDL_WINDOWID = 137480)
11:22:20.392639( 7412) [INFO:emul_state] emulator graphic resolution : 480x800
11:22:20.393639( 7412) [INFO:maru_sdl] set PIXMAN_FILTER_FAST filter for image processing
11:22:20.393639( 7412) [INFO:maru_finger] multi-touch state initialization
11:22:20.393639( 7412) [INFO:maru_finger] maxTouchPoint : 10
11:22:20.393639( 7412) [INFO:maru_sdl] blank guide is on
11:22:20.448645( 7412) [INFO:skin_operation] interpolation enable : 1
11:22:20.448645( 7412) [INFO:maru_sdl] set PIXMAN_FILTER_BEST filter for image processing
11:22:20.607661( 6960) [INFO:maru_sdl] SDL_Init
11:22:20.624662( 6960) [INFO:maru_sdl] sdl update thread create
11:22:20.624662( 6960) [INFO:maru_sdl] Set up a video mode with the specified width, height and bits-per-pixel
11:22:20.624662( 6960) [INFO:maru_sdl] SDL_SetVideoMode
11:22:22.486849( 7412) [INFO:skin_operation] skin grabbing enable : 1
11:22:22.546855( 7412) [INFO:skin_operation] skin grabbing enable : 0
11:22:27.044304( 5068) [INFO:virtio-kbd] reset keyboard device
11:22:27.047305( 5068) [INFO:virtio-vmodem] virtio_vmodem_reset.
11:22:27.049305( 5068) [INFO:hwkey] reset hwkey device
11:22:27.056306( 5068) [INFO:touchscreen] reset the touchscreen device
11:22:27.157316( 6960) [INFO:maru_sdl] qemu_ds_sdl_switch : (480, 800)
11:22:27.157316( 6960) [INFO:maru_sdl] create SDL screen : (480, 800)
11:22:27.287329( 5068) [INFO:maru-brightness] current brightness level = 100
11:22:32.566857( 6960) [INFO:skin_server] notify_sdb_daemon_start
11:22:32.570857( 6960) [INFO:sdb] Added new sdb client. ip: 127.0.0.1, port: 26097, serial: emulator-26101
11:22:32.570857( 6960) [INFO:sdb] send 001ahost:sync:emulator-26101:0 to client 127.0.0.1
11:22:32.570857( 6960) [INFO:skin_server] notify_sdb_daemon_start
11:22:37 INFO  [2221/2221] yagl_egl_wgl_config_enum:659 - WGL returned 24 configs, 24 are usable
11:22:38 INFO  [2222/2222] yagl_egl_wgl_config_enum:659 - WGL returned 24 configs, 24 are usable
11:22:41.244724( 5068) [INFO:ecs] emuld connection is 1, with sender 1, profile mobile-2.3.1
11:22:41.244724( 5068) [INFO:ecs] emuld connection is 1, with sender 0, profile mobile-2.3.1
11:22:41 INFO  [2235/2235] yagl_egl_wgl_config_enum:659 - WGL returned 24 configs, 24 are usable
11:22:42 INFO  [2280/2280] yagl_egl_wgl_config_enum:659 - WGL returned 24 configs, 24 are usable
11:22:47 INFO  [2361/2361] yagl_egl_wgl_config_enum:659 - WGL returned 24 configs, 24 are usable
11:22:51.610761( 5068) [INFO:ecs] emulator booting done.
11:22:51.610761( 5068) [INFO:emul_state] boot completed!
11:22:54.767076( 7412) [INFO:skin_operation] skin grabbing enable : 1
11:22:54.768076( 7412) [INFO:skin_operation] HW Key : event_type=1, keycode=139
keycode=139, event_type=1, event_queue_cnt=1, vqidx=0
11:22:54.861086( 7412) [INFO:skin_operation] skin grabbing enable : 0
11:22:54.861086( 7412) [INFO:skin_operation] HW Key : event_type=2, keycode=139
keycode=139, event_type=2, event_queue_cnt=1, vqidx=1
11:23:44.134013( 6564) [INFO:skin_server] [HB] recv_heartbeat_count : 2
11:24:07.025301( 7412) [INFO:skin_operation] skin grabbing enable : 1
11:24:07.087308( 7412) [INFO:skin_operation] skin grabbing enable : 0
11:24:34.139013( 6564) [INFO:skin_server] [HB] recv_heartbeat_count : 2

JVisualVM running from the shell:

sh-3.2# jvisualvm
crashed [1443069820] processname=java, pid=2619, tid=2619, signal=6[sys-assert]d
laddr returnes error!
[sys-assert]dladdr returnes error!
... repeated many times ...
[sys-assert]dladdr returnes error!
/usr/local/java/jdk1.8.0_60/lib/visualvm/platform/lib/nbexec: line 423:  2619 Ab
orted                 (core dumped) "/usr/local/java/jdk1.8.0_60/bin/java" -Djdk
.home="/usr/local/java/jdk1.8.0_60" -classpath "/usr/local/java/jdk1.8.0_60/lib/
visualvm/platform/lib/boot.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platform
/lib/org-openide-modules.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platform/l
ib/org-openide-util-lookup.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platform
/lib/org-openide-util.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platform/lib/
locale/boot_ja.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platform/lib/locale/
boot_zh_CN.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platform/lib/locale/org-
openide-modules_ja.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platform/lib/loc
ale/org-openide-modules_zh_CN.jar:/usr/local/java/jdk1.8.0_60/lib/visualvm/platf
orm/lib/locale/org-openide-util-lookup_ja.jar:/usr/local/java/jdk1.8.0_60/lib/vi
sualvm/platform/lib/locale/org-openide-util-lookup_zh_CN.jar:/usr/local/java/jdk
1.8.0_60/lib/visualvm/platform/lib/locale/org-openide-util_ja.jar:/usr/local/jav
a/jdk1.8.0_60/lib/visualvm/platform/lib/locale/org-openide-util_zh_CN.jar:/usr/l
ocal/java/jdk1.8.0_60/lib/dt.jar:/usr/local/java/jdk1.8.0_60/lib/tools.jar" -Dne
tbeans.default_userdir_root="/root/.visualvm" -Dnetbeans.dirs="/usr/local/java/j
dk1.8.0_60/lib/visualvm/visualvm:/usr/local/java/jdk1.8.0_60/lib/visualvm/profil
er:" -Dnetbeans.home="/usr/local/java/jdk1.8.0_60/lib/visualvm/platform" '-clien
t' '-Xms24m' '-Xmx256m' '-Dsun.jvmstat.perdata.syncWaitMs=10000' '-Dsun.java2d.n
oddraw=true' '-Dsun.java2d.d3d=false' '-Dnetbeans.keyring.no.master=true' '-Dplu
gin.manager.install.global=false' -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPa
th="/root/.visualvm/8u40/var/log/heapdump.hprof" org.netbeans.Main --cachedir "/
root/.cache/visualvm/8u40" --userdir "/root/.visualvm/8u40" "--branding" "visual
vm" 0<&0
sh-3.2#

Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
In reply to this post by zubzub
Thanks Zubzub,

Do you think I should encapsulate the wayland java bindings using Newt/JOGL API?

Regards,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
In reply to this post by Peter
Peter wrote
The bad news is, although the documentation indicates it supports OpenGL ES 1.1, the log from the emulator itself indicates it only supports OpenGL ES 2.0 and 3.0.
Xerxes has planned to write a simple example based on a rudimentary example I wrote several years ago, it will help me to understand how to use the fixed pipeline emulation with ES 2. I can't guarantee that I will succeed in doing it in an acceptable time frame whereas I think that only a very few things prevent me from supporting ES 1.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

zubzub
In reply to this post by Peter
Hi Peter,

What you need to do is initialize the whole wayland EGL stack. That is: get an egl display, context, surface handle & others(?). If you want to do that you will need to call some EGL specific functions too. I believe those are available in jogl. Google can show you how to do EGL initialization on wayland or have a look at this: http://cgit.freedesktop.org/wayland/weston/tree/clients/simple-egl.c

Once you have done that, you need to initialize jogl with those handles. I'm not familiar exactly how you can do that, but I do believe it is possible (something with external context. Maybe goussej can provide some input how to initialize jogl without newt?). Another thing is user input. The wayland java bindings will be able to give you input but it's pretty rudimentary (you will need xkbcommon if you want to properly use keyboard input, however on a phone I imagine touch is enough...).

This approach however does not use newt as newt has no idea how to either initialize the wayland egl stack (yet) nor how to handle wayland input events (yet).
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
In reply to this post by gouessej
I found this article interesting: http://aras-p.info/texts/VertexShaderTnL.html

Would it be more beneficial to a wider audience if emulation was performed in JOGL, by emulating the OpenGL ES 1 API?

Or would a separate emulation compatibility layer library that supported the previous JOGL version API be used with the latest version of JOGL?

Regards,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

Peter
In reply to this post by zubzub
Thanks Zubzub,

Interesting, I'm curious to read Julien's thoughts.

Regards,

Peter.
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
This post was updated on .
In reply to this post by Peter
JOGL 2 supports OpenGL 1.1 to 4.x and OpenGL ES 1 to 3. This is mostly a low level binding with some nice optional helpers and an excellent cross-platform windowing toolkit. JogAmp's Ardor3D Continuation is an engine, an higher level scenegraph API based on JOGL written mostly with the fixed pipeline in mind. There is already an emulation of the fixed pipeline in JOGL, see PMWMatrix, FixedFunctionUtil and ImmModeSink. I used PMWMatrix without FixedFunctionUtil, that's why the current ES 2 code path within JogAmp's Ardor3D Continuation isn't ready for the prime time. The ES 1 code path has a very few weaknesses, it is "fixable" within a few weeks or days.

Edit.: It reminds me that I have to update JogAmp's Ardor3D user's guide.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: LWUIT NEWT JOGL Enlightenment Wayland - Tizen Phone

gouessej
Administrator
In reply to this post by Peter
ES 1 and ES2 seem to work with JogAmp's Ardor3D Continuation, I have to commit a few changes and I have to wait for a more recent build (Mark please) on Maven so that I can use it in this engine because if you use it with the version mentioned in the pom file, you'll be blocked by a bug fixed later in the image type detection and the program will stop working because the AWT image loader uses a strange format unsupported by ES 1... I had to cheat a bit by passing the file suffix in order to check that the rest works.

I have ordered a 64 GB Micro SD card for my Raspberry Pi 2, I'll test JogAmp's Ardor3D Continuation on it next week.

My code contains a workaround for this bug:
https://jogamp.org/bugzilla/show_bug.cgi?id=1045

I'll have to fix it later to improve a bit the performance of the mipmap management by using GLU.
Julien Gouesse | Personal blog | Website
123