#jogamp @ irc.freenode.net - 20160524 23:57:14 (UTC)


20160524 23:57:14 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20160524050624.html
20160524 23:57:14 -NickServ- This nickname is registered. Please choose a different nickname, or identify via /msg NickServ identify <password>.
20160524 23:57:19 * jogamp (~jogamp@anon) has joined #jogamp
20160524 23:57:19 * Topic is 'http://jogamp.org | Hacking 3D Graphics, Multimedia and Processing across Devices | logs: http://jogamp.org/log/irc/?C=M;O=D'
20160524 23:57:19 * Set by rmk0 on 20141110 16:19:10
20160524 23:57:19 -NickServ- You are now identified for jogamp.
20160525 04:58:32 * SHC (~quassel@anon) has joined #jogamp
20160525 06:51:59 * bigpet (uid25664@anon) has joined #jogamp
20160525 07:18:25 * monsieur_max (~maxime@anon) has joined #jogamp
20160525 07:34:13 * Eclesia (~husky@anon) has joined #jogamp
20160525 07:34:39 <Eclesia> good morning
20160525 07:58:45 * elect (~GBarbieri@anon) has joined #jogamp
20160525 08:00:16 <elect> hi
20160525 08:20:04 <xranby1> good morning
20160525 08:20:35 <xranby1> Eclesia: yes, poor jury, having to learn java without talking to anyone and without internet access
20160525 08:20:45 <xranby1> and without proper editors
20160525 08:21:40 <xranby1> and without SCM tools that can diff
20160525 08:22:15 <xranby1> just imagine.. what would you do... ? having to review 15 million lines of code structured in too many folders
20160525 08:23:49 <Eclesia> I'm wondering if it's all made up to push for those new private trial in the TAFTA ...
20160525 08:25:31 <Eclesia> xranby1: I would declare them both guilty for annoying justice with childish fights
20160525 08:26:52 <xranby1> I can see a lot of paid names on twitter speak warmly about settle before trial in order to not distrupt jurors lives. however without trial there is no justice!
20160525 08:29:18 <xranby1> some other people are like: "If it takes a 9 billion dollar judgement to stop IDE privilege and get flat-folder source trees, it was a small price to pay."
20160525 08:31:30 <zubzub> it should've been settled in a EU court
20160525 08:31:50 <zubzub> "since software is math you can all go f*ck yourself. Now gtfo"
20160525 08:31:56 <zubzub> case dismissed
20160525 08:32:13 <xranby1> The jury instructions are quite fun to read
20160525 08:35:26 <zubzub> the thing with this case is that there is no good outcome
20160525 08:39:09 <xranby1> https://www.scribd.com/doc/313560685/Jury-Instruction-Oracle-v-Google
20160525 08:42:27 <xranby1> "The term structure, sequence, and organization is a concept used by lawyers and courts in connection with copyright. It is not aterm used by computer scientists."
20160525 08:42:47 <xranby1> "The more creative the work, the more this factor disfavors fair use, and the more functional the work, the more this factor favors fair use. Even though a computer program performs functions and has functional elements, the structure, sequence, and organization of a computer program may be (or may not be) highlycreative."
20160525 08:48:22 <xranby1> the best outcome in this case is if they consider SSO to always be Functional in computerprograms
20160525 08:48:22 * jvanek (jvanek@anon) has joined #jogamp
20160525 08:48:53 <zubzub> https://twitter.com/sarahjeong/status/735174965276745728
20160525 08:49:16 <xranby1> zubzub: :) yes too many folders!
20160525 08:49:30 <zubzub> this whole case
20160525 08:49:33 <zubzub> is such a farce
20160525 08:50:39 <zubzub> is it possible that the jury can not come to a conclussion?
20160525 09:00:30 <monsieur_max> i think that it'd mean "case dismissed" , no ?
20160525 09:14:18 <elect> what would happen if Oracle wins?
20160525 09:14:31 <elect> worst case scenario
20160525 09:14:51 <Eclesia> elect: then I win ^^
20160525 09:17:33 <elect> \o/
20160525 09:17:39 <xranby> |
20160525 09:17:45 <xranby> / \
20160525 09:17:50 <elect> lol
20160525 09:18:14 <xranby> congratulations, you are the only part of this case story that benefits from any outcome
20160525 09:18:46 <monsieur_max> typical elect
20160525 09:19:03 <elect> <3
20160525 11:49:50 * jvanek (jvanek@anon) Quit (Ping timeout: 244 seconds)
20160525 12:07:51 <elect> I am looking at java2d performances
20160525 12:08:11 <elect> this code takes 5ms
20160525 12:08:12 <elect> Graphics2D g2dScrollArea = (Graphics2D) bufferedImage.getGraphics();
20160525 12:08:12 <elect> g2dScrollArea.setColor(scrollAreaBackgroundColor);
20160525 12:08:12 <elect> g2dScrollArea.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight());
20160525 12:08:21 <elect> why so slow?
20160525 12:08:37 <zubzub> because welcome to java2d
20160525 12:08:44 <Eclesia> this is expensive bufferedImage.getGraphics()
20160525 12:08:53 <Eclesia> it creates the rendering context
20160525 12:11:19 * jvanek (jvanek@anon) has joined #jogamp
20160525 12:12:13 * jvanek (jvanek@anon) Quit (Client Quit)
20160525 12:12:37 * jvanek (jvanek@anon) has joined #jogamp
20160525 12:13:28 <elect> moved outside, nothing changed
20160525 12:13:29 <elect> Color scrollAreaBackgroundColor = new Color(200, 200, 200, 10);
20160525 12:13:29 <elect> Color scrollAreaBorderColor = new Color(100, 100, 100, 100);
20160525 12:13:29 <elect> BufferedImage bufferedImage = new BufferedImage(1024, 768, BufferedImage.TYPE_INT_ARGB);
20160525 12:13:29 <elect> Graphics2D g2dScrollArea = (Graphics2D) bufferedImage.getGraphics();
20160525 12:13:29 <elect> long start, total;
20160525 12:13:31 <elect> while (true) {
20160525 12:13:33 <elect> start = System.nanoTime();
20160525 12:13:35 <elect> g2dScrollArea.setColor(scrollAreaBackgroundColor);
20160525 12:13:39 <elect> g2dScrollArea.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight());
20160525 12:13:41 <elect> g2dScrollArea.setColor(scrollAreaBorderColor);
20160525 12:13:43 <elect> g2dScrollArea.drawLine(bufferedImage.getWidth() - 1, 0, bufferedImage.getWidth() - 1, bufferedImage.getHeight());
20160525 12:13:46 <elect> total = System.nanoTime() - start;
20160525 12:13:48 <elect> System.out.println(total + " ns");
20160525 12:13:50 <elect> }
20160525 12:13:54 <elect> 5M ns = 5 ms
20160525 12:15:32 <Eclesia> so it's slow
20160525 12:15:55 <elect> I cant accept that
20160525 12:15:57 <elect> we are on cpu
20160525 12:16:00 <elect> what's wrong
20160525 12:16:08 <elect> they are basic commands
20160525 12:16:15 <zubzub> 14:08 < elect> why so slow?
20160525 12:16:16 <zubzub> 14:08 < zubzub> because welcome to java2d
20160525 12:16:35 <Eclesia> elect: how do you create the image ?
20160525 12:16:45 <Eclesia> ha no, I see
20160525 12:20:17 * xranby (~xranby@anon) has left #jogamp
20160525 12:21:16 <elect> are there any alternatives?
20160525 12:21:39 <zubzub> https://cairographics.org/cairo-java/
20160525 12:21:49 <zubzub> but I assume it to be pretty outdated
20160525 12:21:51 <zubzub> and not pure java ofcourse
20160525 12:22:06 <elect> why are we always citizien Z on java?
20160525 12:22:35 <zubzub> because sun underfunded it because they were going bankrupt
20160525 12:22:43 <zubzub> and because oracle is a huge pile of steaming shit
20160525 12:23:06 <zubzub> and continued the underfunding
20160525 12:23:58 <elect> so no bright future upon us?
20160525 12:24:11 <monsieur_max> we are not java :P
20160525 12:24:43 <zubzub> the only bright future I see is leveraging existing mature native libraries
20160525 12:25:00 <zubzub> it's basically what all other (scripting) languages do
20160525 12:25:09 <zubzub> instead of reinventing the wheel
20160525 12:37:40 * SHC (~quassel@anon) Quit (Ping timeout: 260 seconds)
20160525 13:03:48 <elect> interesting fact
20160525 13:04:20 <elect> same thing manually filling the whole "screen" using a bytebuffer (direct and not) ~ 1ms
20160525 13:04:32 <elect> same using byte[], <1ms
20160525 13:08:18 <zubzub> does that include allocating the direct bytebuffer
20160525 13:08:20 <zubzub> or just using it
20160525 13:08:36 <elect> just using
20160525 13:08:47 <elect> while (true) {
20160525 13:08:48 <elect> start = System.nanoTime();
20160525 13:08:48 <elect> / g2dScrollArea.setColor(scrollAreaBackgroundColor);
20160525 13:08:48 <elect> / g2dScrollArea.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight());
20160525 13:08:48 <elect> / g2dScrollArea.setColor(scrollAreaBorderColor);
20160525 13:08:48 <zubzub> from what I remember from looking at java2d code is that ises a lot of byte[]
20160525 13:08:49 <elect> / g2dScrollArea.drawLine(bufferedImage.getWidth() - 1, 0, bufferedImage.getWidth() - 1, bufferedImage.getHeight());
20160525 13:08:52 <elect> /
20160525 13:08:53 <zubzub> and copies it around
20160525 13:08:53 <elect> / for (int i = 0; i < byteBuffer.capacity(); i += Vec4ub.SIZE) {
20160525 13:08:55 <elect> / byteBuffer
20160525 13:08:57 <elect> / .put(i + 0, (byte) 200)
20160525 13:08:59 <elect> / .put(i + 1, (byte) 200)
20160525 13:09:01 <elect> / .put(i + 2, (byte) 200)
20160525 13:09:03 <zubzub> staaaph
20160525 13:09:03 <elect> / .put(i + 3, (byte) 10);
20160525 13:09:06 <elect> / }
20160525 13:09:09 <zubzub> use a pastebin or something
20160525 13:09:10 <elect> ///
20160525 13:09:12 <elect> / for (int i = 0; i < 768; i++) {
20160525 13:09:13 <elect> / byteBuffer
20160525 13:09:15 <elect> / .put(i * 1024 + 0, (byte) 100)
20160525 13:09:16 * zubzub (~zubzub@anon) has left #jogamp
20160525 13:09:17 <elect> / .put(i * 1024 + 1, (byte) 100)
20160525 13:09:19 <Eclesia> flooooooood
20160525 13:09:19 <elect> / .put(i * 1024 + 2, (byte) 100)
20160525 13:09:21 <elect> / .put(i * 1024 + 3, (byte) 100);
20160525 13:09:23 <elect> / }
20160525 13:09:25 <elect> for (int i = 0; i < bytes.length; i += Vec4ub.SIZE) {
20160525 13:09:27 <elect> bytes[i + 0]= (byte) 200;
20160525 13:09:29 <elect> bytes[i + 1]= (byte) 200;
20160525 13:09:31 <elect> bytes[i + 2]= (byte) 200;
20160525 13:09:33 <elect> bytes[i + 3]= (byte) 10;
20160525 13:09:36 <elect> }
20160525 13:09:40 <elect> /
20160525 13:09:42 <elect> for (int i = 0; i < 768; i++) {
20160525 13:09:44 <elect> bytes[i*1024 + 0]= (byte) 100;
20160525 13:09:46 <elect> bytes[i*1024 + 1]= (byte) 100;
20160525 13:09:46 * zubzub (~zubzub@anon) has joined #jogamp
20160525 13:09:47 <elect> bytes[i*1024 + 2]= (byte) 100;
20160525 13:09:49 <elect> bytes[i*1024 + 3]= (byte) 100;
20160525 13:09:50 * zubzub (~zubzub@anon) has left #jogamp
20160525 13:09:51 <elect> }
20160525 13:09:53 <elect> total = System.nanoTime() - start;
20160525 13:09:54 <Eclesia> lol
20160525 13:09:56 <elect> System.out.println(total + " ns");
20160525 13:09:58 <elect> / System.out.println(EC_UnitFormatter.nanoToString(total));
20160525 13:09:59 <elect> }
20160525 13:10:01 <elect> <3
20160525 13:10:04 <elect> \o/
20160525 13:10:06 <elect> he floodquit?
20160525 13:10:09 <elect> http://pastebin.com/GkYRY11m
20160525 13:10:22 <elect> I tend to pastebin when > 1 page
20160525 13:11:16 <elect> brb
20160525 13:11:25 <elect> wish me good luck
20160525 13:11:32 * zubzub (~zubzub@anon) has joined #jogamp
20160525 13:11:33 <Eclesia> nope, it won't change
20160525 13:11:42 <elect> let me try
20160525 13:11:46 <zubzub> hurya the spam stopped
20160525 13:12:29 * elect (~GBarbieri@anon) Quit (Read error: Connection reset by peer)
20160525 13:14:43 * elect (~GBarbieri@anon) has joined #jogamp
20160525 13:15:08 <elect> disappointed
20160525 13:15:20 <monsieur_max> typical elect, can stop talking
20160525 13:15:22 <monsieur_max> *can't
20160525 13:15:36 <elect> love me as I am
20160525 14:31:35 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20160525 14:45:16 * jvanek (jvanek@anon) has joined #jogamp
20160525 14:54:09 * dwbrite (4474ac1d@anon) has joined #jogamp
20160525 14:54:19 <dwbrite> Hello!
20160525 14:55:46 <Eclesia> o/
20160525 15:20:54 <elect> hi
20160525 15:21:12 <elect> btw, rendering one of our tree gui
20160525 15:21:20 <elect> java2d 18 ms, jogl 0.1ms
20160525 15:22:19 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20160525 15:37:41 * elect (~GBarbieri@anon) Quit (Read error: Connection reset by peer)
20160525 16:03:01 * Eclesia (~husky@anon) has left #jogamp
20160525 16:30:01 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160525 17:31:03 <rmk0> elect: suspect there's all sorts of nonsense you'll need to do to prevent overdraw and save time
20160525 17:31:22 <rmk0> java2d is obviously dumb and direct, it'll overdraw the same pixel 100 times if you ask it to
20160525 17:38:21 * monsieur_max (~maxime@anon) has joined #jogamp
20160525 17:45:18 * SHC (~quassel@anon) has joined #jogamp
20160525 17:46:49 * SHC (~quassel@anon) Quit (Read error: Connection reset by peer)
20160525 17:47:17 * SHC (~quassel@anon) has joined #jogamp
20160525 17:48:24 * SHC (~quassel@anon) Quit (Read error: Connection reset by peer)
20160525 17:48:47 * SHC (~quassel@anon) has joined #jogamp
20160525 17:48:48 * SHC (~quassel@anon) Quit (Read error: Connection reset by peer)
20160525 18:33:59 * Eclesia (~eclesia@anon) has joined #jogamp
20160525 19:50:32 <Eclesia> is that me or the 'new' time api is insanely complexe
20160525 19:50:39 <Eclesia> ?
20160525 20:04:36 <rmk0> time is insanely complex
20160525 20:13:49 <Eclesia> sure but still the api is overkill
20160525 20:14:31 <rmk0> i don't think so
20160525 20:14:34 <Eclesia> or more exactly overloaded with convenient methods
20160525 20:14:36 <rmk0> you got any example?
20160525 20:15:29 <Eclesia> ok a simple one : read a date in format ISO-8601 and rewrite it out in the same format :)
20160525 20:16:31 <rmk0> i meant an example i could read, not one i'd have to write...
20160525 20:17:32 * Eclesia searching for something
20160525 20:23:26 <Eclesia> rmk0:
20160525 20:23:28 <Eclesia> final Temporal temporal1 = LocalTime.now();
20160525 20:23:28 <Eclesia> final Temporal temporal2 = YearMonth.now();
20160525 20:23:28 <Eclesia> temporal1.get(ChronoField.DAY_OF_MONTH); //exception
20160525 20:23:28 <Eclesia> //how do you now the available fields of each temporal ?
20160525 20:24:38 <Eclesia> the only way I found was to make an instanceof test for each known subtype : Year,YearMont,LocalTime,Datetime,.......
20160525 20:25:56 <rmk0> doesn't LocalTime.now() return a LocalTime?
20160525 20:27:41 <Eclesia> it does but in the I had a work, the date attribute was from various string not always the same (201615, 2016-15-31, 2016-15-31T15h10) so nothing guarantee me it was a LocalTime
20160525 20:28:57 <Eclesia> so I used Temporal, the parent class. but when I had to write back the information in text I formatted it in ISO-8601
20160525 20:29:33 <Eclesia> so the precision changed, not the same type of date and all the problems which comes with it
20160525 20:30:23 <Eclesia> basicaly I read "2016-10" and write "2016-10-01T00:00:00.000Z" which ain't the same
20160525 20:33:35 <Eclesia> see ?
20160525 20:34:53 <rmk0> maybe
20160525 20:35:57 <Eclesia> well nevermind, I'm making a new api anyway :D
20160525 20:39:13 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160525 21:15:38 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20160525 23:02:58 * bigpet (uid25664@anon) Quit (Quit: Connection closed for inactivity)
20160526 00:53:15 * rmk0 (~rmk0@anon) Quit (Ping timeout: 260 seconds)
20160526 00:56:42 * dwbrite (4474ac1d@anon) Quit (Ping timeout: 250 seconds)
20160526 02:32:00 * MikeM_ (4b4845d1@anon) has joined #jogamp
20160526 02:32:48 <MikeM_> hi, I'm trying to compile a project in Eclipse that specifies JOGL as a compile dependency in the build.gradle file.
20160526 02:33:44 <MikeM_> I'm wondering if the Eclipse Gradle STS plugin should be able to setup the project classpath just based on the gradle build file?
20160526 02:34:31 <MikeM_> The jogamp wiki explain how to add the JOGL jars as a user library, or a separate project, but I wouldn't expect this to be necessary...
20160526 02:34:45 <MikeM_> The problem seems to be that the transitive dependencies are not being added to the classpath.
20160526 02:36:37 <MikeM_> The gradle build file specifies compile 'org.jogamp.jogl:jogl-all-main:2.3.2' and compile 'org.jogamp.gluegen:gluegen-rt-main:2.3.2'
20160526 02:38:39 <MikeM_> The gradle eclipse plugin then adds the following to the classpath: jogl-all-main-2.3.2.jar, jogl-all-2.3.2-natives-windows-i586.jar, gluegen-rt-main-2.3.2.jar, and gluegen-rt-2.3.2-natives-windows-i586.jar
20160526 02:40:11 <MikeM_> Notably, jogl-all-2.3.2.jar is not added, and when I browse into my Gradle cache it is this jar that seems to contain all the classes needed to compile against.
20160526 02:40:45 <MikeM_> Building with the gradle tasks works and produces a runnable jar, but the Eclipse compiler produces errors as it cannot find any JOGL classes.
20160526 02:40:55 <MikeM_> Has anyone run into this issue and found a fix?
20160526 02:51:45 <MikeM_> I also tried adding compile 'org.jogamp.jogl:jogl-all:2.3.2' to the build.gradle file, but even when this line is present the jogl-all-2.3.2.jar file is not added to the classpath!
20160526 03:05:27 * rmk0 (~rmk0@anon) has joined #jogamp
20160526 03:50:51 * MikeM_ (4b4845d1@anon) Quit (Quit: Page closed)
20160526 04:33:33 * SHC (~quassel@anon) has joined #jogamp
20160526 05:03:51 * SHC (~quassel@anon) Quit (Ping timeout: 246 seconds)
20160526 05:06:14 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20160526050614.html