#jogamp @ irc.freenode.net - 20160914 05:05:14 (UTC)


20160914 05:05:14 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20160913050514.html
20160914 05:05:14 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20160914050514.html
20160914 07:08:45 * monsieur_max (~maxime@anon) has joined #jogamp
20160914 07:11:07 * Eclesia (~husky@anon) has joined #jogamp
20160914 07:11:50 <Eclesia> o/
20160914 09:46:16 <guillaum1> hey
20160914 09:49:24 <zubzub> hi
20160914 10:08:03 <monsieur_max> what a lively channel ;)
20160914 10:15:12 <xranby> hi
20160914 11:00:52 <zubzub> monsieur_max: make sure you only talk about jogl though
20160914 12:00:14 * Eclesia *pom pom pom*
20160914 13:06:07 * guillaum1 just reads jogamp irc logs and feels a tension in the air
20160914 13:07:13 <zubzub> guillaum1: not really, just one person afaik
20160914 13:08:00 <xranby> Do someone have a jogamp question?
20160914 13:15:38 <zubzub> when will it support wayland? ;0
20160914 13:21:32 <xranby> zubzub: in release 2.4.0
20160914 13:21:49 <xranby> http://jogamp.org/wiki/index.php/SW_Tracking_Report_Objectives_for_the_release_2.4.0
20160914 13:24:18 <guillaum1> Impressive list
20160914 13:26:11 <monsieur_max> guillaum1: yeah, but not many FIXED ... this means that 2.4.0 will not be released anytime soon
20160914 13:29:35 <xranby> usually the fast releases are bugfix releases
20160914 13:29:45 <xranby> however the last release is quite stable
20160914 13:30:00 <xranby> the time between major releases is naturally longer
20160914 13:32:55 <zubzub> xranby: supporting wayland is like major thing
20160914 13:33:11 <zubzub> and gluegen is not really up to the task of creating bindings for it
20160914 13:33:17 <zubzub> not easily at least
20160914 13:33:31 <xranby> tht is not the same thing as not up for the task
20160914 13:33:47 <zubzub> well it has no support for function pointers implemented in java faik
20160914 13:33:49 <xranby> maybe gluegen does a better binding compared to using FFI
20160914 13:34:26 <zubzub> plus you would need to generate code from the xml, that or base youreslf on the generated C code
20160914 13:34:47 <zubzub> better than FFI?
20160914 13:35:13 <zubzub> that's for gluegen
20160914 13:35:58 <zubzub> then you'd need to adept newt too
20160914 13:36:18 <zubzub> doable yes, easy, no unfortunetely :(
20160914 13:36:23 <xranby> https://github.com/sgothel/gluegen/blob/master/src/java/com/jogamp/gluegen/procaddress/ProcAddressCMethodBindingEmitter.java
20160914 13:37:29 <zubzub> xranby: afaik that's for C func pointers invoked from java
20160914 13:37:46 <zubzub> not java implemented methods exposed as C func pointers
20160914 13:39:01 <zubzub> something that is required for wayland
20160914 13:39:20 <xranby> in jogl the usual way is to implement an interface such as the GLEventListener to do callbacks in a safe way
20160914 13:39:21 <zubzub> I know because I once started/tried to port it :)
20160914 13:40:10 <xranby> maybe we need a new insterface such as WaylandEventListener ?
20160914 13:40:14 <xranby> interface
20160914 13:40:36 <zubzub> yeah, you'd need quite a few
20160914 13:40:52 <zubzub> at least 5(?) I believe
20160914 13:41:02 <xranby> 5 interfaces is doable
20160914 13:41:32 <zubzub> sure, but you'd have to do it manually :)
20160914 13:41:32 <xranby> for the end user you likely only need to handle one while the binding deals with the window handling using the intermediate interfaces
20160914 13:41:48 <zubzub> for the end user using newt+jogamp you need none :)
20160914 13:42:05 <xranby> exactly you only use the newt glwindow with the GLEventListener
20160914 13:42:16 <zubzub> all callback would need to implemented and used by newt
20160914 13:42:32 <xranby> sure... same thing with the x11 bindings callbacks etc
20160914 13:42:40 <xranby> and i belive x11 is a more complex binding
20160914 13:42:52 <zubzub> it is, but the protocol mechanism is simpler
20160914 13:43:04 <zubzub> x11 is just sends messge, receive mesage
20160914 13:44:00 <zubzub> btw 5 callbacks you need to implement is for when you generate java code from the protocol xlm
20160914 13:44:07 <zubzub> *xml
20160914 13:44:23 <zubzub> if you base yourself on the pure C wayland lib
20160914 13:44:28 <zubzub> then you need
20160914 13:44:30 <zubzub> err
20160914 13:44:31 <zubzub> 100+?
20160914 13:44:58 <zubzub> no ok maybe 50 or 60
20160914 13:45:03 <zubzub> a lot at least
20160914 13:45:44 <zubzub> the way wayland C lib works is by letting you implement a C style interface
20160914 13:46:20 <zubzub> which is defined by a struct that needs to have function pointers implemented by you
20160914 13:46:34 <zubzub> so that's why you get the high number
20160914 13:47:44 <zubzub> you could also take my wayland java binding generator and replace my JNA clone (jaccall) with gluegen and implement the 5 or so callbacks yourself
20160914 13:48:31 <xranby> is there any issues for gluegen to parse the https://github.com/nobled/wayland/blob/master/src/wayland-client.h ?
20160914 13:48:59 <xranby> i belive jogamps goal is to have a newt wayland client
20160914 13:49:02 <zubzub> that's just the stub header
20160914 13:49:15 <zubzub> when you build the code it generated a client protocol header
20160914 13:49:34 <xranby> https://jan.newmarch.name/Wayland/ProgrammingClient/
20160914 13:49:37 <zubzub> (with a million function prototypes) :)
20160914 13:52:00 <zubzub> xranby: cat /usr/include/wayland-client-protocol.h
20160914 13:55:00 <xranby> looks like mostely inline funtions to use the wl_proxy* functions in wayland-client.h
20160914 13:55:17 <xranby> with different arguments
20160914 13:56:33 <zubzub> yes that's for outgoing messages
20160914 13:56:34 <xranby> hence only syntactical sugar for the wayland-client interface
20160914 13:56:51 <zubzub> for incoming messages it calls the function pointers that you have to set
20160914 13:57:05 <xranby> and there you need a java interface
20160914 13:57:06 <zubzub> eg struct wl_output_listener
20160914 13:57:29 <xranby> java interfaces is java's ways to do functional code even before java 8
20160914 13:58:00 <zubzub> I know but those java interfaces would have to be manually created if you go the pure gluegen way
20160914 13:58:27 <xranby> doable
20160914 13:59:23 <xranby> similar in architecture like the GLEventListener
20160914 14:25:55 <zubzub> or
20160914 14:26:01 <zubzub> git clone wayland-java-bindings
20160914 14:26:12 <zubzub> replace all jaccall packages with gluegen variants
20160914 14:26:14 <zubzub> done
20160914 14:31:34 * xranby (~xranby@anon) Quit (Quit: Leaving.)
20160914 15:46:10 * Eclesia (~husky@anon) has left #jogamp
20160914 15:52:22 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160914 17:15:58 * rmk0 (~rmk0@anon) Quit (Remote host closed the connection)
20160914 17:23:27 * SHC (~quassel@anon) has joined #jogamp
20160914 18:01:17 * monsieur_max (~maxime@anon) has joined #jogamp
20160914 19:00:31 * rmk0 (~rmk0@anon) has joined #jogamp
20160914 19:00:31 * rmk0 (~rmk0@anon) Quit (Changing host)
20160914 19:00:31 * rmk0 (~rmk0@anon) has joined #jogamp
20160914 19:33:35 * SHC (~quassel@anon) Quit (Remote host closed the connection)
20160914 20:32:34 * rmk0 (~rmk0@anon) Quit (Quit: Lost terminal)
20160914 20:35:11 * rmk0 (~rmk0@anon) has joined #jogamp
20160914 20:49:06 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160915 05:05:15 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20160915050515.html