#jogamp @ irc.freenode.net - 20140705 05:05:30 (UTC)


20140705 05:05:30 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20140704050529.html
20140705 05:05:30 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20140705050530.html
20140705 07:17:46 * hija (~hija@anon) Quit (Quit: hija)
20140705 07:36:22 * kermyt (~kermyt@anon) Quit (Ping timeout: 248 seconds)
20140705 07:49:44 * kermyt (~kermyt@anon) has joined #jogamp
20140705 07:57:54 * monsieur_max (~maxime@anon) has joined #jogamp
20140705 07:58:01 * monsieur_max (~maxime@anon) Quit (Client Quit)
20140705 10:56:03 * Eclesia (~eclesia@anon) has joined #jogamp
20140705 10:56:07 <Eclesia> hi
20140705 11:24:58 <sgothel> hi
20140705 12:00:08 <sgothel> http://jogamp.org/deployment/archive/master/gluegen_806-joal_548-jogl_1300-jocl_981/archive/jogamp-all-platforms.7z
20140705 12:00:23 <sgothel> @Mark: We have an oculusvr module now
20140705 12:00:41 <sgothel> I like to push the above to our maven ..
20140705 12:00:57 <sgothel> Shall we finish your changeset first ?
20140705 12:01:02 <sgothel> (gluegen etc)
20140705 12:05:23 <sgothel> http://forum.jogamp.org/Re-Bug-1021-Add-OculusVR-distortion-renderer-single-FBO-and-dual-FBO-td4032524.html
20140705 12:06:50 * rmk0 appears
20140705 12:06:56 <sgothel> typos typos typos .. ah my dear :)
20140705 12:06:59 <rmk0> lo... do my changes look ok?
20140705 12:07:09 <sgothel> I will use the opportunity now :)
20140705 12:07:11 <sgothel> damn it
20140705 12:07:20 <rmk0> /o\
20140705 12:07:21 <sgothel> was still refining that VR thingy
20140705 12:07:39 <rmk0> if the changes look ok, i need to make a couple of changes to the maven deployment scripts, otherwise they'll be deployed without natives again
20140705 12:08:03 <sgothel> yes - so we put this on hold (maven deployment) .. and fix things now
20140705 12:08:09 <sgothel> merging .. etc now
20140705 12:08:12 <rmk0> ok
20140705 12:08:40 <sgothel> btw I also dropped jogl-test-java-src.zip in jogamp-all.7z ..
20140705 12:08:50 <sgothel> so users can read the unit tests for documentation
20140705 12:08:56 <sgothel> within their fav. IDE
20140705 12:09:50 <rmk0> hm, right
20140705 12:09:53 <sgothel> forgive me my sloppyness .. your git URL pls ..
20140705 12:10:09 <rmk0> http://github.com/io7m/gluegen
20140705 12:10:11 <rmk0> http://github.com/io7m/jogl
20140705 12:17:46 <sgothel> 3901130f7fa4b3484a202f5db3a541f1edf9d6e8 <- don't like it .. it was tested and intended for future use (maybe) - not necessary to remove :)
20140705 12:17:54 <sgothel> (as you said, it was even tested ..)
20140705 12:18:11 <sgothel> (should be a helper .. template to impl. ClassLoader actually)
20140705 12:18:42 <sgothel> 46faa59d439ef235d7691fc64d56eedc600ffa1a <- you removed comments like 'jarBasename jar basename w/ suffix'
20140705 12:19:00 <sgothel> this usually help me to remind myself .. :)
20140705 12:19:50 <rmk0> sgothel: we're using version control... if it needs to be re-added, it's there. it was mainly removed because it represented another unused entry point into that class that'd have to be updated when the classloader changes went in
20140705 12:19:56 <rmk0> it seemed to be doing extra work that nothing used
20140705 12:20:45 <sgothel> (just a first nagging round .. no worries :)
20140705 12:20:52 <rmk0> hehe, no, keep at it!
20140705 12:20:55 <rmk0> is the point of this
20140705 12:21:16 * rmk0 eyes 46faa59d439ef235d7691fc64d56eedc600ffa1a
20140705 12:21:35 <rmk0> smashing the comment may've been accidental... was trying to work out what was still relevant with the extra parameters removed
20140705 12:22:37 <sgothel> gluegen: Great!
20140705 12:22:40 <rmk0> may've been overly zealous
20140705 12:24:41 <sgothel> 46faa59d439ef235d7691fc64d56eedc600ffa1a: AFAIRemember .. I used the 'msg' also to postpone all the debug output, so it will not be disturbed by debug output of called methods incl. stack traces ??
20140705 12:24:48 <sgothel> line 186 etc ..
20140705 12:25:11 <sgothel> 'slim' 'fat' etc
20140705 12:25:45 <sgothel> the debug output is a life saver here sometimes for user reports :)
20140705 12:26:22 * rmk0 eyes it
20140705 12:26:46 <sgothel> then: String.format("natives/%s/", PlatformPropsImpl.os_and_arch) <- is slower
20140705 12:26:52 <sgothel> than a + "lala" + b
20140705 12:26:56 <sgothel> AFAIK
20140705 12:27:19 <sgothel> we use String.format for debug stuff to reduce string heap space - yes.
20140705 12:27:22 <rmk0> if anything... i'd expect StringBuilder to be slower than String.format to be slower than string concatenation
20140705 12:27:30 <rmk0> string concatenation has quadratic performance
20140705 12:27:30 <sgothel> ah
20140705 12:27:53 <rmk0> ...
20140705 12:27:54 <sgothel> so you think parsing the regexp is fast ? hmm
20140705 12:27:58 <rmk0> sorry, completely in reverse order
20140705 12:28:12 <rmk0> StringBuilder is fastest, followed by String.format, followed by string concatenation
20140705 12:28:25 <rmk0> in general
20140705 12:28:49 <sgothel> I doubt the latter two .. due to the expression .. hmm
20140705 12:29:18 <sgothel> yes, plain string concat might be equal to StringBuilder (if not even replaced by it)
20140705 12:29:26 <rmk0> the problem is that string concatenation has n^2 performance... a + b + c will allocate d = (a + b), and then d + c
20140705 12:29:46 <rmk0> it gets increasingly worse the more arguments to the concatenation
20140705 12:29:51 <sgothel> thx!
20140705 12:30:02 <sgothel> sounds good
20140705 12:30:22 <rmk0> stringbuilder is definitely the fastest, but as you know, it results in more lines of code
20140705 12:30:34 <sgothel> so how about your removal of the 'tail summary debug output' there ?
20140705 12:31:06 <sgothel> the intermediate calls to IOUtil and TempJarCache produce a lot .. maybe
20140705 12:31:28 <rmk0> er... where's that?
20140705 12:31:29 <sgothel> originally we dumped a summary at the end
20140705 12:31:58 <sgothel> 46faa59d439ef235d7691fc64d56eedc600ffa1a JNILibLoaderBase line 186 around .. whole method
20140705 12:32:15 <sgothel> addNativeJarLibsImpl
20140705 12:32:40 <sgothel> if you could re-instate the 'tail debug info' behavior in a followup patch ..
20140705 12:33:11 <rmk0> if it's needed, can do... i guess i'm not really sure of the benefit of putting it all at the end, as you'd basically lose the temporal ordering in the log output
20140705 12:33:30 <sgothel> right .. a matter of taste
20140705 12:33:53 <sgothel> here in this case, I liked to have a summary in the end .. since all others produce a lot debug ..
20140705 12:34:00 <rmk0> ok
20140705 12:34:10 <sgothel> thank you .. will merge gluegen then
20140705 12:34:35 <sgothel> CONFLICT (content) oops :)
20140705 12:34:48 <rmk0> yeah, i think my changes are incompatible with HEAD
20140705 12:34:55 <rmk0> likely build script stuff
20140705 12:35:17 <rmk0> er... i think that's definitely the case with jogl, not sure about gluegen
20140705 12:35:19 <sgothel> yup .. will resolve ..
20140705 12:37:50 <rmk0> think it might be worth packing the test sources in with the ordinary jogl sources during maven deployment
20140705 12:38:01 <rmk0> that way they're included in the standard -sources.jar and the IDE will find them automatically
20140705 12:38:03 <sgothel> sure
20140705 12:38:13 <sgothel> oh
20140705 12:38:32 <sgothel> in our all-7z .. we have a jogl-test jar file
20140705 12:38:46 <rmk0> ah... could turn that into a maven module
20140705 12:38:54 <rmk0> associate the sources with that
20140705 12:39:17 <rmk0> i'll see how it all turns out
20140705 12:44:34 <sgothel> forget the 'tail debug msg' thingy .. one can filter it out using the prefix :)
20140705 12:44:52 <sgothel> saves memory :)
20140705 12:46:01 <sgothel> jogl: lol .. you could have copied the files :)
20140705 12:46:28 <sgothel> KUDOS for: 5951b33b303df3a12888fe0fbc5ccc88112a3984 (docs)
20140705 12:47:04 <sgothel> value="http://download.java.net/media/jogl/jsr-231-2 <- hhaha
20140705 12:47:14 <sgothel> sed in action it seems :)
20140705 12:47:28 <rmk0> oops!
20140705 12:47:35 <rmk0> *ahem*
20140705 12:47:38 <sgothel> just thought .. while you are at it :)
20140705 12:48:06 <rmk0> ... what is that download.java.net link?
20140705 12:48:11 <sgothel> just to confirm: nothing has changed for the usual 'all' jar cases right ?
20140705 12:48:11 <rmk0> looks historic
20140705 12:48:18 <sgothel> very very historic :)
20140705 12:48:24 <rmk0> unless i've majorly screwed something up, nothing's changed for -all
20140705 12:48:31 <sgothel> thats great!
20140705 12:55:31 * hija (~hija@anon) has joined #jogamp
20140705 12:55:37 <sgothel> I will replace the additional <jar> w/ <copy tofile> .. if you don't mind, so it's clear it's the _same_ thing
20140705 12:56:11 <rmk0> yep, no problem
20140705 12:57:17 <sgothel> btw: 'Bug xxxx:' was missing in commit .. for simple reference
20140705 12:57:41 <rmk0> right
20140705 12:57:53 <sgothel> other than that: Great stuff .. testing
20140705 12:58:08 <rmk0> let's hope there aren't mysterious side effects...
20140705 12:58:25 <rmk0> adding the classloader stuff is likely to be more intrusive than these changes were
20140705 12:58:41 <sgothel> nope
20140705 12:58:56 <sgothel> its even more simple :)
20140705 12:58:56 <rmk0> the test suite did run to completion, at least
20140705 12:59:32 <sgothel> if jar file cannot be found, simply detect that class -> jar
20140705 12:59:33 <rmk0> it's simple to look up a jar file by class, yeah, but i'm not 100% sure when it should happen... presumably just when addNativeJarImpl fails?
20140705 12:59:37 <rmk0> right
20140705 12:59:48 <sgothel> we have that in our IO/Jar Utils ..
20140705 13:00:03 <rmk0> i suppose the main bit i don't know how to achieve is inserting the classes into the native jars
20140705 13:00:04 <sgothel> already lookup the jar file of the 'caller base class'
20140705 13:00:06 <rmk0> that's an ant issue
20140705 13:00:17 <sgothel> will do that :)
20140705 13:00:22 <rmk0> ok
20140705 13:00:34 <sgothel> so this is for Bug number ?
20140705 13:00:45 <rmk0> er, which "this"?
20140705 13:00:53 <sgothel> the stuff I merge now
20140705 13:01:01 <sgothel> 1023 ?
20140705 13:01:06 <rmk0> arguably it's for 1023 and 1024
20140705 13:01:13 <rmk0> i referenced both in the last jogl commit
20140705 13:03:50 * kermyt (~kermyt@anon) Quit (Ping timeout: 244 seconds)
20140705 13:10:17 <sgothel> all-noawt works .. great
20140705 13:11:25 <rmk0> \o/
20140705 13:13:54 <sgothel> pushed both
20140705 13:14:44 <sgothel> building ..
20140705 13:14:54 <sgothel> (jenkins that is)
20140705 13:16:06 <sgothel> yeah .. trouble is all modules must be edited to produce the class :)
20140705 13:16:16 <sgothel> will test for gluegen + jogl
20140705 13:17:07 <sgothel> https://jogamp.org/chuck/view/fwd/job/gluegen/807/ <- happy gluegen
20140705 13:17:39 <sgothel> https://jogamp.org/chuck/job/joal/549/ :)
20140705 13:17:59 <sgothel> joal + jocl: method changed ..
20140705 13:18:38 <sgothel> will do ..
20140705 13:25:20 <sgothel> done
20140705 13:32:51 <rmk0> \o/
20140705 13:33:00 <rmk0> ah yeah, didn't consider jocl and joal
20140705 13:33:20 <rmk0> i keep forgetting they exist... being doing so much opengl work, i've not had cause to work with joal yet
20140705 13:33:49 <sgothel> here: audio for video mainly :)
20140705 13:34:07 <sgothel> so the SBS 3d video work nice now ..
20140705 13:34:32 <sgothel> and it show how fragile image quality is w/ enabled sensors / head orientation rotation
20140705 13:34:59 <sgothel> then .. the image will hardly grid-fit .. and you see it :)
20140705 13:35:04 <rmk0> hrm
20140705 13:35:40 <sgothel> no so much visible w/ a plain colored gears .. but w/ lots of details .. it gets 'funny'
20140705 13:36:33 <sgothel> @Xerxes: Now you can implement your cardboard stereo device/renderer impl. - using factory to hook-up
20140705 13:37:19 <sgothel> probably simply by using fixed FOV and barrel distortion coefficient values as used w/ older OVR code .. like
20140705 13:37:30 <sgothel> http://github.prideout.net/barrel-distortion/
20140705 13:37:43 <sgothel> https://github.com/dghost/glslRiftDistort
20140705 13:37:53 <sgothel> https://github.com/danielr2e/worldwind-vr
20140705 13:38:36 <sgothel> - or - extract the mesh generator from the OVR source code - which would be much nicer,
20140705 13:38:52 <sgothel> since it saves some performance .. due to it's rendering within the visible region only
20140705 13:39:06 <sgothel> and pre-computes coefficients
20140705 13:39:20 <sgothel> probably the next step ..
20140705 14:32:36 * hija (~hija@anon) Quit (Quit: hija)
20140705 14:46:11 <sgothel> @Xerxes: could add Android sensor support / feeding in agnostic sensors (GYROSCOPE -> rotation for a start)
20140705 14:47:06 <sgothel> the adding something like eye-render-order in StereoDeviceRenderer, which also could simply return one eye .. (fake stereo using mono)
20140705 14:52:21 <Eclesia> what about martians ? they have 8 eyes don't they ?
20140705 14:52:31 <sgothel> hehe
20140705 14:52:37 <sgothel> spiderman
20140705 14:53:27 * Eclesia has been decoding vp8 all day, needed a stupid joke to refresh his mind
20140705 14:54:04 <sgothel> well .. not too stupid, was thinking about the hardcoded 2-eyes
20140705 14:54:32 <sgothel> at least should add support for multiple StereoDevice[Renderer] ..
20140705 14:54:49 <sgothel> so the stuff can be made visible for multiple headsets
20140705 14:57:06 <Eclesia> that remind me of this article : http://www.telegraph.co.uk/technology/news/10835849/Virtual-reality-for-chickens-fair-or-fowl.html
20140705 14:57:28 <Eclesia> :D
20140705 14:58:06 <sgothel> cute
20140705 14:59:03 <Eclesia> horrible in many ways, just knowing someone is brain sick enough to imagine this
20140705 15:03:08 <Eclesia> have to go, see you later ++
20140705 15:03:25 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20140705 16:41:20 * kermyt (~kermyt@anon) has joined #jogamp
20140705 17:23:08 * Hauer (~chatzilla@anon) has joined #jogamp
20140705 17:24:03 <Hauer> Hello, are people here with enough knowledge about OpenGL / JOGL so that they might help me with my problems implementing Uniform Buffers / Uniform Blocks in my program?
20140705 17:31:20 <sgothel> UBOs ? I always wanted to to use them .. not used yet, but I can assist
20140705 17:31:39 <sgothel> i.e. use GlueGen to make a c-struct accessible in java and use it for UBOs ..
20140705 17:32:29 <sgothel> afaik there is a keyword to make the memory layout compatible in shader code (CPU / GPU)
20140705 17:32:55 <sgothel> are you willing to try ? IMHO we should make a unit test
20140705 17:34:01 <sgothel> for step #1: look at GlueGen: com.jogamp.gluegen.test.junit.structgen.BuildStruct01
20140705 17:34:30 <sgothel> gluegen/src/junit/com/jogamp/gluegen/test/junit/structgen/BuildStruct01.java
20140705 17:34:56 <sgothel> It uses a 'CStruct annotation processor' to generate the binding at compile time
20140705 17:34:56 <Hauer> I don't think I can follow at all, never used gluegen
20140705 17:35:21 <sgothel> but you know, for UBOs you might like to map a c-struct to java and GPU/GLSL .. right ?
20140705 17:36:26 <Hauer> I understand but that might not seem nessecary, shouldn't it be all possible without?
20140705 17:36:54 <Hauer> My codebase stands and worked well with uniforms, though now that I changed it to UBOs it renders nothing anymore , though everything compiles and seems to run
20140705 17:37:08 <sgothel> I guess yes .. at least I have heard about it - then you might need to setup layout manually
20140705 17:37:20 <sgothel> ah
20140705 17:37:41 <sgothel> maybe you are willing to produce a small unit test, contribute that to JOGL ..
20140705 17:37:56 <sgothel> copy/paste one of our small ones .. and put in your UBO specifics ..
20140705 17:38:15 <sgothel> then we can deal w/ it together, since I liked to use it as well
20140705 17:38:23 <sgothel> plus: we need a unit test for this feature :)
20140705 17:38:35 <Hauer> So you guys have not tested UBOs yet?
20140705 17:38:53 <sgothel> so many words .. such a short answer :)
20140705 17:39:07 <sgothel> but I will help
20140705 17:39:47 <Hauer> So how are your unit tests structured? I was never a fan of writing tests for anything but debugg outputs for my own benefit
20140705 17:40:02 <sgothel> pls have a look .. in JOGL ..
20140705 17:40:07 <sgothel> there are tons of it
20140705 17:40:19 <sgothel> let me find one .. appropriate maybe
20140705 17:41:07 <sgothel> TestRulerNEWT01
20140705 17:42:28 <Hauer> aaand where can I find that
20140705 17:42:46 <sgothel> find jogl -name TestRulerNEWT01.java
20140705 17:43:10 <sgothel> jogl/src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java
20140705 17:43:25 <sgothel> or - if using Eclipse - 'open type'
20140705 17:43:53 <sgothel> (adding jogl-test.jar and attaching jogl-test-java-src.zip, if not using the whole source)
20140705 17:44:02 <sgothel> the latter is now included in latest aggregated build
20140705 17:44:38 <sgothel> GeomShader01TextureGL3
20140705 17:45:07 <sgothel> basically all starting w/ 'Test' will be tested
20140705 17:45:27 <sgothel> is ending w/ 'NEWT', it will be tested in an non AWT environment using NEWT
20140705 17:46:04 <sgothel> to reuse a GLEventListener, I put them into demo.<gl-profile>
20140705 17:46:22 <sgothel> the using tests will be in another package starting w/ 'Test'
20140705 17:46:35 <Hauer> That all seems to be a bit much for something I want to fix within an hour
20140705 17:46:39 <sgothel> TestRulerNEWT01 is pretty standalone ..
20140705 17:46:54 <Hauer> Also those tests seem to use your util lib
20140705 17:46:56 <sgothel> well, you would achieve more this way
20140705 17:47:13 <sgothel> yes, to minimize the test code ofc
20140705 17:47:27 <sgothel> there are plain tests as well .. your choice
20140705 17:48:32 <Hauer> I might be able to mock up an idea of my problem into some pastebin
20140705 17:48:47 <sgothel> too bad
20140705 17:49:27 <Hauer> Heh
20140705 17:49:34 <Hauer> I am looking thorugh your util lib code
20140705 17:50:01 <sgothel> see .. 30 min spend to tease you in supporting our project, hehe
20140705 17:50:14 <sgothel> b/c this is how things can be made better
20140705 17:50:24 <Hauer> I am actually managing my structures in a similar way
20140705 17:50:31 <sgothel> but all good .. one day I will do a UBO unit test :)
20140705 17:51:05 <sgothel> if you change your mind .. great, just push a git pull request or git-patch
20140705 17:52:34 <Hauer> Let's go on a bit slower here and find my problem first, if we find out that everything I do is rubbish anyway, a broken unit test won't help :-P
20140705 17:53:12 <Hauer> Also this is the first time I heared the word unit test in about 2 years
20140705 17:53:21 <sgothel> I see it different, a broken unit test is better than nothing, and once in - it will be tackled :)
20140705 17:54:04 <Hauer> On a side note: I am a CS student trying to write a 2D Sprite Library
20140705 17:54:14 <Hauer> I am not a professional at all :-P
20140705 17:54:40 <sgothel> I like to object, your are a CS student and might aim to high values ..
20140705 17:54:59 <sgothel> gogogogo :)
20140705 18:00:04 <Hauer> On a side note: How does NEWT work anyway ... I could copy some of that code from that NEWT unit test to get that GL Drawable and the actual GL Object for testing, correct?
20140705 18:00:36 <sgothel> yup
20140705 18:00:41 <sgothel> all tests are working ofc
20140705 18:01:01 <sgothel> the tests also have a main entry, so you can test them manually
20140705 18:01:06 <sgothel> if on a unix system ..
20140705 18:02:07 <sgothel> you can use (while in jogl/make) 'scripts/tests-x64.sh' which invokes 'scripts/tests.sh' ..
20140705 18:02:19 <sgothel> read - edit .. make it fit to your env.
20140705 18:02:27 <sgothel> or use eclipse .. to run a single test
20140705 18:03:12 <Hauer> Mah, I tried to keep working on my Arch Linux but since graphics drivers are a hell of a lot of work and configuration (and using any nvidia tool immediatly causes a stack fault), I went back to keep working on windows
20140705 18:03:33 <sgothel> Ok .. me currently creating GenericStereoDevice* implementations .. to expose some stereoscopic playground w/o an OVR device
20140705 18:04:15 <Hauer> On another note
20140705 18:04:25 <Hauer> what the hell does that unit test test anyway
20140705 18:04:40 <sgothel> NV novou (sic) .. may suck, but Intel/AMD Mesa driver are top notch IMHO, e.g. Debian 8
20140705 18:04:58 <sgothel> the 'ruler' ?
20140705 18:05:21 <sgothel> unit test exist for many reasons ..
20140705 18:05:32 <Hauer> The question is rather
20140705 18:05:36 <sgothel> one is ofc testing code automatically
20140705 18:05:40 <Hauer> since stuff get's drawn to a screen
20140705 18:05:45 <Hauer> what do you assert
20140705 18:05:53 <Hauer> For my problem for exsample
20140705 18:05:56 <Hauer> everything compiles
20140705 18:05:58 <Hauer> everything runs
20140705 18:05:59 <sgothel> another one to encourage API writer to USE the API .. which is a documentation as well
20140705 18:06:03 <Hauer> there exists no GL_ERROR
20140705 18:06:10 <Hauer> yet still it does not work like I want
20140705 18:06:27 <sgothel> it's often hard to let it test automatically .. especially if there is no feedback
20140705 18:06:44 <sgothel> at least .. a test case exist .. and it can be tested manually
20140705 18:07:04 <sgothel> plus API is tested .. i.e. guaranteed to exits
20140705 18:07:14 <sgothel> *exist* :)
20140705 18:07:31 <Hauer> I don't get a word you say ...
20140705 18:07:36 <sgothel> ah
20140705 18:19:22 <Hauer> Do your unit tests test anything but "did the setup work so one MIGHT use that setup to render something"?
20140705 18:20:16 <sgothel> we sure test function as well, where possible - many NEWT tests for example. Also shader code has to pass through on all platforms etc
20140705 18:20:50 <sgothel> we have some GL debug tests, and do test buffer mappings etc
20140705 18:21:53 <Hauer> What I rather wish to ask is: When my whole setup compiles, runs and "seem" to work, how would a unit test help me to understand what is going wrong when something actually does *not* get rendered as it should (or at all in my case)
20140705 18:23:50 <sgothel> thats why I mentioned 'feedback' ^^ .. a problem w/ GLSL
20140705 18:24:10 <sgothel> so for now, we have test manually here, maybe we can find a validation criteria ..
20140705 18:24:38 <sgothel> however, once the test works and is validated (manually or automatic), we have a template and can find regressions etc
20140705 18:25:11 <sgothel> for example, a shader could render things red if a value is not as expected
20140705 18:25:25 <sgothel> then the test could read the buffer .. and test
20140705 18:27:09 <sgothel> but: baby steps are highly recommended, enhancing this step-by-step
20140705 18:32:45 <Hauer> Hmh
20140705 18:32:51 <Hauer> That might actually be a way ...
20140705 18:33:55 <rmk0> getting observable state out of opengl that can be tested is an adventure in itself
20140705 18:34:28 <Hauer> Hmh would you be able to help me with my problem before recruiting me to the team?
20140705 18:35:12 <rmk0> i can look, but i don't use UBOs personally, so i'm not sure how much use i'd be
20140705 18:36:13 <Hauer> Okay, so let me explain what I want to do first: I want to draw a sprite image onto the screen
20140705 18:36:49 <sgothel> @Hauer: You got an excellent offer to get help, please do your duty here as well ..
20140705 18:36:57 <Hauer> I will
20140705 18:37:07 <Hauer> I am already writing a test project for your "unit test"
20140705 18:37:14 <sgothel> trust me, w/o a simple unit test .. we cannot help efficiently .. i.e. we need to see the code in proper form
20140705 18:37:20 <sgothel> great
20140705 18:37:28 <sgothel> then lets cont discussion when it is done
20140705 18:37:36 <Hauer> Though I promise it will not conform to much of any kind of standard
20140705 18:37:44 <sgothel> (git pull req. or git patch)
20140705 18:37:54 <sgothel> no problem
20140705 18:38:15 <sgothel> compile clean and 'launchable' most small code .. thats a great base for discussion
20140705 18:39:00 <sgothel> plus: you will become famous :) (in our SCM ..)
20140705 18:39:59 <sgothel> (it's my job trying to get new folks in - and to delgate - even if it costs time :)
20140705 18:43:51 * hija (~hija@anon) has joined #jogamp
20140705 18:56:27 <Hauer> for testing: there was a way to access the coordinates onscreen of a pixel in a fragment shader - what was it?
20140705 18:56:48 <sgothel> gl_Position ?
20140705 18:56:59 <sgothel> guess it's in the Ruler shader ..
20140705 18:57:00 <Hauer> yeah, I am stupid sometimes
20140705 18:57:25 <sgothel> nope, it's old mans syndrom .. I know it :)
20140705 18:57:48 <rmk0> gl_FragCoord
20140705 18:57:56 <sgothel> ha :)
20140705 18:58:06 <sgothel> right .. gl_Position for vertex .. out
20140705 18:58:38 <Hauer> better
20140705 18:58:55 <Hauer> I guess gl_FragCoord gives me a vec2 with values from -1 to 1 =
20140705 18:59:01 <Hauer> * ?
20140705 18:59:23 <rmk0> actually gives results in screen space, with the origin at the bottom left
20140705 18:59:57 <Hauer> So from 0,0 to 400 in a 400x400 screen for example?
20140705 19:00:00 <rmk0> yep
20140705 19:03:24 <rmk0> suspect it's 399, if we're being pedantic
20140705 19:11:41 <Hauer> can I compare two vecX with a single == ?
20140705 19:12:16 <Hauer> so "if(bla == vec2(stuff,stuff)"
20140705 19:12:36 <rmk0> erm...
20140705 19:13:00 <rmk0> oh, sorry, thought you were asking how to compare
20140705 19:13:02 <rmk0> yeah... can do that
20140705 19:19:17 <Hauer> Okay
20140705 19:19:28 <Hauer> suddenly and without warning
20140705 19:19:32 <Hauer> I get that error
20140705 19:19:33 <Hauer> storage qualifier not valid with layout qualifier id
20140705 19:19:46 <Hauer> I did not change anything on my project
20140705 19:20:01 <Hauer> ERROR: 31904:8168: '' :
20140705 19:20:08 <Hauer> also these values are ... kind of off
20140705 19:20:09 <sgothel> run w/ -Djogl.debug.DebugGL
20140705 19:20:53 <Hauer> Is that a VM or Program argument?
20140705 19:21:09 <sgothel> a system property, hence a VM
20140705 19:21:48 <sgothel> -Djogl.debug.TraceGL .. also
20140705 19:21:59 <sgothel> -Djogl.debug.DebugGL -Djogl.debug.TraceGL
20140705 19:23:09 <rmk0> you don't see 31904 shaders every day
20140705 19:23:14 <rmk0> .. line
20140705 19:23:38 <sgothel> lol
20140705 19:23:52 <sgothel> EOS missing ?
20140705 19:24:18 <Hauer> ERROR: 0:? : '' : storage qualifier not valid with layout qualifier id
20140705 19:24:19 <Hauer> ERROR: 31904:8168: '' : storage qualifier not valid with layout qualifier id
20140705 19:24:21 <Hauer> Get no Error up until now
20140705 19:24:28 <Hauer> okay at least the first one now runs
20140705 19:25:01 <Hauer> Do I need a trailing empty line at the end of a shader program?
20140705 19:27:07 <rmk0> seem to remember some implementations warning if you don't
20140705 19:27:11 <rmk0> spec says nothing about it
20140705 19:28:22 <Hauer> You mean that error message is generated from my own personal driver?
20140705 19:28:29 <Hauer> *generated by
20140705 19:30:49 <rmk0> yeah... glsl programs are compiled by the driver
20140705 19:31:08 <rmk0> jogl passes them to the driver unmolested
20140705 19:31:37 <Hauer> Though that error message seems like something goes very very wrong there ...
20140705 19:32:01 <Hauer> especially since I did not get that error 2 hours ago
20140705 19:32:13 <Hauer> and I did nothing with my code regarding loading and linking shaders
20140705 19:32:38 <rmk0> is DebugGL enabled? some drivers will give you obscene amounts of information when something like that happens
20140705 19:37:09 <sgothel> ^^ latest NV .. and ADM driver for a long time
20140705 19:37:18 <sgothel> *AMD*
20140705 19:47:56 <sgothel> ^^ pls use our ShaderUtil in the unit test .. they will properly point you to the issue - use -Djogl.debug.GLSLCode as well
20140705 19:49:23 * hija (~hija@anon) Quit (Quit: hija)
20140705 20:08:35 <Hauer> okay gentlemen
20140705 20:08:38 <Hauer> I think I am done
20140705 20:08:58 <Hauer> I have *some* kind of test
20140705 20:09:02 * rmk0 awaits anxiously
20140705 20:09:29 <sgothel> github ? or git-patch ?
20140705 20:09:42 <sgothel> or your own accessible git repo ..
20140705 20:09:47 <Hauer> I'll publish a Gist
20140705 20:09:49 <Hauer> wait a second
20140705 20:10:01 <sgothel> to test and merge a pull req. would be best
20140705 20:10:10 <sgothel> (required)
20140705 20:10:48 <Hauer> listen
20140705 20:10:50 <Hauer> I have no
20140705 20:10:52 <Hauer> absolutely no
20140705 20:10:54 <Hauer> Idea
20140705 20:10:57 <Hauer> how people test stuff
20140705 20:11:32 <sgothel> a pull req. is something I can 'pull' in my workflow
20140705 20:11:37 <Hauer> https://gist.github.com/salbeira/0e111e17d30b6c496000
20140705 20:11:41 <sgothel> it doesn't mean it will get in immediatly :)
20140705 20:12:20 <sgothel> so you didn't copy/paste one of our unit tests ..
20140705 20:12:37 <Hauer> No I don't even know how a unit test should work :-)
20140705 20:12:53 <Hauer> Though that code there should accomplish what a test does
20140705 20:12:55 <sgothel> can you compile gluegen + jogl ?
20140705 20:13:05 <Hauer> Yes
20140705 20:13:08 <sgothel> great
20140705 20:13:14 <sgothel> then copy named 'ruler' unit test
20140705 20:13:19 <sgothel> and put in your code ..
20140705 20:13:48 <sgothel> if it compiles and you can launch it (IDE .. or the scripts/tests.sh) ..
20140705 20:13:56 <sgothel> you simply do git add <your file>
20140705 20:14:01 <sgothel> *files*
20140705 20:14:11 <sgothel> git push -> github
20140705 20:14:15 <sgothel> pull req. done
20140705 20:14:31 <sgothel> then I can get your stuff in an own branch to test and play
20140705 20:14:55 <sgothel> frist time might be hard .. but next time .. easy
20140705 20:14:59 <sgothel> *first*
20140705 20:15:02 <Hauer> It might
20140705 20:15:10 <Hauer> though you can also just check out that gist
20140705 20:15:18 <Hauer> create an eclipse project
20140705 20:15:22 <sgothel> do you know my schedule ?
20140705 20:15:22 <Hauer> put the files in there
20140705 20:15:31 <sgothel> you put a burden on me
20140705 20:15:33 <Hauer> I wouldn't even know you are working
20140705 20:16:10 <sgothel> why wouldn't one who seeks help tries to comfort those he asks ?
20140705 20:16:22 <sgothel> also: it helps you
20140705 20:16:26 <Hauer> Yes yes you are right
20140705 20:16:46 <Hauer> I just worked the last hour to get that test program up
20140705 20:16:52 <sgothel> that is great
20140705 20:16:55 <Hauer> and you basically told me "do it all again!"
20140705 20:17:00 <sgothel> nope
20140705 20:17:03 <sgothel> iterations
20140705 20:17:08 <sgothel> to perfection :)
20140705 20:17:24 <sgothel> nothing is lost, all is learned
20140705 20:17:32 <sgothel> this is a course in project management now
20140705 20:17:39 <sgothel> git, unit test and bugzilla
20140705 20:17:56 <sgothel> you may want to file a bug later on, if your tests proves something is odd
20140705 20:18:14 <sgothel> then you did a *PERFECT* contribution
20140705 20:19:34 <Hauer> Now I need to find that test file again
20140705 20:21:14 <sgothel> only consider things exist if they are either in an SCM or bugzilla report, everything else is transient only
20140705 20:21:44 <Hauer> I don't even know what SCM bugzilla or transient means in that context
20140705 20:24:25 <sgothel> git is an SCM
20140705 20:24:31 <sgothel> bugzilla our bug tracker
20140705 20:24:42 <sgothel> transient: everything else doesn't exist
20140705 20:24:58 <sgothel> (just for a short period of time)
20140705 20:25:58 <Hauer> It seems like my JOGL user lib does not have your Test environment
20140705 20:26:34 <sgothel> you have ant, otherwise you could not compile
20140705 20:26:46 <sgothel> everything else is included .. junit from gluegen .. etc
20140705 20:26:57 <sgothel> you refer to the test script ?
20140705 20:27:30 <sgothel> yes, it's my sandbox .. but you can edit those to match your locations of java etc ..
20140705 20:27:32 <Hauer> I refer that my IDE does not find org.junit.Assert for example
20140705 20:27:40 <sgothel> oh
20140705 20:27:45 <Hauer> or com.jogamp.opengl.test.junit
20140705 20:27:47 <Hauer> etc.
20140705 20:27:54 <sgothel> Wade wrote that part in our Wiki
20140705 20:27:57 <sgothel> one sec ..
20140705 20:27:57 <Hauer> though I just fixed the latter
20140705 20:28:53 <sgothel> http://jogamp.org/wiki/index.php/Building_JOGL_in_Eclipse
20140705 20:29:13 <sgothel> different setup if *building* JOGL in Eclipse ..
20140705 20:31:10 <Hauer> I did not build it in eclipse
20140705 20:31:21 <Hauer> And I do not know what you are trying to make me do here
20140705 20:31:38 <sgothel> yeah .. however, the wiki explains certain setup steps to also run unit test in there ..
20140705 20:31:53 <sgothel> you mentioned: can't run unit test in eclipse
20140705 20:32:13 <sgothel> since it's saturday evening: build me a house ? :)
20140705 20:32:20 <Hauer> ...
20140705 20:32:26 <sgothel> kidding
20140705 20:32:31 <Hauer> okay
20140705 20:32:37 <Hauer> this will take ages untill it works
20140705 20:32:44 <Hauer> since the very first problem already is
20140705 20:33:10 <Hauer> that the unit test seems to have to extend UITestCase
20140705 20:33:15 <Hauer> or something else
20140705 20:33:25 <sgothel> then run test via test.sh test-x64.sh script
20140705 20:33:37 <sgothel> much easier .. if you are familiar w/ shell scripts
20140705 20:34:13 <sgothel> UITestCase .. yup, just copy paste one test .. *Ruler* test ..
20140705 20:34:47 <sgothel> UITestCase allows only one test to be run at a time, using a singleton network port synchronization :)
20140705 20:34:58 <Hauer> ...
20140705 20:35:01 <sgothel> beside having some utilities ..
20140705 20:35:12 <sgothel> but you don't need to know all this .. just copy/paste
20140705 20:35:31 <Hauer> Okay here is how my test works: Create a JFrame with a GLCanvas, setup the whole thing, display the window, and hope that the correct stuff get's displayed
20140705 20:35:47 <sgothel> good
20140705 20:36:06 <sgothel> you may like to copy an AWT unit test ..
20140705 20:36:37 <Hauer> I think the first thing I need still is some kind of unit test package OR
20140705 20:36:48 <Hauer> you just run the damn program o.O
20140705 20:37:00 <sgothel> com.jogamp.opengl.test.junit.jogl.acore
20140705 20:38:29 <Hauer> Where is the source of these tests anyway?
20140705 20:38:42 <sgothel> in jogl
20140705 20:39:13 <sgothel> (07:43:10 PM) sgothel: jogl/src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java
20140705 20:39:56 <sgothel> since NEWT tests are more easy .. maybe just put your stuff in the GLEventListener .. done
20140705 20:41:24 <sgothel> com.jogamp.opengl.test.junit.jogl.awt.TestAWT01GLn <- simple AWT test
20140705 20:43:30 <Hauer> Okay now I just need the junit package
20140705 20:43:35 <Hauer> so
20140705 20:43:37 <Hauer> I mean
20140705 20:43:42 <Hauer> the thing that lets me run junits
20140705 20:43:47 <Hauer> not your junits
20140705 20:44:01 <Hauer> org.junit.
20140705 20:48:58 <Hauer> yay
20140705 20:49:10 <Hauer> it works
20140705 20:49:13 <Hauer> and as I said
20140705 20:49:37 <Hauer> the test is unable to detect any error as the window just appears and then disappears right away
20140705 20:50:26 <rmk0> Hauer: if your code matches that gist... it never runs
20140705 20:50:42 <rmk0> the Test class implements GLEventListener, but you never add it to the canvas
20140705 20:50:50 <rmk0> canvas.addGLEventListener(this)
20140705 20:51:13 <Hauer> finally someone looks at it and tells me something :-P
20140705 20:51:53 <rmk0> everyone in this channel is pretty much chiselling granite sculptures 24/7
20140705 20:52:26 <rmk0> can take a while!
20140705 20:56:30 <Hauer> Hmh
20140705 20:56:52 <Hauer> Okay strangely the setup of the VAO to draw the square to display seems to be broken
20140705 20:57:12 <Hauer> element vertex_buffer_object must be bound to call this method
20140705 20:57:50 <rmk0> which method?
20140705 20:58:06 <Hauer> glDrawElements
20140705 20:59:06 <Hauer> in display()
20140705 20:59:49 * rmk0 eyes it suspiciously
20140705 21:03:11 <Hauer> updated the gist again
20140705 21:03:13 <Hauer> https://gist.github.com/salbeira/0e111e17d30b6c496000
20140705 21:04:17 <rmk0> i don't see anything obviously wrong with your VAO usage, but you are using a bit of a weird mix of deprecated features
20140705 21:04:36 <Hauer> like?
20140705 21:04:41 <rmk0> gl.glEnable(GL_TEXTURE_2D); hasn't existed since 2.1
20140705 21:04:53 <Hauer> So I dont need it anymore?
20140705 21:05:03 <rmk0> nope
20140705 21:05:25 <Hauer> what about the other glEnables?
20140705 21:05:34 <Hauer> The thing that is weird is
20140705 21:05:58 <Hauer> I wrote the whole thing already once , only that I used uniforms instead of uniform blocks
20140705 21:06:00 <rmk0> thought i saw another, but it looks like i was wrong
20140705 21:06:02 <Hauer> and everything worked
20140705 21:06:21 <sgothel> gl.glEnable(GL_TEXTURE_2D); <- not allowed in core profiles
20140705 21:06:57 <rmk0> UBOs are obnoxiously difficult to get right
20140705 21:07:05 <rmk0> silent failure like this is practically guaranteed
20140705 21:07:13 <sgothel> test w/ core profiles .. always
20140705 21:07:51 <sgothel> if using VAO, don't mix w/ 'dedicated/traditional'
20140705 21:07:51 <rmk0> Hauer: you're on nvidia on windows and didn't ask for a specific profile when you create the GLCanvas, so i think that driver's going to give you a 4.4 compatibility context (so you won't get errors for using deprecated features)
20140705 21:07:59 <rmk0> *created
20140705 21:08:12 <Hauer> I never did, yes
20140705 21:08:16 <Hauer> Though
20140705 21:08:24 <Hauer> I did all the code before with GL2.blah
20140705 21:08:39 <Hauer> I just changed it to GL4 to look more current :-P
20140705 21:09:22 <rmk0> is usually best to use one of the aggregated interfaces like GL3ES3, GL2GL3, depending on which parts of the spec you're using
20140705 21:09:29 <rmk0> i generally target GL3ES3 these days
20140705 21:09:41 <rmk0> is about the bare minimum sane set of features
20140705 21:10:04 <rmk0> (that's the common subset of opengl 3.* core and ES3)
20140705 21:10:46 <rmk0> pretty sure none of this is going to solve your problem... DebugGL really doesn't give any more information?
20140705 21:10:58 <rmk0> on those drivers, it should be spewing a completely excessive amount of debugging output
20140705 21:12:43 <rmk0> you can't really avoid reading the specifications if you want to program opengl... is way, way too easy to get things wrong
20140705 21:13:19 <Hauer> glGetString(<int> 0x1F02) = 4.0.0 - Build 9.18.10.3257
20140705 21:13:21 <Hauer> glGetError() = 0
20140705 21:13:22 <Hauer> glEnable(<int> 0xBE2)
20140705 21:13:24 <Hauer> glGetError() = 0
20140705 21:13:25 <Hauer> glBlendFunc(<int> 0x302, <int> 0x303)
20140705 21:13:27 <Hauer> glGetError() = 0
20140705 21:13:28 <Hauer> glClearColor(<float> 0.0, <float> 0.0, <float> 0.0, <float> 1.0)
20140705 21:13:30 <Hauer> glGetError() = 0
20140705 21:13:31 <Hauer> glClearDepth(<double> 0.0)
20140705 21:13:33 <Hauer> glGetError() = 0
20140705 21:13:34 <Hauer> glEnable(<int> 0xB71)
20140705 21:13:36 <Hauer> glGetError() = 0
20140705 21:13:37 <Hauer> glDepthFunc(<int> 0x203)
20140705 21:13:39 <Hauer> glGetError() = 0
20140705 21:13:41 <Hauer> glCreateShader(<int> 0x8B31) = 1
20140705 21:13:42 <Hauer> glGetError() = 0
20140705 21:13:44 <Hauer> glShaderSource(<int> 0x1, <int> 0x1, <[Ljava.lang.String;>, <java.nio.IntBuffer> null)
20140705 21:13:45 <Hauer> glGetError() = 0
20140705 21:13:47 <Hauer> glCompileShader(<int> 0x1)
20140705 21:13:48 <Hauer> glGetError() = 0
20140705 21:13:50 <Hauer> glGetShaderInfoLog(<int> 0x1, <int> 0x200, <java.nio.IntBuffer> java.nio.HeapIntBuffer[pos=0 lim=16 cap=16], <java.nio.ByteBuffer> java.nio.HeapByteBuffer[pos=0 lim=512 cap=512])
20140705 21:13:51 <Hauer> glGetError() = 0
20140705 21:13:53 <Hauer> No errors.
20140705 21:13:54 <Hauer> glCreateShader(<int> 0x8B30) = 2
20140705 21:13:56 <Hauer> glGetError() = 0
20140705 21:13:57 <Hauer> glShaderSource(<int> 0x2, <int> 0x1, <[Ljava.lang.String;>, <java.nio.IntBuffer> null)
20140705 21:13:59 <sgothel> gist might be better dude!
20140705 21:13:59 <Hauer> glGetError() = 0
20140705 21:14:00 <Hauer> glCompileShader(<int> 0x2)
20140705 21:14:02 <Hauer> glGetError() = 0
20140705 21:14:03 <Hauer> glGetShaderInfoLog(<int> 0x2, <int> 0x200, <java.nio.IntBuffer> java.nio.HeapIntBuffer[pos=0 lim=16 cap=16], <java.nio.ByteBuffer> java.nio.HeapByteBuffer[pos=0 lim=512 cap=512])
20140705 21:14:05 <Hauer> glGetError() = 0
20140705 21:14:05 <sgothel> stop stop stop
20140705 21:14:06 <Hauer> Exception in thread "main-AWTAnimator" java.lang.RuntimeException: java.lang.IndexOutOfBoundsException
20140705 21:14:08 <Hauer> at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
20140705 21:14:09 <Hauer> at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
20140705 21:14:11 <Hauer> at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
20140705 21:14:12 <Hauer> at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
20140705 21:14:14 <Hauer> at javax.media.opengl.Threading.invoke(Threading.java:191)
20140705 21:14:15 <Hauer> at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:543)
20140705 21:14:17 <Hauer> at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:75)
20140705 21:14:18 <Hauer> at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:416)
20140705 21:14:20 <Hauer> at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:188)
20140705 21:14:21 <Hauer> at java.lang.Thread.run(Unknown Source)
20140705 21:14:23 <Hauer> Caused by: java.lang.IndexOutOfBoundsException
20140705 21:14:24 <Hauer> at java.nio.Buffer.checkIndex(Unknown Source)
20140705 21:14:26 <Hauer> at java.nio.HeapByteBuffer.get(Unknown Source)
20140705 21:14:27 <Hauer> at opengl.UniformBufferTestWindow.loadShader(UniformBufferTestWindow.java:158)
20140705 21:14:29 <Hauer> at opengl.UniformBufferTestWindow.initializeShaderProgram(UniformBufferTestWindow.java:94)
20140705 21:14:30 <Hauer> at opengl.UniformBufferTestWindow.init(UniformBufferTestWindow.java:79)
20140705 21:14:30 <sgothel> lol
20140705 21:14:32 <Hauer> at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:617)
20140705 21:14:33 <Hauer> at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:639)
20140705 21:14:35 <Hauer> at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1295)
20140705 21:14:36 <Hauer> at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1117)
20140705 21:14:38 <Hauer> at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:994)
20140705 21:14:39 <Hauer> at javax.media.opengl.awt.GLCanvas$11.run(GLCanvas.java:1323)
20140705 21:14:41 <Hauer> at java.awt.event.InvocationEvent.dispatch(Unknown Source)
20140705 21:14:42 <Hauer> at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
20140705 21:14:44 <Hauer> at java.awt.EventQueue.access$200(Unknown Source)
20140705 21:14:45 <Hauer> at java.awt.EventQueue$3.run(Unknown Source)
20140705 21:14:47 <Hauer> at java.awt.EventQueue$3.run(Unknown Source)
20140705 21:14:48 <Hauer> at java.security.AccessController.doPrivileged(Native Method)
20140705 21:14:50 <Hauer> at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
20140705 21:14:51 <Hauer> at java.awt.EventQueue.dispatchEvent(Unknown Source)
20140705 21:14:53 <Hauer> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
20140705 21:14:54 <Hauer> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
20140705 21:14:56 <Hauer> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
20140705 21:14:57 <Hauer> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
20140705 21:14:59 <Hauer> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
20140705 21:15:01 <Hauer> at java.awt.EventDispatchThread.run(Unknown Source)
20140705 21:15:04 <Hauer> That is already all
20140705 21:15:15 <rmk0> hehe
20140705 21:15:18 <sgothel> next time use some web reference
20140705 21:15:42 <rmk0> imagining sparks and sirens going off in sgothel's office
20140705 21:15:47 <rmk0> "stop stop stop!"
20140705 21:15:58 <sgothel> hehe
20140705 21:15:59 <Hauer> What is wrong with the Animator?
20140705 21:16:09 <sgothel> open your eyes ..
20140705 21:16:15 <sgothel> looks above at my 'lol'
20140705 21:16:36 <Hauer> It says index out of bounds exception within some internal function of the animator
20140705 21:16:49 <sgothel> hell no .. it's you
20140705 21:16:56 <Hauer> woo
20140705 21:17:06 <sgothel> at opengl.UniformBufferTestWindow.loadShader(UniformBufferTestWindow.java:158)
20140705 21:17:20 <sgothel> I mentioned EOS earlier :)
20140705 21:18:18 <Hauer> Uhm
20140705 21:18:21 <Hauer> EOS ?
20140705 21:18:27 <Hauer> End Of Stream?
20140705 21:19:04 <Hauer> End Of Service?
20140705 21:19:15 <Hauer> That code batch there always worked until now
20140705 21:20:22 <Hauer> Ooooh
20140705 21:20:24 <Hauer> Now I see
20140705 21:20:50 <sgothel> END OF STRING
20140705 21:21:39 <Hauer> Is there a jogamp util class that lets me read out and parse the error messages of a shader program?
20140705 21:21:55 <Hauer> I mean I obviously do that down there
20140705 21:22:01 <sgothel> I told you earlier, thats why we have nice tools for the trivial stuff
20140705 21:22:07 <sgothel> ^^^ ShaderUtils .. etc
20140705 21:22:26 <sgothel> trust me: put your code into a copied version of the *Ruler* test case dude!
20140705 21:22:47 <sgothel> then also add the mentioned GLSL debug property
20140705 21:24:55 <Hauer> Uhm ...
20140705 21:25:06 <Hauer> How would I
20140705 21:25:14 <Hauer> I don't know what the ruler test code does
20140705 21:25:14 <Hauer> how it is launched
20140705 21:25:22 <Hauer> what it does
20140705 21:25:23 <Hauer> how it works
20140705 21:25:24 <Hauer> whatever
20140705 21:25:25 <Hauer> argh
20140705 21:25:30 <Hauer> I NEVER worked with these
20140705 21:25:47 <Hauer> just CTRL - C and CTRL - V seems kind of NOT what you try to tell me here
20140705 21:26:24 <Hauer> When did you mention GLSL debug property?
20140705 21:26:46 <Hauer> Well but update
20140705 21:26:52 <Hauer> now it works fine
20140705 21:26:52 <Hauer> but
20140705 21:26:55 <Hauer> still nothing to see
20140705 21:27:00 <Hauer> a black screen
20140705 21:27:07 <Hauer> no red nor green
20140705 21:28:55 <rmk0> if(three != vec2(3,3,3,3)){
20140705 21:28:58 <rmk0> ^^ type error
20140705 21:29:17 <rmk0> if(two != vec4(4,4)){
20140705 21:29:20 <rmk0> ^^ type error!
20140705 21:29:40 <rmk0> vec2 pos = gl_FragCoord;
20140705 21:29:43 <Hauer> fixed that already
20140705 21:29:44 <rmk0> .. type error!
20140705 21:30:02 <Hauer> also that
20140705 21:30:05 <rmk0> i feel like i'm not actually reading the code you're running
20140705 21:30:15 <Hauer> Wait
20140705 21:30:29 <Hauer> I am updating and fixing things all the time
20140705 21:30:32 <Hauer> going to put it into a real git repo now
20140705 21:36:37 <Hauer> darn how do I change the remote origin of a git repo when I did a typo
20140705 21:37:00 <sgothel> git help remote
20140705 21:39:46 <Hauer> https://bitbucket.org/salbeira/jogl-ubo-tester/src
20140705 21:40:18 <Hauer> wait
20140705 21:40:31 <Hauer> remove the /src
20140705 21:40:32 <Hauer> that shouldnt be there
20140705 21:46:16 <Hauer> okay
20140705 21:46:33 <Hauer> Now I need to find a way to "integrate" what I did into that unit test of yours
20140705 21:47:14 <Hauer> I hope you appreciate that I am doing something now for 5 hours where if you would have just told me "yeah show me your code, I'll help" I would be already done 3 hours ago ...
20140705 21:50:02 <rmk0> i had to change your use of GL4 to GL3, as the hardware i'm using can't do GL4
20140705 21:50:06 <rmk0> i get...
20140705 21:50:42 <rmk0> http://waste.io7m.com/2014/07/05/green.png
20140705 21:55:19 <Hauer> That looks
20140705 21:55:21 <Hauer> wierd
20140705 21:55:27 <Hauer> I get a black screen
20140705 21:56:29 <rmk0> gl_Position = vec4 (vertex.x, vertex.y, -1, 1);
20140705 21:56:33 <rmk0> try that...
20140705 21:58:31 <rmk0> with z = 0, your vertices are in front of the near clipping plane
20140705 21:58:57 <Hauer> shouldn't z = 1 be "right in my face" ?
20140705 22:00:00 <rmk0> just... behind your face
20140705 22:00:33 <Hauer> mmmhmmm
20140705 22:00:39 <Hauer> well now I get something interesting
20140705 22:00:44 <Hauer> VERY interesting
20140705 22:02:57 <Hauer> http://i59.tinypic.com/k1qqfo.png
20140705 22:03:06 <Hauer> http://oi59.tinypic.com/k1qqfo.jpg
20140705 22:03:07 <Hauer> better
20140705 22:03:52 <rmk0> is that ... what you expecteD?
20140705 22:03:54 <Hauer> So let's see what area corresponds to what value in the buffer
20140705 22:03:57 <Hauer> No
20140705 22:04:03 <Hauer> Green means "OK" , Red means "Not"
20140705 22:04:45 <Hauer> The Bottom Left Area means the "vec2 one" is = (1,1) like it should be ;
20140705 22:05:12 <Hauer> The Bottom Right Area menas the "vec2 two" is = (2,2) like it should be
20140705 22:05:33 <Hauer> The Top Left Area means the "vec4 three" is = (3,3,3,3) like it should be
20140705 22:05:47 <Hauer> ant the Top Right ARea means the "vec2 four" is = (4,4) like it should be
20140705 22:06:07 <Hauer> wait
20140705 22:06:09 <Hauer> ...
20140705 22:06:13 <Hauer> I think I mixed up the colors
20140705 22:06:42 <Hauer> yap I set up the colors wrong
20140705 22:06:47 <Hauer> red is "ok" green is "wrong"
20140705 22:08:44 <rmk0> gl.glBufferData(GL2ES3.GL_UNIFORM_BUFFER, 8 * 4, floats, GL.GL_DYNAMIC_DRAW);
20140705 22:08:53 <rmk0> for the first glBufferData call
20140705 22:09:07 <rmk0> you're claiming the buffer is eight bytes rather than 8 * 4 bytes
20140705 22:09:31 <Hauer> mmmhmm
20140705 22:09:40 <rmk0> with that change, i get all red except for the top right quadrant
20140705 22:10:17 <Hauer> Now I get all green
20140705 22:10:22 <Hauer> or rather red
20140705 22:10:27 <Hauer> version update!
20140705 22:11:20 <Hauer> ok
20140705 22:11:29 <Hauer> I pushed the most recent version of my code
20140705 22:11:55 <Hauer> In terms of the unit test
20140705 22:11:57 <Hauer> final NEWTGLContext.WindowContext winctx = NEWTGLContext.createOnscreenWindow(
20140705 22:11:59 <Hauer> new GLCapabilities(GLProfile.getGL2ES2()), 640, 480, true);
20140705 22:12:07 <Hauer> How can I get a GL4 or GL3 version with that NEWT
20140705 22:12:19 <Hauer> as GL2ES2 does not seem to support shaders
20140705 22:12:45 <rmk0> GLProfile.getGL4ES3()
20140705 22:13:02 <rmk0> when you say GL2ES2 doesn't support shaders... what do you mean?
20140705 22:13:25 <Hauer> It means when I call gl.createShader it says "method not found"
20140705 22:13:51 <rmk0> .. eh?
20140705 22:13:53 <Hauer> The method glGenVertexArrays(int, IntBuffer) is undefined for the type GL2ES2
20140705 22:14:06 <Hauer> The method glUniformBlockBinding(int, int, int) is undefined for the type GL2ES2
20140705 22:14:10 <Hauer> ofc
20140705 22:14:17 <Hauer> since that is 3+ stuff as far as I now
20140705 22:14:32 <rmk0> it is
20140705 22:14:46 <rmk0> the shader functions are in GL2ES2, though
20140705 22:15:49 <Hauer> javax.media.opengl.GLException: Profile GL4ES3 is not available on WindowsGraphicsDevice[type .windows, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[]], but: [GLProfile[GL2ES2/GL4.hw], GLProfile[GL2ES1/GL4bc.hw], GLProfile[GL2/GL4bc.hw], GLProfile[GL4/GL4.hw], GLProfile[GL3/GL4.hw], GLProfile[GL4bc/GL4bc.hw], GLProfile[GL4bc/GL4bc.hw], GLProfile[GL2GL3/GL4bc.hw],...
20140705 22:15:50 <Hauer> ...GLProfile[GL3bc/GL4bc.hw]]
20140705 22:16:02 <Hauer> yeah I confused that
20140705 22:16:04 <Hauer> sorry
20140705 22:16:36 <Hauer> How can I get a GL3 or GL4 for testing in that unit test?
20140705 22:17:05 * rmk0 prods sgothel
20140705 22:17:47 <rmk0> have a look at the GLProfile functions
20140705 22:19:10 <rmk0> must sleep /o/
20140705 22:22:20 <Hauer> mhm
20140705 22:22:23 <Hauer> *sigh*
20140705 22:22:35 <Hauer> *never wanted to learn these things*
20140705 22:22:53 <Hauer> *should work on his thesis for 6 hours*
20140705 22:27:30 <Hauer> Well the only thing I need to know now is
20140705 22:27:36 <Hauer> why are my shader not loaded well
20140705 22:27:42 <Hauer> ERROR: 31904:8168: '' : storage qualifier not valid with layout qualifier id
20140705 22:27:55 <Hauer> and why does it think that line even exists ...
20140705 22:35:57 <Hauer> Well
20140705 22:36:00 <Hauer> Even the unit test runs now
20140705 22:36:10 <Hauer> though it in particular causes a stack fault
20140705 22:36:13 <Hauer> but it runs
20140705 22:40:53 <Hauer> well I need my sleep too
20140705 22:41:11 <Hauer> restarting PC to see what the hell causes that strange loading error
20140705 22:41:15 * Hauer (~chatzilla@anon) Quit (Quit: ChatZilla 0.9.90.1 [Firefox 30.0/20140605174243])
20140705 23:06:26 * Hauer (~chatzilla@anon) has joined #jogamp
20140705 23:08:28 <Hauer> @sgothel I was now even able to fix the rest of my code, the solution of it all was simply: I forgot to mulitply the size of the float array length by 4 when passing it to opengl , and I had to set the -1 to the z value when rendering ... that ... was ... all ...
20140705 23:38:06 * hija (~hija@anon) has joined #jogamp
20140706 00:29:30 * Hauer (~chatzilla@anon) Quit (Quit: ChatZilla 0.9.90.1 [Firefox 30.0/20140605174243])
20140706 01:16:45 * hija (~hija@anon) Quit (Quit: hija)
20140706 02:10:16 * magaio (~magaio@anon) Quit (Quit: ZNC - http://znc.in)
20140706 02:12:51 * magaio (~magaio@anon) has joined #jogamp
20140706 05:05:30 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20140706050530.html