#jogamp @ irc.freenode.net - 20160522 05:06:24 (UTC)


20160522 05:06:24 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20160521050623.html
20160522 05:06:24 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20160522050624.html
20160522 08:47:20 * monsieur_max (~maxime@anon) has joined #jogamp
20160522 12:24:26 * Eclesia (~eclesia@anon) has joined #jogamp
20160522 12:24:43 <Eclesia> hi
20160522 13:36:14 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20160522 14:40:55 * dwbrite (4474ac1d@anon) has joined #jogamp
20160522 15:50:00 * elect (~elect@anon) has joined #jogamp
20160522 15:55:12 <elect> so, this basic gui may interest bruce-, guillaum1 and zubzub
20160522 15:55:54 <elect> am I right?
20160522 16:01:25 <guillaum1> elect: +1
20160522 16:04:27 <guillaum1> elect: but my requirements are very hard: Java 1.4 syntax (to support old VM), no dependencies (java.lang only), no reflection (to allow java to native compilation)
20160522 16:06:30 <guillaum1> elect: that's why I was interested in Nuklear design
20160522 16:07:06 <elect> we might diversify
20160522 16:07:19 <elect> different versions for different purpouses
20160522 16:07:24 <guillaum1> sure
20160522 16:10:07 <elect> guillaum1, have you also looked at imgui?
20160522 16:10:12 <elect> https://github.com/ocornut/imgui
20160522 16:11:21 <guillaum1> elect: yeah I went to Nuklear after I found imgui.
20160522 16:11:28 <elect> reasons?
20160522 16:12:04 <guillaum1> No good C++ compiler on some platforms
20160522 16:12:30 <guillaum1> even GCC
20160522 16:13:52 <elect> but they appear to be very similar
20160522 16:13:57 <elect> don't they?
20160522 16:14:07 <elect> in terms of goal/purpouse
20160522 16:16:30 <guillaum1> The author of Nuklear was inspired by imgui. C is ubiquitous and more portable than any languages these days.
20160522 16:16:48 <rmk0> guillaum1: which platforms, out of curiosity?
20160522 16:21:21 <guillaum1> rmk0: FPGA toolkits in general, RTEMS and other embedded OS
20160522 16:21:53 <elect> guillaum1, I don't get how things get updated
20160522 16:22:02 <elect> is there some sort of listener
20160522 16:22:05 <elect> ?
20160522 16:22:14 <rmk0> ah, right
20160522 16:23:17 <elect> is nuklear an immediate or retained gui?
20160522 16:23:18 <elect> http://gamedev.stackexchange.com/questions/24103/immediate-gui-yae-or-nay
20160522 16:23:55 <guillaum1> elect: immediate
20160522 16:26:45 <guillaum1> So it's very old school UI programming (sometimes older is better). read event -> make a list of draw commands -> render to the backend
20160522 16:28:22 <guillaum1> As it's stateless, all the screen must be redrawn for each iteration.
20160522 16:29:14 <guillaum1> I started to write a very small abstraction on top of Nuklear to use it with stateful widgets
20160522 16:32:58 <guillaum1> as immediate GUI can be scary for some people
20160522 16:43:38 <guillaum1> monsieur_max: ping
20160522 16:44:43 <elect> I dont get
20160522 16:44:53 <elect> I find immediate mode not so efficient
20160522 16:45:06 <elect> I don't want to re-render everything every time
20160522 16:45:18 <elect> I'd like to update the gui only when needed
20160522 16:47:58 <guillaum1> elect: if "needed"=user event (keybaord, mouse), there is no problem: in the global loop, just do : while (true) {if (event) { readEvent(); buildUI; renderUI() } }
20160522 16:49:14 <elect> how is callback managed?
20160522 16:49:30 <elect> if(renderButton())
20160522 16:49:45 <elect> system.out.println("Pressed");
20160522 16:49:47 <elect> ?
20160522 16:49:59 <guillaum1> elect: yeah
20160522 17:05:12 <elect> so essentially I have to pass the mouse listener so that the button itself can check if the pointer is inside or not?
20160522 17:17:31 <elect> so all the gui on java, awt, swt, swing, javafx are retained, no?
20160522 17:21:46 <guillaum1> elect: yes, that's why there are big and not very portable IMHO. They try to guess what the developer wants and maintain a huge state-machine with a bunch of classes
20160522 17:54:07 * elect (~elect@anon) Quit (Ping timeout: 252 seconds)
20160522 19:16:54 <zubzub> 414:31 < bruce-> or just a browser
20160522 19:17:01 <zubzub> if there exists a native widget toolkit
20160522 19:17:25 <zubzub> and that is 100% compatible with js/html5/css version whatever
20160522 19:17:35 <zubzub> and can run without a browser
20160522 19:17:40 <zubzub> is light weight as much as possible
20160522 19:18:06 <zubzub> and allows me to call and be called by another language (be it bytecode/native)
20160522 19:18:08 <zubzub> sign me up
20160522 19:18:21 <zubzub> also accelerated if possible
20160522 19:54:56 <rmk0> zubzub: am i correct in thinking that robovm has some up-to-date llvm bindings?
20160522 19:55:07 <rmk0> all the existing java bindings seem out of date and dead
20160522 19:56:42 <zubzub> no idea, they use swig iirc to generate java-llvm bindings
20160522 19:56:53 <rmk0> hm
20160522 19:57:50 <zubzub> https://github.com/robovm/robovm/tree/master/llvm/src/main/java/org/robovm/llvm/binding
20160522 20:04:12 * rmk0 eyes it
20160522 20:06:40 * Eclesia (~eclesia@anon) has joined #jogamp
20160522 20:09:03 <Eclesia> hi
20160522 20:25:34 <Eclesia> a full frame repaint is very expensive, at least a rectangle should be used to clip the 'dirty' area
20160522 20:46:06 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160522 21:21:30 * elect (~elect@anon) has joined #jogamp
20160522 21:25:16 <guillaum1> Eclesia: sure but as Nuklear is stateless, the job has to be done by the developer. You can just look at the emitted primitives and stores the max clipping rectangle. So if (dirty && clippingRect != null) { renderUI };
20160522 21:39:20 <Eclesia> it can get really complicate, for example just changing the text on a button, to compute the correct clipping rectangle you must know the font, it's size, the text length etc...
20160522 21:42:55 * elect (~elect@anon) Quit (Ping timeout: 252 seconds)
20160522 21:45:01 * Eclesia “For every problem there is a solution which is simple, clean and wrong.” H.L. Mencken
20160522 22:06:54 <Eclesia> good night
20160522 22:06:57 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20160523 05:06:24 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20160523050624.html