#jogamp @ irc.freenode.net - 20140815 05:05:29 (UTC)


20140815 05:05:29 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20140814050528.html
20140815 05:05:29 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20140815050529.html
20140815 05:30:48 * doev (~doev@anon) has joined #jogamp
20140815 06:02:03 * jvanek (jvanek@anon) has joined #jogamp
20140815 06:29:56 * xranby (~xranby@anon) Quit (Ping timeout: 260 seconds)
20140815 06:31:12 * xranby (~xranby@anon) has joined #jogamp
20140815 06:53:27 * monsieur_max (~maxime@anon) has joined #jogamp
20140815 08:31:36 * zzuegg (zzuegg@anon) has joined #jogamp
20140815 08:55:30 * doev (~doev@anon) Quit (Quit: Verlassend)
20140815 08:59:37 * doev (~doev@anon) has joined #jogamp
20140815 10:02:23 * xranby (~xranby@anon) Quit (Quit: Leaving.)
20140815 11:04:56 * xranby (~xranby@anon) has joined #jogamp
20140815 11:05:50 <xranby> The free software Java plugin IcedTea-Web 1.5.1 released! http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-August/028978.html improved offline abilities, run with any JDK, JDK 8 support
20140815 11:07:04 <xranby> The JogAmp JiGong NEWT only applet3 plugin is based IcedTea-Web, good time to rebase the applet3 code
20140815 11:39:20 * Eclesia (~eclesia@anon) has joined #jogamp
20140815 11:39:31 * Eclesia (~eclesia@anon) Quit (Client Quit)
20140815 14:01:09 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20140815 14:20:37 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20140815 14:59:31 <xranby> #OpenAL Soft 1.16.0 is now available: http://kcat.strangesoft.net/openal.html 
20140815 15:00:06 <xranby> this is what makes JOAL work
20140815 15:00:25 <xranby> http://kcat.strangesoft.net/openal.html
20140815 15:37:02 <rmk0_> xranby: when using openal, can i always assume i'm talking to openal-soft?
20140815 15:37:33 <rmk0_> the proprietary openal implementations are so far behind, they're almost useless... openal-soft has so many interesting extensions that it seems worth targeting that to the exclusion of everything else
20140815 15:37:48 <rmk0_> er, "when using JOAL", i mean
20140815 15:39:46 <rmk0_> and by proprietary implementations, i suppose i should have said "implementation"
20140815 15:40:00 <rmk0_> and even that's hard to find now, given that their site's been down for over a year and noone seems to care
20140815 15:45:21 * rmk0_ is now known as rmk0
20140815 15:45:37 * rmk0 (~rmk0@anon) Quit (Changing host)
20140815 15:45:37 * rmk0 (~rmk0@anon) has joined #jogamp
20140815 16:23:17 * doev (~doev@anon) Quit (Quit: Verlassend)
20140815 17:23:31 * xranby_ac100 (~xranby@anon) has joined #jogamp
20140815 17:24:01 <xranby_ac100> gouessej: ardor3d opengl es 2 testresults https://gist.github.com/xranby/04a30c83dcab9d784d82
20140815 18:42:29 * monsieur_max (~maxime@anon) has joined #jogamp
20140815 18:46:52 * gouessej (52794fc6@anon) has joined #jogamp
20140815 18:47:28 <gouessej> Hi
20140815 18:47:37 <gouessej> xranby: thank you for the tests
20140815 18:47:50 <gouessej> I still have to provide a simple NEWT example
20140815 18:48:11 <gouessej> I'll fix a few things, I hope it will work the next time
20140815 18:49:48 <gouessej> It would be better if I could simulate ES 2 on my machine
20140815 18:55:46 <gouessej> The main renderer contains tons of tests to avoid attempting to use GL2 when ES is detected but some checks are lacking in the render states
20140815 18:58:43 <gouessej> I will probably have to force VBOs by default to make ES work
20140815 19:26:14 <xranby_ac100> gouessej: hi, is the ardor3d sourcecode quick to compile?
20140815 19:26:48 <xranby_ac100> i can assist making it compatible by test n patch on this machine
20140815 19:27:39 <gouessej> It's quick to compile but you need maven or gradle
20140815 19:28:02 <xranby_ac100> i got maven
20140815 19:28:14 <gouessej> I'm already fixing a few things anyway ;)
20140815 19:30:02 * zzuegg (zzuegg@anon) Quit (Ping timeout: 250 seconds)
20140815 19:30:33 * zzuegg (zzuegg@anon) has joined #jogamp
20140815 19:33:51 * xranby_ac100 (~xranby@anon) Quit (Ping timeout: 246 seconds)
20140815 19:35:23 <gouessej> Some parts of the code still use double values when manipulating the matrices :s
20140815 19:35:42 <gouessej> It will be tricky to make them work with PMVMatrix
20140815 19:36:54 * xranby_ac100 (~xranby@anon) has joined #jogamp
20140815 19:43:48 <gouessej> I'm rebuild Ardor3D
20140815 19:43:55 <gouessej> "rebuilding"
20140815 19:46:45 <gouessej> I'm uploading the new JARs
20140815 19:51:41 <gouessej> Done
20140815 19:52:14 <gouessej> xranby: If you test again, you should go a little further except on the Raspberry Pi
20140815 20:00:52 * bbbruce (~bx@anon) has left #jogamp
20140815 20:01:09 * bbbruce (~bx@anon) has joined #jogamp
20140815 20:02:25 <bbbruce> ever since I upgraded to jogl 2.2.0 I sporadically get Exception in thread "main-FPSAWTAnimator-Timer0" com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: java.lang.RuntimeException: Waited 5000ms for: <54e3a4a8, 2d4f3d22>[count 2, qsz 0, owner <main-Display-.macosx_nil-1-EDT-1>] - <main-FPSAWTAnimator-Timer0>
20140815 20:03:00 <bbbruce> is this because I do a lot of loading in the animation thread?
20140815 20:04:03 * kermyt (~kermyt@anon) Quit (Ping timeout: 240 seconds)
20140815 20:09:49 * kermyt (~kermyt@anon) has joined #jogamp
20140815 20:18:33 <gouessej> xranby: I'm uploading another build so that even the basic example uses NEWT
20140815 20:18:56 <gouessej> it has at least a vanishingly small chance to work on the Raspberry Pi
20140815 20:23:42 <gouessej> Done
20140815 20:23:57 <gouessej> Oops I updated the wrong JARs
20140815 20:28:10 * hharrison (~chatzilla@anon) has joined #jogamp
20140815 20:28:45 <hharrison> rmk0: catching up on a long backlog, think I might want to replace a lot of my homegrown vector libs with your jtensor stuff
20140815 20:29:39 <hharrison> Just a little conflicted, as mine has a more inheritence-heavy design, so a Vec4 is a Vec3 is a Vec2, etc
20140815 20:30:08 <hharrison> Essentially allowing easy shortening conversions
20140815 20:32:31 <rmk0> lo
20140815 20:33:50 <hharrison> But I do like your explicit mutable/immutable concept
20140815 20:34:13 <rmk0> there is some degree of shortening in the interfaces
20140815 20:34:29 <rmk0> public interface VectorReadable3DType
20140815 20:34:30 <rmk0> extends VectorReadable2DType
20140815 20:34:31 <rmk0> etc
20140815 20:34:44 <rmk0> not sure if that's enough for you
20140815 20:34:46 <hharrison> aye
20140815 20:35:10 <hharrison> But I also provide explicit operator lengths in mine
20140815 20:35:20 <hharrison> add4, add3, add2
20140815 20:35:22 <hharrison> etc
20140815 20:35:51 <rmk0> right
20140815 20:36:03 <hharrison> Essentially I have static methods like yours that return a new object, but also instance versions that accumulate the result into a type
20140815 20:36:27 <hharrison> tryng to decide if I'd want to change my other code to match your style
20140815 20:36:46 <rmk0> i'd accept patches!
20140815 20:36:57 <rmk0> as long as you include tests :D
20140815 20:37:11 <rmk0> coverage is at 100% at the moment... trying hard to keep it there
20140815 20:37:52 <hharrison> I have tests for all my stuff as well
20140815 20:38:04 <hharrison> https://github.com/AusencoSimulation/JaamSim/blob/master/src/main/java/com/jaamsim/math/Vec3d.java
20140815 20:38:34 <hharrison> I you see anything interesting there you would want, I can likely adapt it
20140815 20:38:46 * zzuegg (zzuegg@anon) Quit ()
20140815 20:39:45 * rmk0 eyes it
20140815 20:40:48 <hharrison> The guiding principle for mine is to avoid allocations wherever possible, and be safe against self-assignment in the math operator
20140815 20:41:04 <rmk0> yep
20140815 20:41:04 <hharrison> so things like
20140815 20:41:09 <hharrison> Vec3d v;
20140815 20:41:17 <hharrison> v.add3(v, v); just works
20140815 20:41:27 <rmk0> yep, same here
20140815 20:41:45 <hharrison> I noticed, which is why I'm thinking of moving
20140815 20:41:49 <hharrison> or at least sharing
20140815 20:42:01 <rmk0> i had to add some extra types representing pre-allocated temporary storage for that, with the matrices
20140815 20:42:20 <rmk0> you... may not like that about the matrix types, actually
20140815 20:42:29 <rmk0> they're all backed by direct byte buffers
20140815 20:42:51 <hharrison> The other bit I'm looking at is to adapt the jogl FloatUtil/DoubleUtil stuff and implement some other types backed by nio buffers
20140815 20:42:53 <rmk0> obviously means they can be passed directly to native code, but obviously also means that creation/deletion is more expensive
20140815 20:43:20 <gouessej> You'll have to track all those direct NIO buffers
20140815 20:43:23 <gouessej> :s
20140815 20:43:31 <hharrison> jogl already is
20140815 20:44:02 <gouessej> but sometimes you don't create a Vec3 to pass it to JOGL
20140815 20:44:26 <rmk0> the vector types aren't backed by anything in jtensors
20140815 20:44:36 <gouessej> ok cool, sorry
20140815 20:44:41 <rmk0> that would be a bit much :D
20140815 20:45:15 <gouessej> xranby: the JARs are ready :)
20140815 20:46:15 <xranby_ac100> gouessej: woho
20140815 20:47:04 <gouessej> I don't store matrices into direct NIO buffers in ardor3d-math but there are some methods to transfer their contents into those buffers
20140815 20:47:28 <gouessej> xranby: it should work a bit better this time
20140815 20:49:14 <bbbruce> I like my vector2/3/4 immutable, method calls chainable and without the abuse of inheritence. I use things like vec4.xyz() to quickly produce a vec3 from a vec4 where it is needed. Most of my vectors end up in shader uniforms so I am not really that worried about the overhead
20140815 20:49:54 <xranby_ac100> gouessej: i think i saw a newt window flashing by..
20140815 20:49:54 <hharrison> bbbruce: any code to point at, would love to compare
20140815 20:50:05 <xranby_ac100> gouessej: i have a new stacktrace for you GL2
20140815 20:50:08 <rmk0> am mainly interested in immutability for the purposes of correctness
20140815 20:50:26 <hharrison> rmk0: you want the compiler to help you out
20140815 20:50:30 <rmk0> urhur, always
20140815 20:50:31 <gouessej> xranby: ok it goes further but there is still something broken
20140815 20:51:24 <rmk0> the overhead hasn't been an issue so far... the jvm's collectors seem better than most people think
20140815 20:51:54 <rmk0> long lived immutable objects hurt a bit, because it's more of a graph for the jvm to repeatedly traverse, but most of them aren't long lived
20140815 20:52:06 <hharrison> rmk0: I even found with a little bit of poking, that escape analysis actually worked for small data classes like vec2/3/4
20140815 20:52:09 <xranby_ac100> gouessej: https://gist.github.com/xranby/04a30c83dcab9d784d82
20140815 20:52:20 <rmk0> hharrison: \o/
20140815 20:52:25 <hharrison> which made the few places I needed a temporary actually go on-stack
20140815 20:52:33 <rmk0> think that sort of thing is only going to get better as time goes on, too
20140815 20:52:50 <hharrison> yeah, you have to stay small for now
20140815 20:53:01 <rmk0> especially as other languages that use immutable objects heavily take hold on the jvm
20140815 20:53:03 <gouessej> xranby: thanks, it will be easy to fix
20140815 20:53:04 <rmk0> scala, etc
20140815 20:53:05 <hharrison> I think over 48/64 bytes or so, it doesn't even try to stack alloc
20140815 20:53:23 <rmk0> is that 64 bytes not including the object header?
20140815 20:53:30 <hharrison> correct
20140815 20:53:35 <rmk0> right
20140815 20:54:07 <rmk0> http://cr.openjdk.java.net/~jrose/values/values-0.html
20140815 20:54:08 <hharrison> The new generation in the gc had already helped a lot, so it wasn't a huge win like if could have been for me
20140815 20:54:40 <hharrison> Yeah, had seen that....not holding my breath
20140815 20:54:50 <rmk0> hehe
20140815 20:55:04 <hharrison> But I'm totally ready to be pleasantly surprised
20140815 20:55:20 <rmk0> think it's mostly dependent on languages that aren't java pushing for it
20140815 20:55:52 <hharrison> I figured the project sumatra guys would absolutely need this type of infrastructure to really be able to vectorize much
20140815 20:56:28 <hharrison> ...I thought someone said they were in the mantle beta, but I can't find that now
20140815 20:56:51 <rmk0> which mantle?
20140815 20:57:08 <rmk0> *sudden bewilderment*
20140815 20:57:14 <bbbruce> what causes Exception in thread "main-FPSAWTAnimator-Timer0" com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: javax.media.opengl.GLException: Caught ThreadDeath: null on thread main-FPSAWTAnimator-Timer0 ?
20140815 20:57:25 <rmk0> erk
20140815 20:57:36 <gouessej> xranby: I'm uploading the JARs
20140815 20:57:38 <hharrison> AMDs mantle
20140815 20:58:03 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20140815 20:58:05 <hharrison> http://openjdk.java.net/projects/sumatra/
20140815 20:58:28 <rmk0> hm!
20140815 20:59:02 <hharrison> I can find the HSA experiments they are doing, but can't recall where I saw the matle ref
20140815 20:59:20 <bbbruce> I get that exception whenever I hit cmd-q
20140815 20:59:50 <rmk0> bbbruce: feel like i've seen that ages ago... when debugging code that was running with an animator
20140815 21:00:08 <rmk0> the animator was raising an exception due to the debugger stopping code and making the animator think it'd severely over-run
20140815 21:00:26 <bbbruce> cmd-q seems to bypass any window destroy notifications
20140815 21:00:30 <rmk0> thought sgothel poked it and it went away
20140815 21:00:46 <bbbruce> I have not seen it before 2.2.0
20140815 21:00:56 <rmk0> hharrison: have you seen the mantle api yet? still haven't here...
20140815 21:01:00 <hharrison> nope
20140815 21:01:05 <hharrison> closed beta
20140815 21:01:16 <hharrison> nothing, I kept looking all around siggraph
20140815 21:01:17 <rmk0> seems counter productive
20140815 21:01:28 <xranby_ac100> rmk0: hharrison: have any of the new opengl "NG" apis surfaced?
20140815 21:01:36 <hharrison> again...nope
20140815 21:01:46 <hharrison> not unless you in the working group
20140815 21:01:53 <rmk0> that bindless nvidia extension seems good
20140815 21:02:12 <rmk0> from what i can make out, it's opengl without explicit binds
20140815 21:02:18 <rmk0> you... just pass references around explicitly
20140815 21:02:25 <hharrison> yeah, the dsa stuff and bindless are nice
20140815 21:02:29 <rmk0> i'd switch to that in a heartbeat
20140815 21:02:37 <rmk0> again for correctness!
20140815 21:02:48 <bbbruce> also, that timeout exception I mentioned earlier was a PEBKAC. For some reason I called window.requestFocus from inside the animator thread
20140815 21:08:05 <xranby_ac100> rmk0: in opengl 4.5 they did add some explicit stuff hmm
20140815 21:08:08 <xranby_ac100> that got released last week
20140815 21:08:32 <rmk0> think i missed that.. i had a brief look at the changes in the back
20140815 21:08:36 <rmk0> didn't seem all that exciting
20140815 21:09:02 <rmk0> kind of irrelevant for me as i'm targeting 3.* core for the forseeable future
20140815 21:09:19 <rmk0> need to ensure everything stays working on the open drivers, as those are the ones i actually use
20140815 21:09:24 <xranby_ac100> OpenGL 4.5 specification includes: Direct State Access (DSA) – object accessors enable state to be queried and modified without binding objects to contexts
20140815 21:09:47 <rmk0> any idea why the API has binding in the first place?
20140815 21:10:14 <xranby_ac100> rmk0: because opengl started as an implicit statemachine .. ?
20140815 21:10:33 <rmk0> suppose
20140815 21:13:27 <rmk0> a tiny, focused "opengl NG" would be nice
20140815 21:14:09 <rmk0> think people have a pretty good idea of all of the current architectural problems... where all the overhead is, what sort of features are error-prone, etc
20140815 21:15:38 <rmk0> if they keep it all behind closed doors, though, i imagine they'll repeat all of the same mistakes
20140815 21:16:17 <gouessej> xranby_ac100: does it work better now?
20140815 21:16:29 <xranby_ac100> yes.. its hard to change mistakes when it is implemented in all drivers next summer
20140815 21:17:09 <xranby_ac100> gouessej: re-downloading
20140815 21:17:15 <gouessej> ok :)
20140815 21:19:44 <xranby_ac100> gouessej: ihave a funny exception now "javax.media.opengl.GLException: not implemented on thread main" hmm who said that?
20140815 21:20:38 <gouessej> xranby_ac100: it's weird
20140815 21:21:24 <xranby_ac100> gouessej: https://gist.github.com/xranby/04a30c83dcab9d784d82
20140815 21:21:32 <xranby_ac100> i will try on the pi as well
20140815 21:22:02 <gouessej> xranby_ac100: I see why it happens
20140815 21:22:25 <gouessej> there are still some parts of the engine that tries to use GLUgl2
20140815 21:23:14 <gouessej> When it can't be created, it uses GLU
20140815 21:23:19 <gouessej> Some features are missing
20140815 21:23:30 <gouessej> but I already knew it would happen
20140815 21:23:48 <gouessej> That's why I implemented another code path protected by a flag
20140815 21:24:02 <gouessej> so that mipmaps are generated by TextureIO
20140815 21:24:25 <gouessej> I just have to set the flag to true and it should work
20140815 21:28:13 <xranby_ac100> good, you have a third eye and see the future well
20140815 21:29:07 <gouessej> Yes, I implemented this thing a few days ago
20140815 21:29:34 <gouessej> https://github.com/gouessej/Ardor3D/commit/69c15b513e54d7d2a660d680a88483bfdc713add
20140815 21:31:40 <gouessej> but implementing GLUgl2es2 would be better
20140815 21:31:47 <gouessej> and trivial
20140815 21:41:27 <gouessej> Actually, GLUgl2es2 would be amost the copy of GLUgl2es1
20140815 21:41:31 <gouessej> "almost"
20140815 21:41:52 <gouessej> xranby_ac100: the JARs are ready
20140815 21:42:08 <gouessej> I didn't test this feature... :s
20140815 21:43:18 <gouessej> xranby_ac100: it seems to work in my desktop environment
20140815 21:49:51 <bbbruce> hm, no requestFocus is not the cause, that timeout exception is still there. Exception in thread "main-FPSAWTAnimator-Timer0" com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: java.lang.RuntimeException: Waited 5000ms for: <337f0274, 577a2815>[count 2, qsz 0, owner <main-Display-.macosx_nil-1-EDT-1>] - <main-FPSAWTAnimator-Timer0>
20140815 21:56:22 <xranby_ac100> gouessej: i redownloaded the jars.. but i still get the exception Caused by: javax.media.opengl.GLException: not implemented
20140815 21:56:22 <xranby_ac100> at javax.media.opengl.glu.GLU.gluBuild2DMipmaps(GLU.java:1520)
20140815 21:56:22 <xranby_ac100> at com.ardor3d.scene.state.jogl.JoglTextureStateUtil.update(JoglTextureStateUtil.java:317)
20140815 21:56:48 <gouessej> ok :(
20140815 21:58:35 <gouessej> xranby_ac100: the engine tries to generate mipmaps with GLU as there is no mipmap in the image
20140815 21:58:45 <gouessej> ok I'm filling a bug report
20140815 21:59:47 * kermyt (~kermyt@anon) Quit (Ping timeout: 245 seconds)
20140815 22:00:29 <gouessej> xranby_ac100: https://jogamp.org/bugzilla/show_bug.cgi?id=1045
20140815 22:00:56 <gouessej> Thank you very much for your help
20140815 22:03:02 * kermyt (~kermyt@anon) has joined #jogamp
20140815 22:03:08 <xranby_ac100> thank you for pushing the effort to make ardor3d usable on mobile!!
20140815 22:03:49 <gouessej> xranby_ac100: I will have to work a lot more to make it work under Android and Firefox OS
20140815 22:04:39 <gouessej> It will be easier under Sailfish OS and Raspbian of course
20140815 22:05:10 <gouessej> xranby_ac100: JogAmp's Ardor3D Continuation != Ardor3D
20140815 22:05:28 <gouessej> JogAmp's Ardor3D Continuation is alive whereas Ardor3D is officially dead
20140815 22:11:08 <gouessej> xranby_ac100: Do you think you could rebuild JOGL with GLUes2 later when you have some time?
20140815 22:13:28 <gouessej> xranby_ac100: GLUes2 = GLUgl2es1 + replace getCurrentGL2ES1() by getCurrentGLES2() and handle only GLES2 + modify GLU.createGLU(GL) in order to return an instance of GLUes2 when GLES2 is detected
20140815 22:16:37 <gouessej> xranby_ac100: I'll have to add a hack into JoglContextCapabilities to force GLSL version 100 on the Raspberry Pi as usual :s
20140815 22:16:53 <gouessej> Good night
20140815 22:17:01 * gouessej (52794fc6@anon) Quit (Quit: Page closed)
20140815 23:24:02 * hharrison (~chatzilla@anon) Quit (Quit: ChatZilla 0.9.90.1 [Firefox 32.0/20140811180644])
20140816 02:44:09 * xranby_ac100 (~xranby@anon) Quit (*.net *.split)
20140816 03:13:11 * xranby_ac100 (~xranby@anon) has joined #jogamp
20140816 05:05:29 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20140816050529.html