#jogamp @ irc.freenode.net - 20140404 05:05:13 (UTC)


20140404 05:05:13 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20140403050513.html
20140404 05:05:13 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20140404050513.html
20140404 05:11:29 * rtl_ (~rtl@anon) Quit (Quit: rtl_)
20140404 05:14:46 * rtl_ (~rtl@anon) has joined #jogamp
20140404 05:14:46 * rtl_ (~rtl@anon) Quit (Client Quit)
20140404 05:35:05 * rtl_ (~rtl@anon) has joined #jogamp
20140404 05:52:44 * rtl_ (~rtl@anon) Quit (Quit: rtl_)
20140404 05:55:11 * rtl_ (~rtl@anon) has joined #jogamp
20140404 05:55:20 * rtl_ (~rtl@anon) Quit (Client Quit)
20140404 05:58:31 * rtl_ (~rtl@anon) has joined #jogamp
20140404 06:02:15 * jvanek (jvanek@anon) has joined #jogamp
20140404 06:06:57 * monsieur_max (~maxime@anon) has joined #jogamp
20140404 07:14:48 * [Mike] (~Mike]@anon) Quit ()
20140404 07:45:20 * [Mike] (~Mike]@anon) has joined #jogamp
20140404 08:05:48 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20140404 08:09:24 * guardianx_ (guardian@anon) has joined #jogamp
20140404 08:14:19 * monsieur_max (~maxime@anon) has joined #jogamp
20140404 08:56:54 * hija (~hija@anon) Quit (Quit: hija)
20140404 09:23:59 * rtl_ (~rtl@anon) Quit (Quit: rtl_)
20140404 09:24:35 * hija (~hija@anon) has joined #jogamp
20140404 10:27:45 * guardianx_ (guardian@anon) Quit (Remote host closed the connection)
20140404 11:19:17 <hija> guys what’s better? allocating 500 objects and sending them an mvp matrix when drawn or allocating 1 object and calling it to be drawn 500 times also sending it different positions?
20140404 11:24:59 * phao (~phao@anon) has joined #jogamp
20140404 11:41:51 <monsieur_max> hija : I'd bet on 1 draw call, but just because i always heard "limit draw calls , always"
20140404 11:42:15 <hija> in both cases its 500 draw calls
20140404 11:42:38 <monsieur_max> mmh sorry, misunderstood
20140404 11:42:48 <hija> the only difference is that ste gpu stores 500 objects in the first case while the second only stores 1
20140404 11:43:32 <hija> and in the first one you have to pass the modelview matrix while the second one you have to pass that along with a position vector
20140404 11:49:21 * xranby (~xranby@anon) has joined #jogamp
20140404 12:50:52 <jvanek> xranby, Hi! The 1.5 is branched. Will you merge with "uupstream" ?
20140404 12:51:20 <jvanek> I was thinking about it - and well every file which is "jsut yours" should be jsut in "youers" competition.
20140404 12:52:47 <xranby> jvanek: happy icedtea-web pre 1.5 release then :)
20140404 12:53:05 <jvanek> xranby, yes, we are hanging on PL/DE transaltion :((
20140404 12:53:54 * phao (~phao@anon) Quit (Ping timeout: 240 seconds)
20140404 14:02:20 * [Mike] (~Mike]@anon) Quit ()
20140404 14:14:39 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20140404 14:33:21 * hija (~hija@anon) Quit (Quit: hija)
20140404 15:01:43 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20140404 15:32:39 * phao (~phao@anon) has joined #jogamp
20140404 16:51:14 * phao (~phao@anon) Quit (Ping timeout: 240 seconds)
20140404 17:16:58 * xranby (~xranby@anon) Quit (Ping timeout: 240 seconds)
20140404 17:33:45 * xranby (~xranby@anon) has joined #jogamp
20140404 18:03:19 * monsieur_max (~maxime@anon) has joined #jogamp
20140404 18:10:18 * rtl_ (~rtl@anon) has joined #jogamp
20140404 18:24:17 * monsieur_max (~maxime@anon) Quit (Ping timeout: 252 seconds)
20140404 18:24:41 * monsieur_max (~maxime@anon) has joined #jogamp
20140404 18:35:32 * rtl_ (~rtl@anon) Quit (Quit: rtl_)
20140404 18:36:01 * phao (~phao@anon) has joined #jogamp
20140404 18:55:54 * phao (~phao@anon) Quit (Ping timeout: 240 seconds)
20140404 18:57:04 * phao (~phao@anon) has joined #jogamp
20140404 19:09:54 * [Mike] (~Mike]@anon) has joined #jogamp
20140404 19:13:23 * rtl_ (~rtl@anon) has joined #jogamp
20140404 20:12:44 * hija (~hija@anon) has joined #jogamp
20140404 20:13:05 * phao (~phao@anon) Quit (Ping timeout: 268 seconds)
20140404 20:33:22 * hija (~hija@anon) Quit (Quit: hija)
20140404 20:33:46 * hija (~hija@anon) has joined #jogamp
20140404 21:04:31 * hija (~hija@anon) Quit (Read error: Connection reset by peer)
20140404 21:04:57 * hija (~hija@anon) has joined #jogamp
20140404 21:24:40 * hija (~hija@anon) Quit (Quit: hija)
20140404 21:33:48 * monsieur_max (~maxime@anon) has left #jogamp
20140404 21:42:57 * hija (~hija@anon) has joined #jogamp
20140404 21:53:19 * hija (~hija@anon) Quit (Quit: hija)
20140404 22:03:24 * phao (~phao@anon) has joined #jogamp
20140404 22:07:34 * phao (~phao@anon) Quit (Ping timeout: 240 seconds)
20140404 22:14:57 * hija (~hija@anon) has joined #jogamp
20140404 22:15:51 <sgothel> @hija: your Q above was like, whether to send 500 MVP uniforms .. or reuse one and update that accordingly ?
20140404 22:16:09 <hija> hmm
20140404 22:16:10 <hija> no
20140404 22:16:18 <hija> the mvp uniform is the same
20140404 22:16:19 <sgothel> having a similar situation, I do update one PMV for multiple objects
20140404 22:17:00 <hija> i send it to multiple same objects
20140404 22:17:26 <sgothel> so it was like .. create a huge vbo w/ all objects translated vs .. draw each w/ it's position ?
20140404 22:20:01 <hija> no :P
20140404 22:20:08 * phao (~phao@anon) has joined #jogamp
20140404 22:20:09 <sgothel> hehe
20140404 22:20:28 <hija> 500 vbos with position embedded in each and 1 call each
20140404 22:20:31 <hija> or
20140404 22:20:58 <hija> 1 vbo without position embedded and 500 calls (of the same object) to draw
20140404 22:21:12 <sgothel> so .. it's more a yes :)
20140404 22:21:27 <sgothel> i.e. pos embedded is like translated object data
20140404 22:21:40 <hija> yeah but not in 1 vbo
20140404 22:21:49 <sgothel> vs pushing a translated PMV ..
20140404 22:22:17 <sgothel> good example .. all showing how important high level targeted (use case) optimization often is needed
20140404 22:22:26 <hija> even if i don’t pre-translate pmv
20140404 22:22:53 <hija> i can send it along as a uniform to the vertex buffer
20140404 22:22:59 <sgothel> in my case (graph ui, general graph) .. we better keep the vbo data intact, since parameters (pmv, other uniforms) may change quickly
20140404 22:23:01 <hija> and let it translate
20140404 22:23:08 <sgothel> sure
20140404 22:23:38 <sgothel> so I would say - if your objects are more static .. bound together, you may use a visitor and get them together (collect data, draw) ..
20140404 22:23:46 <sgothel> otherwise .. use them as single objects
20140404 22:24:08 <sgothel> also: shader program management is an issue to focus here (maybe)
20140404 22:24:18 <sgothel> i.e maybe you like to switch programs
20140404 22:24:23 <hija> is it?
20140404 22:24:38 <hija> well yes I do, to draw each object
20140404 22:24:39 <sgothel> if you use diff. parameters .. avoiding branches in shader ..
20140404 22:24:55 <sgothel> I do now in graph-ui .. gives +200fps
20140404 22:25:17 <hija> if you avoid branching in shaders?
20140404 22:25:20 <sgothel> (desktop .. 500 -> 700 .. alike)
20140404 22:25:31 <sgothel> mobile: even more dramatic .. i.e. visible
20140404 22:25:57 <hija> the app I’m trying to speedup is on android
20140404 22:26:07 <hija> and you may zoom and pan
20140404 22:26:10 <sgothel> think about it like: a fragment shader branch is called for all fragments
20140404 22:26:14 <hija> so mvps change
20140404 22:26:29 <sgothel> yes .. uniform changes .. nothing you can do about it
20140404 22:26:53 <hija> so for each “if” you get two branches?
20140404 22:27:00 <sgothel> we also push it for all objects .. due to changed programs and mvp
20140404 22:27:42 <sgothel> for example .. we have a shader for each msaa sample count .. avoiding a branch in the fragment shader
20140404 22:27:45 * phao (~phao@anon) Quit (Ping timeout: 252 seconds)
20140404 22:27:49 <sgothel> .. or whether to use color-texture etc
20140404 22:28:24 <sgothel> you could do a branch via uniform values .. yup .. but then that would happen on each fragment .. and program switching is faster
20140404 22:28:47 <sgothel> yes .. you need to update the uniform location+data, and attribute location (maybe)
20140404 22:29:25 <sgothel> i.e. uniform location + data unique to a program, as the attribute location
20140404 22:29:51 <hija> but in my case I am drawing the same object 500 times
20140404 22:29:52 <sgothel> (so location update once per program .. or update data if changed)
20140404 22:29:59 <hija> same shaders same everything
20140404 22:30:28 <sgothel> whats wrong w/ that ?
20140404 22:30:33 <hija> so the program is the same
20140404 22:30:41 <hija> since it is instanciated in java though
20140404 22:30:55 <hija> I get different programs which contain the same pointers to attributes
20140404 22:30:57 <sgothel> I guess there was some instanced draw .. or some new method .. hmm
20140404 22:31:10 <sgothel> yeah .. would be nice to pass something along ..
20140404 22:31:18 <hija> I am just wondering what overhead I am creating with this
20140404 22:31:20 <sgothel> sounds like a geom-shader use case .. maybe :)
20140404 22:31:25 <hija> :)
20140404 22:31:34 <hija> opengl es 2 unfortunately
20140404 22:31:42 <sgothel> data-transmission vs draw-call
20140404 22:31:47 <hija> no fancy stuff here :P
20140404 22:32:17 <hija> maybe I just need to test/measure
20140404 22:32:27 <hija> primary metric is fps i guess?
20140404 22:32:43 <sgothel> sure .. fps / ms ..
20140404 22:33:00 <sgothel> vsync off (as n/a on android)
20140404 22:33:37 <sgothel> ^^ my elaboration above was just reflecting my learnings of the last days :)
20140404 22:33:45 <hija> :D
20140404 22:34:32 <sgothel> .. and you don't change your 500 objects a lot .. hmm .. then maybe better to make 1 draw call
20140404 22:34:56 <hija> there are 4 ways as far as I understand
20140404 22:35:05 <hija> do what I do now...
20140404 22:35:14 * phao_ (~phao@anon) has joined #jogamp
20140404 22:35:15 <hija> create one vbo and draw it 500 times
20140404 22:35:25 <hija> create a huge vbo and draw it 1 time
20140404 22:35:31 <sgothel> (one vbo (interleaved) .. one draw)
20140404 22:35:41 <sgothel> +indexed ..
20140404 22:35:49 <hija> send everything as texture and play with fragment shader
20140404 22:36:02 <hija> so again 1 vbo + 1 draw
20140404 22:36:22 * phao_ (~phao@anon) Quit (Client Quit)
20140404 22:36:45 * phao_ (~phao@anon) has joined #jogamp
20140404 22:37:03 <sgothel> 'as textures' ?
20140404 22:37:08 <hija> no
20140404 22:37:15 <hija> 1 texture over the whole area
20140404 22:37:20 <hija> and draw circles on it
20140404 22:37:33 <sgothel> ah ..
20140404 22:37:39 <hija> only send vector array of points
20140404 22:37:57 <hija> and radius (because they are circles)
20140404 22:38:02 <sgothel> right :)
20140404 22:38:04 <hija> and colour
20140404 22:38:30 <sgothel> color + radius = 1 attribute .. interleaved
20140404 22:38:40 <hija> fair enough
20140404 22:38:43 <hija> :D
20140404 22:40:02 <sgothel> (needs some math in vertex shader .. and radius threshould then .. not so sure here, due to interpolation)
20140404 22:40:20 <sgothel> interleaved vbo is best .. due to streaming memory access ofc
20140404 22:40:54 <sgothel> good that we talk about that .. need to add this to graph as well
20140404 22:41:19 * phao_ (~phao@anon) Quit (Ping timeout: 252 seconds)
20140404 22:41:23 <hija> yes its good but there is a general lack of demos and tutorials
20140404 22:41:40 <sgothel> ^^ regarding ?
20140404 22:41:47 <hija> all the opengl stuff
20140404 22:41:51 <sgothel> lol
20140404 22:42:00 <hija> jogl most of all :P
20140404 22:42:08 <sgothel> IMHO opengl is the most documented and specified API I have ever seen
20140404 22:42:26 <hija> not documentation...
20140404 22:42:31 <sgothel> jogl .. well, no need to teach opengl I mean
20140404 22:42:31 <hija> examples
20140404 22:42:49 <sgothel> hmm ..
20140404 22:43:20 <sgothel> if you look for specific opengl problems - I always find what I look for - sure, the task is always to have the right question
20140404 22:44:06 <sgothel> regarding jogl/newt etc .. at least we have an API doc, lots of unit tests .. showing how to use things + free software
20140404 22:44:19 <sgothel> same goes w/ openal, opencl
20140404 22:44:31 <hija> unit tests… have to dig for those though...
20140404 22:44:31 <sgothel> (less tests .. but still following the API)
20140404 22:45:14 <sgothel> I recommend to setup an eclipse (or otherwise) workspace .. w/ JOGL (developer) .. and the unit tests (all source code) .. and pick an API point and check the calltrace
20140404 22:45:21 <sgothel> this will show you how things are used
20140404 22:45:34 <hija> hehe
20140404 22:45:47 <sgothel> if the API doc is not clear - but pls - then be pro-active and help make it so
20140404 22:45:53 <hija> its all fine and dandy for me sven :)
20140404 22:46:02 <sgothel> :)
20140404 22:46:12 <hija> i’m just saying its hard to penetrate for beginners
20140404 22:46:19 <sgothel> yup - agreed
20140404 22:47:03 <sgothel> from the technical level (mostly memory managment) to phenomenon, which consists out of all the math and data management
20140404 22:47:48 <hija> brb girfriend is here and demands attention
20140404 22:48:07 <sgothel> greetings .. and good day/night then
20140404 22:49:50 * hija (~hija@anon) Quit (Quit: hija)
20140404 22:55:08 * hija (~hija@anon) has joined #jogamp
20140404 22:56:47 * hija (~hija@anon) Quit (Client Quit)
20140404 22:59:13 * [Mike] (~Mike]@anon) Quit (Ping timeout: 240 seconds)
20140404 22:59:48 * hija (~hija@anon) has joined #jogamp
20140404 23:00:02 * hija (~hija@anon) Quit (Client Quit)
20140404 23:00:18 * rtl_ (~rtl@anon) Quit (Quit: rtl_)
20140404 23:01:36 * phao (~phao@anon) has joined #jogamp
20140405 00:31:52 * phao_ (~phao@anon) has joined #jogamp
20140405 00:32:01 * phao (~phao@anon) Quit (Ping timeout: 240 seconds)
20140405 00:32:53 * phao_ (~phao@anon) has left #jogamp
20140405 00:34:01 * kermyt (~kermyt@anon) Quit (Remote host closed the connection)
20140405 00:54:56 * kermyt (~kermyt@anon) has joined #jogamp
20140405 01:00:37 * phao_ (~phao@anon) has joined #jogamp
20140405 01:01:09 * phao_ (~phao@anon) has left #jogamp
20140405 01:04:26 * phao (~phao@anon) has joined #jogamp
20140405 01:11:28 * guardianx_ (guardian@anon) has joined #jogamp
20140405 01:20:42 * phao (~phao@anon) Quit (Disconnected by services)
20140405 01:21:55 * phao_ (~phao@anon) has joined #jogamp
20140405 01:22:34 * phao_ (~phao@anon) has left #jogamp
20140405 01:27:56 * hija (~hija@anon) has joined #jogamp
20140405 01:30:53 * phao_ (~phao@anon) has joined #jogamp
20140405 01:31:18 * phao_ (~phao@anon) has left #jogamp
20140405 02:29:51 * phao_ (~phao@anon) has joined #jogamp
20140405 02:30:23 * phao_ (~phao@anon) has left #jogamp
20140405 02:37:06 * ian_cw (~ian_cw@anon) has joined #jogamp
20140405 02:42:11 <ian_cw> is anyone in here a guru on WindowsWGLContext creation?
20140405 02:43:47 <ian_cw> i’m trying to debug a threading issue in a JOGL application (based on WorldWind), where opening a few new canvases creates one with a bad GLContext (uses MS software renderer, rather than graphics card)
20140405 02:44:20 <ian_cw> i found a reference to potential race conditions in WindowsJAWTWindow#lockSurfaceImpl and figured i should come up for air
20140405 03:04:26 * [Mike] (~Mike]@anon) has joined #jogamp
20140405 03:29:52 * ian_cw_ (~ian_cw@anon) has joined #jogamp
20140405 03:30:03 * ian_cw (~ian_cw@anon) Quit (Ping timeout: 255 seconds)
20140405 03:30:04 * ian_cw_ is now known as ian_cw
20140405 03:50:20 * ian_cw (~ian_cw@anon) has left #jogamp
20140405 04:14:09 * guardianx_ (guardian@anon) Quit (Remote host closed the connection)
20140405 05:05:13 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20140405050513.html