#jogamp @ irc.freenode.net - 20170114 05:06:06 (UTC)
20170114 05:06:06 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20170113050606.html
20170114 05:06:06 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20170114050606.html
20170114 06:53:53 * philjord (65629fe8@anon) Quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
20170114 06:54:04 * philjord (65629fe8@anon) has joined #jogamp
20170114 06:54:54 * philjord (65629fe8@anon) Quit (Client Quit)
20170114 07:56:06 * monsieur_max (~maxime@anon) has joined #jogamp
20170114 08:19:09 * caelum19 (~Caelum@anon) has joined #jogamp
20170114 08:20:39 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20170114 09:00:07 * caelum19 (~Caelum@anon) Quit (Quit: Leaving.)
20170114 10:13:16 * monsieur_max (~maxime@anon) has joined #jogamp
20170114 10:22:48 * elect (~elect@anon) has joined #jogamp
20170114 10:23:22 <elect> > <gouessej> elect: "bruce-, bigpet, caelum19, frobnic, monsieur_max, rmk0, zubzub"? What should I understand? My contributions aren't welcome, are they?
20170114 10:23:47 <elect> that those are those who where online at the time of writing
20170114 10:24:21 <elect> if you observe, they are also listed in alphabetic order
20170114 10:25:13 * bigpet (uid25664@anon) has left #jogamp
20170114 10:25:15 <elect> moreover, I already know you are interested and I have your email
20170114 10:25:28 <elect> you were obviously "in" by default
20170114 10:42:17 * elect (~elect@anon) Quit (Ping timeout: 245 seconds)
20170114 12:27:25 * elect (~elect@anon) has joined #jogamp
20170114 13:00:13 * elect (~elect@anon) Quit (Ping timeout: 245 seconds)
20170114 16:27:57 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20170114 17:39:46 * monsieur_max (~maxime@anon) has joined #jogamp
20170114 18:14:10 * caelum19 (~Caelum@anon) has joined #jogamp
20170114 18:35:59 * caelum19 (~Caelum@anon) Quit (*.net *.split)
20170114 18:38:03 * caelum19 (~Caelum@anon) has joined #jogamp
20170114 18:48:19 * Eclesia (~eclesia@anon) has joined #jogamp
20170114 18:49:02 <Eclesia> o/
20170114 19:15:17 * elect (~elect@anon) has joined #jogamp
20170114 19:33:50 * Eclesia *pom pom pom*
20170114 19:34:25 * gouessej (5279cd88@anon) has joined #jogamp
20170114 19:34:34 <gouessej> hi
20170114 19:35:06 <gouessej> elect: Thank you for the clarification
20170114 19:35:34 <elect> yup
20170114 19:35:47 <elect> I am pretty excited
20170114 19:35:51 <gouessej> We (mainly Phil) have to deal with the next version of Java3D too
20170114 19:35:54 <elect> sven was too
20170114 19:36:03 <elect> I am so glad!
20170114 19:36:20 <elect> could we include him too?
20170114 19:36:24 <gouessej> Should we push our changes into Sven's repository then?
20170114 19:36:32 <gouessej> Yes, why not?
20170114 19:36:33 <elect> we'll discuss in the email
20170114 19:36:38 <elect> do you have his email?
20170114 19:36:52 <gouessej> Yes, I can send it to you
20170114 19:37:03 <elect> perfect
20170114 19:37:18 <elect> I'll send it by this evening hopefully :)
20170114 19:38:14 <gouessej> Then, I'll make a pull request with my few changes. Your fixes are more than welcome (of course)
20170114 19:38:48 <elect> yeah
20170114 19:38:57 <elect> I just need to make them.. :p
20170114 19:39:10 <Eclesia> is jogl back on rails ?
20170114 19:40:26 <elect> yeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeees
20170114 19:40:38 * Eclesia clap clap clap clap clap \o/
20170114 19:40:40 <elect> Eclesia, shall I put you too on the cc?
20170114 19:41:26 <elect> however, not @100%, but it's a start
20170114 19:41:27 <Eclesia> well, you know my contributions are limited to 'public domain'. I'll help on the side line ^^
20170114 19:41:40 <elect> better than nothing
20170114 19:41:41 <gouessej> Eclesia: In my humble opinion, it would be still more viable to drive JogAmp easier to maintain
20170114 19:42:16 <elect> one of the reasons we are in this situation is because Sven did a 24/7 work
20170114 19:42:24 <elect> and contributions were 1%
20170114 19:42:25 <gouessej> Yes
20170114 19:42:46 <elect> it's time to make him feel our supports
20170114 19:43:15 <gouessej> but personally, I'm already responsible for engine support. Sometimes, it's peaceful. Sometimes, it's not, I spend weeks to fix bugs or implement new features
20170114 19:43:49 <gouessej> JogAmp must become easier to maintain
20170114 19:44:16 <gouessej> We must find a solution to be able to build it without Sven's infrastructure
20170114 19:44:17 <elect> yep
20170114 19:44:52 <elect> I hope to find some time to concordate with Sven and learn how to implement new gl extension with gluegen..
20170114 19:44:59 <elect> by myself
20170114 19:45:20 <gouessej> On the short term, discussing about using his infrastructure is acceptable but on the long term, we'll have to find a better solution
20170114 19:45:50 <elect> totally agree
20170114 19:47:16 <gouessej> I'd like to find something similar to JNDT but for bindings, being able to call C APIs in Java without having tons of arch/OS combination
20170114 19:47:17 <gouessej> s
20170114 19:49:30 <gouessej> zubzub: Would jaccall help to achieve it?
20170114 19:56:03 <gouessej> zubzub: LibFFI supports Windows, why is difficult to implement to make Jaccall work under Microsoft Windows?
20170114 19:56:12 <gouessej> "what"
20170114 19:58:39 <Eclesia> if jacall use libffi, jnr use it too. so I believe you will hit a wall on android
20170114 19:59:38 <Eclesia> what about a mix ? libffi for win/linux/mac and jni or other for obscure OS ?
20170114 20:02:02 <gouessej> libffi is already used inside Dalvik Virtual Machine
20170114 20:02:16 <gouessej> libffi-iphone works on IPhone too
20170114 20:09:59 <gouessej> bye
20170114 20:10:03 * gouessej (5279cd88@anon) Quit (Quit: Page closed)
20170114 20:14:23 * elect (~elect@anon) Quit (Ping timeout: 245 seconds)
20170114 20:31:10 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20170114 20:48:47 <zubzub> gouessej: it's not difficult, it just needs to happen :)
20170114 20:49:17 <zubzub> the difficulty is basically in providing libffi inside the jar
20170114 20:49:47 <zubzub> ideally the jaccall native lib would be a patch on libffi and libffi as a whole would be bundled for all platforms
20170114 20:51:57 <zubzub> Eclesia: I'm not aware as to why jnr doesn't work on android
20170114 20:52:03 <zubzub> but libffi shouldn't be the reason
20170114 20:52:09 <zubzub> my guess is it uses jdk internals
20170114 20:52:54 * elect (~elect@anon) has joined #jogamp
20170114 20:53:46 <zubzub> an extra benefit of jaccall over jna (and jnr too I believe) is that is uses (close to) no java reflection
20170114 20:54:10 <zubzub> by leveraging compile time annotation processing with code generation
20170114 20:54:22 <zubzub> which should be a huge bonus on android
20170114 20:55:46 <zubzub> another thing it does far better than jna is that it uses zero copy between java & native
20170114 20:55:49 <zubzub> something jnr does too
20170114 20:56:24 <zubzub> a struct lives in native memory, always, and is not copied to the java side and vice versa on every native call
20170114 20:58:27 <zubzub> there are basically only 2 things left to reach near maximum performance
20170114 20:58:43 <zubzub> use sun.misc.Unsafe for native mem read/write
20170114 20:58:49 <zubzub> which is already done but lives in a branch
20170114 21:00:09 <zubzub> second is a optimization to elimnate a small switch statement (info can be derived once, so the swtich doesnt need to be invoked each time) when invoking a native method
20170114 21:00:51 <zubzub> if you want to go further, which is possible, you need to write custom assembly
20170114 21:02:28 <zubzub> after that, to reach parity with gluegen, a jcpp generator needs to be written that outputs jaccall code
20170114 21:03:00 <zubzub> all these things should be doable in a couple of full time weeks (probably less)
20170114 21:04:52 <zubzub> once finished you probably have the fastest, most functionally complete no-jni java/native bridge
20170114 21:05:23 <zubzub> unless jnr gets special treatment and is able to access jit internals
20170114 21:07:36 <zubzub> should someone doubt the battle testedness
20170114 21:08:05 <zubzub> there are the native libs I hand wrote bindings-as-needed for: https://github.com/udevbe/westford/tree/master/compositor/src/main/java/org/westford/nativ
20170114 21:08:22 <zubzub> all of them work without a glitch
20170114 21:51:31 * elect (~elect@anon) Quit (Ping timeout: 240 seconds)
20170115 00:06:48 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20170115 00:27:38 * caelum19 (~Caelum@anon) Quit (Quit: Leaving.)
20170115 05:06:06 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20170115050606.html