#jogamp @ irc.freenode.net - 20141008 05:05:54 (UTC)


20141008 05:05:54 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20141007050554.html
20141008 05:05:54 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20141008050554.html
20141008 06:17:25 * monsieur_max (~maxime@anon) has joined #jogamp
20141008 06:31:22 * hija (~hija@anon) has joined #jogamp
20141008 06:31:35 * eclesia (~husky@anon) has joined #jogamp
20141008 06:31:43 <eclesia> good morning
20141008 06:41:41 <sgothel> goody
20141008 06:49:50 * doev (~doev@anon) has joined #jogamp
20141008 06:50:29 * doev (~doev@anon) Quit (Read error: Connection reset by peer)
20141008 07:09:02 * hija (~hija@anon) Quit (Quit: hija)
20141008 07:35:45 <xranby> good morning
20141008 07:52:09 * hija (~hija@anon) has joined #jogamp
20141008 07:52:27 * xranby (~xranby@anon) Quit (Ping timeout: 244 seconds)
20141008 07:53:41 * hija (~hija@anon) Quit (Client Quit)
20141008 07:55:16 * xranby (~xranby@anon) has joined #jogamp
20141008 08:34:19 * gouessej (5ee4b442@anon) has joined #jogamp
20141008 08:34:24 <gouessej> Hi
20141008 08:35:53 <gouessej> sgothel: You seemed to be skeptical about foreign packaging, why?
20141008 09:13:38 <xranby> gouessej: i am not against forreign packaging, but we surely has to limit the supported scope
20141008 09:14:16 <xranby> what a user can do is always greater than what the project offers
20141008 09:14:21 <gouessej> xranby: Can you elaborate?
20141008 09:14:28 <xranby> thus we do not want to limit the user
20141008 09:15:07 <xranby> at the same time we do not want to spend resources generating officialy supported forreign packages of jogamp
20141008 09:15:20 <xranby> the wiki is a good compromise
20141008 09:15:25 <xranby> it describe what is possible
20141008 09:15:45 * jvanek (jvanek@anon) has joined #jogamp
20141008 09:15:52 <xranby> without putting it in the "official" jogamp documentation
20141008 09:16:12 <xranby> the official jogamp documentation is what is shipped with the release archive
20141008 09:17:10 <gouessej> ok
20141008 09:17:35 <gouessej> but I don't see why providing RPMs and DEBs would limit the use
20141008 09:18:27 <xranby> if we start to offer prebuilt RPM's and DEB's then we need to test them on all sorts of systems
20141008 09:18:35 <gouessej> I admit that respecting the guidelines of each distro can be very difficult
20141008 09:19:47 <gouessej> you're right but if we don't provide those packages, nobody will be able to put a game based on JOGL into an official repository
20141008 09:20:28 <gouessej> or it will be up to the developers to make them
20141008 09:20:29 <xranby> debian maintains its own jogl2 deb packages
20141008 09:20:35 <xranby> based on jogamp
20141008 09:20:50 <xranby> i think its the distributions choice
20141008 09:21:02 <xranby> your instructions are great
20141008 09:21:08 <gouessej> ok I will try to find an acceptable solution
20141008 09:21:15 <gouessej> thanks
20141008 09:21:16 <xranby> it show how to package a single application into a deb or rpm
20141008 09:21:23 <xranby> for easy deployment
20141008 09:21:59 <gouessej> Maybe I should provide some instructions to build packages for JOGL itself
20141008 09:22:04 <xranby> the downside is that they depend on the "fat jar" deployment option that makes bugreports from these users harder
20141008 09:22:14 <gouessej> it's easy to "fix"
20141008 09:22:28 <gouessej> you just put several JARs instead of a single one
20141008 09:23:42 <xranby> if you ask me, i would like the native library files inside the native jars files to have conflict free tree structure
20141008 09:24:27 <xranby> so that you can easier create the fat jar
20141008 09:25:14 <xranby> (11:22:29) gouessej: you just put several JARs instead of a single one <- this only work if you have the eclipse magic classloader
20141008 09:25:31 <xranby> that allows jars to be put inside other jars
20141008 09:26:14 <xranby> for the default java classloader you have to use multiple jars or the "fat jar" layout
20141008 09:26:19 <gouessej> I don't suggest to put JARs inside JARs
20141008 09:27:26 <gouessej> I suggest to put each separate JAR into each package
20141008 09:28:28 <xranby> https://gist.github.com/xranby/e862f3c5f08188b4985e <- almost there: robovm jogl.debug=true run
20141008 09:29:04 <gouessej> :)
20141008 09:29:08 <xranby> all jogamp natives loaded and used, it "only" failed to open the system opengl implementation
20141008 09:29:25 <xranby> probably caused by me trying to run 32bit code on a system with 64bit opengl implementation
20141008 09:37:20 * xranby (~xranby@anon) Quit (Ping timeout: 244 seconds)
20141008 09:51:21 * xranby (~xranby@anon) has joined #jogamp
20141008 09:56:00 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20141008 10:03:59 <xranby> robovm application footprint:
20141008 10:04:06 <xranby> 27mb with debug info
20141008 10:04:12 <xranby> 15mb stripped
20141008 10:04:34 <xranby> 6mb after upx -9 compression
20141008 10:05:42 <xranby> this is using jogl-all
20141008 10:06:13 <xranby> thus it can be made smaller by using atomic deployment
20141008 10:14:47 <gouessej> Do you really need AWT?
20141008 10:20:30 <xranby> i do not need awt
20141008 10:21:58 <xranby> https://gist.github.com/xranby/e862f3c5f08188b4985e <- system GL implementation probed sucessfully on 32bit system
20141008 10:22:18 <xranby> unfortunally something broke at the end
20141008 10:24:01 * kermyt (~kermyt@anon) Quit (Ping timeout: 260 seconds)
20141008 10:25:55 * kermyt (~kermyt@anon) has joined #jogamp
20141008 10:28:37 <xranby> good news: mapping up all GLProfiles for OpenGL ES 2 use took only 0.251s
20141008 10:28:49 <xranby> the bad news: the unexpected sigaport at the end
20141008 10:28:57 <xranby> sigabort
20141008 10:31:17 <xranby> SharedResourceRunner.getOrCreateShared() :0: trying - main
20141008 10:31:25 <xranby> Cannot detach thread when there are non native frames on the call stack
20141008 10:31:26 <xranby> Avbruten (SIGABRT)
20141008 10:41:07 * xranby (~xranby@anon) Quit (Ping timeout: 272 seconds)
20141008 10:53:07 * xranby (~xranby@anon) has joined #jogamp
20141008 10:59:03 <xranby> doh... have forgotten to force compilation of all javax.media.**
20141008 11:06:52 * xranby (~xranby@anon) Quit (Ping timeout: 240 seconds)
20141008 11:11:05 * bbbruce_ (~bx@anon) Quit (*.net *.split)
20141008 11:11:17 * bbbruce (~bx@anon) has joined #jogamp
20141008 11:21:15 * xranby (~xranby@anon) has joined #jogamp
20141008 11:21:17 * xranby (~xranby@anon) has left #jogamp
20141008 11:26:26 * doev (~doev@anon) has joined #jogamp
20141008 11:43:50 <eclesia> rmk0: Hi, I've read the article, the formulas are a bit obscure for me but I guess I could implement the first part, before the SAT thing.
20141008 11:47:29 * jvanek (jvanek@anon) has joined #jogamp
20141008 11:55:09 <rmk0> eclesia: yep... it works well without SAT
20141008 11:56:53 <rmk0> i don't really understand the "why" of some of it (chebychev, for example), as i've no experience with probabilities
20141008 11:58:29 <eclesia> rmk0: you didn't implement it ?
20141008 11:58:44 <eclesia> just VSM + box blur ?
20141008 12:05:09 <rmk0> i didn't implement SAT, no
20141008 12:05:52 <rmk0> basically everything prior to section 8.5
20141008 12:06:07 <rmk0> that chapter's based on an old variance shadow maps paper that had a lot of issues
20141008 12:06:22 <rmk0> they fixed all the issues and then added SAT... so i just used their fixes and added an optional box blur pass
20141008 12:07:23 <eclesia> I see, that's why your code was so short
20141008 12:07:39 <eclesia> I've give it a try this evening
20141008 12:07:43 <rmk0> i think they're the most efficient algorithm for soft shadows
20141008 12:07:49 <rmk0> seem to remember seeing a comparison ages ago
20141008 12:08:03 <rmk0> mainly because the hardware does all the filtering (if you don't do an extra box blur)
20141008 12:08:27 <rmk0> can obviously scale down a shadow map and scale it back up again with linear interpolation to get nice soft edges
20141008 12:28:42 * MacTuitui (~tuitui@anon) Quit (Ping timeout: 258 seconds)
20141008 12:29:18 * MacTuitui (~tuitui@anon) has joined #jogamp
20141008 12:35:54 * xranby (~xranby@anon) has joined #jogamp
20141008 12:56:29 <xranby> interesting, when enabling all jogamp debug output i see
20141008 12:56:34 <xranby> java.lang.UnsatisfiedLinkError: jogamp.common.os.UnixDynamicLinkerImpl.dlerror()Ljava/lang/String;
20141008 12:56:34 <xranby> at jogamp.common.os.UnixDynamicLinkerImpl.dlerror(Native Method)
20141008 12:56:45 <xranby> nm -D libgluegen-rt.so
20141008 12:56:53 <xranby> 00000fb5 T Java_jogamp_common_os_UnixDynamicLinkerImpl_dlerror__
20141008 12:59:13 * gouessej (5ee4b442@anon) Quit (Quit: Page closed)
20141008 13:02:10 <xranby> thus there is no dlerror function in libgluegen-rt that take a L (Object) of type java_lang_String
20141008 13:03:09 <xranby> looks like a bug on our side
20141008 13:03:39 <rmk0> weird... dlerror() doesn't take arguments
20141008 13:03:46 <rmk0> why would something think it did?
20141008 13:04:45 <xranby> rmk0: in my case robovm thinks we want to pass a string to it
20141008 13:04:55 <xranby> java.lang.UnsatisfiedLinkError: jogamp.common.os.UnixDynamicLinkerImpl.dlerror()Ljava/lang/String;
20141008 13:04:59 <xranby> at jogamp.common.os.UnixDynamicLinkerImpl.dlerror(Native Method)
20141008 13:05:00 <rmk0> hrm!
20141008 13:05:31 <xranby> at jogamp.common.os.UnixDynamicLinkerImpl.openLibraryImpl(UnixDynamicLinkerImpl.java)
20141008 13:06:13 <xranby> protected static native java.lang.String dlerror();
20141008 13:06:25 <xranby> ah so we think it returns a string
20141008 13:06:28 <zubzub> () is before the string so it's the rturn value no
20141008 13:06:41 <xranby> but the native library libgluegen-rt.so
20141008 13:06:46 <xranby> do not think it will
20141008 13:06:51 <xranby> nm -D libgluegen-rt.so
20141008 13:06:54 <xranby> 00000fb5 T Java_jogamp_common_os_UnixDynamicLinkerImpl_dlerror__
20141008 13:07:21 <xranby> if i understand correctly we have the wrong jni return type
20141008 13:08:16 <zubzub> the jni method probably has a String as return value while the native method has void(?)
20141008 13:08:53 <xranby> /* Java->C glue code:
20141008 13:08:53 <xranby> * Java package: jogamp.common.os.UnixDynamicLinkerImpl
20141008 13:08:53 <xranby> * Java method: java.lang.String dlerror()
20141008 13:08:53 <xranby> * C function: char * dlerror(void);
20141008 13:08:53 <xranby> */
20141008 13:08:53 <xranby> JNIEXPORT jstring JNICALL
20141008 13:08:53 <xranby> Java_jogamp_common_os_UnixDynamicLinkerImpl_dlerror__(JNIEnv *env, jclass _unused) {
20141008 13:08:54 <xranby> char * _res;
20141008 13:08:54 <xranby> _res = dlerror();
20141008 13:08:55 <xranby> if (_res == NULL) return NULL; return (*env)->NewStringUTF(env, _res);
20141008 13:08:55 <xranby> }
20141008 13:08:58 <xranby> yup
20141008 13:09:05 <xranby> Java_jogamp_common_os_UnixDynamicLinkerImpl_dlerror__ <- void
20141008 13:11:09 <xranby> gluegen/src/native/unix/UnixDynamicLinkerImpl_JNI.c
20141008 13:11:38 <xranby> "This file autogenerated by com\sun\gluegen\JavaEmitter.java"
20141008 13:11:39 <xranby> lets see
20141008 13:13:46 <xranby> jstring JNICALL <- that part is ok but the function name is not if i understand this correctly
20141008 13:14:37 <zubzub> yeah the double __ is strange unless it's explicitly mapped somewhere else
20141008 13:15:20 <zubzub> ah I know
20141008 13:15:48 <zubzub> it's because there are multiple methods with a different java signature
20141008 13:16:02 <zubzub> but the same c signature so it has to append __ or something
20141008 13:16:55 <zubzub> (wild guess)
20141008 13:19:39 <xranby> i have to read the JNI spec
20141008 13:20:02 <xranby> to see how the JVM shall resolve the situation
20141008 13:20:55 <zubzub> iirc when you have a java method like 'foo()' and 'foo(bar)', the native method will be foo() and foo_(bar)
20141008 13:21:56 <zubzub> * Class: org_freedesktop_wayland_client_WlClientJNI
20141008 13:21:56 <zubzub> * Method: connect
20141008 13:21:56 <zubzub> * Signature: (Ljava/lang/String;)J
20141008 13:21:56 <zubzub> */
20141008 13:21:56 <zubzub> JNIEXPORT jlong JNICALL Java_org_freedesktop_wayland_client_WlClientJNI_connect__Ljava_lang_String_2
20141008 13:21:59 <zubzub> (JNIEnv *, jclass, jstring);
20141008 13:22:01 <zubzub> /*
20141008 13:22:04 <zubzub> * Class: org_freedesktop_wayland_client_WlClientJNI
20141008 13:22:06 <zubzub> * Method: connect
20141008 13:22:09 <zubzub> * Signature: (I)J
20141008 13:22:12 <zubzub> */
20141008 13:22:14 <zubzub> JNIEXPORT jlong JNICALL Java_org_freedesktop_wayland_client_WlClientJNI_connect__I
20141008 13:22:17 <zubzub> (JNIEnv *, jclass, jint);
20141008 13:22:35 <zubzub> so it appends with __returntype
20141008 13:23:09 <xranby> do you have a function that returns a sting?
20141008 13:23:18 <xranby> string
20141008 13:23:40 <zubzub> ah no, it returns a long
20141008 13:23:43 <zubzub> both cases
20141008 13:23:51 <zubzub> but accepts a string in the first case
20141008 13:24:03 <zubzub> and an int in the second case
20141008 13:24:09 <zubzub> so it's __arguments
20141008 13:27:22 * xranby (~xranby@anon) Quit (Ping timeout: 240 seconds)
20141008 13:43:43 * xranby (~xranby@anon) has joined #jogamp
20141008 13:49:47 <xranby> *nods* in that case i will file a new robovm bug
20141008 13:49:50 <xranby> zubzub: thank you
20141008 13:50:30 <zubzub> make sure you check the official jni specs first
20141008 13:50:39 <zubzub> I just c/p a fragment from my own project
20141008 14:00:38 * kermyt (~kermyt@anon) Quit (Ping timeout: 250 seconds)
20141008 14:04:59 <xranby> i will try some really minimal testcase like
20141008 14:05:10 <xranby> System.load("./libgluegen-rt.so"); dlerror();
20141008 14:29:38 <xranby> my minimal testcase manage to reproduce the issue, thus someone with jni black belt has to resolve it
20141008 14:31:01 <xranby> regular java jvm handles the testcase fine while robovm ends up with "Cannot detach thread when there are non native frames on the call stack" -> SIGABRT when calling dlerror()
20141008 14:31:30 <xranby> thus my initial issue
20141008 14:32:05 <xranby> depending on how i compile robovm i get this error or UnsatisfiedLinkError: jogamp.common.os.UnixDynamicLinkerImpl.dlerror
20141008 14:36:32 * xranby (~xranby@anon) Quit (Ping timeout: 245 seconds)
20141008 14:51:26 * xranby (~xranby@anon) has joined #jogamp
20141008 15:00:59 <xranby> https://github.com/robovm/robovm/issues/535 <- robovm testcase
20141008 15:01:59 * eclesia (~husky@anon) has left #jogamp
20141008 15:36:31 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20141008 15:40:37 * xranby (~xranby@anon) Quit (Ping timeout: 245 seconds)
20141008 15:54:29 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20141008 15:55:13 * xranby (~xranby@anon) has joined #jogamp
20141008 16:43:15 * xranby (~xranby@anon) Quit (Ping timeout: 246 seconds)
20141008 16:45:54 * monsieur_max (~maxime@anon) has joined #jogamp
20141008 16:57:58 * xranby (~xranby@anon) has joined #jogamp
20141008 17:19:18 * xranby (~xranby@anon) Quit (Ping timeout: 246 seconds)
20141008 17:21:16 * doev (~doev@anon) Quit (Ping timeout: 250 seconds)
20141008 17:26:35 * Eclesia (~eclesia@anon) has joined #jogamp
20141008 17:31:31 * xranby (~xranby@anon) has joined #jogamp
20141008 18:27:42 * [Mike] (~Mike]@anon) has joined #jogamp
20141008 19:05:42 * xranby (~xranby@anon) Quit (Ping timeout: 246 seconds)
20141008 19:21:54 * xranby (~xranby@anon) has joined #jogamp
20141008 19:37:34 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20141008 19:38:52 * hija (~hija@anon) has joined #jogamp
20141008 20:37:10 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20141008 20:52:52 * hija (~hija@anon) Quit (Ping timeout: 240 seconds)
20141008 20:55:34 * hija (~hija@anon) has joined #jogamp
20141008 21:03:09 * hija_ (~hija@anon) has joined #jogamp
20141008 21:04:52 * hija (~hija@anon) Quit (Ping timeout: 240 seconds)
20141008 21:04:52 * hija_ is now known as hija
20141008 23:23:07 * xranby (~xranby@anon) Quit (Ping timeout: 245 seconds)
20141008 23:24:28 * xranby (~xranby@anon) has joined #jogamp
20141008 23:38:23 * xranby (~xranby@anon) Quit (Ping timeout: 258 seconds)
20141009 00:01:46 * xranby (~xranby@anon) has joined #jogamp
20141009 02:14:01 * xranby (~xranby@anon) Quit (Ping timeout: 258 seconds)
20141009 02:28:15 * xranby (~xranby@anon) has joined #jogamp
20141009 02:33:53 <sgothel> off-topic brainstorming to avoid patents: Deniable Encrypted Message Transfer: Exposing noise-fan (encrypted data) server sockets where anybody could tap in, but only w/ proper encryption keys a protocol can be established within the noise ..
20141009 02:34:39 <sgothel> this avoids leaking metadata i.e. when used encrypted emails
20141009 02:34:46 <sgothel> *using*
20141009 02:35:09 <sgothel> yes, noise-fan connections can still be tracked
20141009 02:35:36 <sgothel> but do they disclose intend ?
20141009 02:36:03 <sgothel> *intent* .. sorry late :)
20141009 02:37:38 <sgothel> avoiding a multi-cast noise-fan (radio) .. due to reduce bandwidth
20141009 02:37:43 <sgothel> yup, it's late :)
20141009 03:29:55 * hija (~hija@anon) Quit (Quit: hija)
20141009 03:48:20 * xranby (~xranby@anon) Quit (Ping timeout: 260 seconds)
20141009 04:02:17 * xranby (~xranby@anon) has joined #jogamp
20141009 05:05:54 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20141009050554.html