#jogamp @ irc.freenode.net - 20160513 05:06:22 (UTC)


20160513 05:06:22 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20160512050622.html
20160513 05:06:22 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20160513050622.html
20160513 05:41:33 * bigpet (uid25664@anon) has joined #jogamp
20160513 05:51:49 * hija_ (~hija@anon) has joined #jogamp
20160513 05:52:33 * hija (~hija@anon) Quit (Ping timeout: 240 seconds)
20160513 05:52:33 * hija_ is now known as hija
20160513 06:08:17 * hija_ (~hija@anon) has joined #jogamp
20160513 06:09:58 * hija (~hija@anon) Quit (Ping timeout: 244 seconds)
20160513 06:09:59 * hija_ is now known as hija
20160513 06:31:21 * hija_ (~hija@anon) has joined #jogamp
20160513 06:32:18 * hija (~hija@anon) Quit (Ping timeout: 250 seconds)
20160513 06:34:48 * hija (~hija@anon) has joined #jogamp
20160513 06:36:09 * hija_ (~hija@anon) Quit (Ping timeout: 246 seconds)
20160513 06:46:07 * monsieur_max (~maxime@anon) has joined #jogamp
20160513 06:49:34 * hija_ (~hija@anon) has joined #jogamp
20160513 06:51:47 * hija (~hija@anon) Quit (Ping timeout: 260 seconds)
20160513 06:51:47 * hija_ is now known as hija
20160513 06:52:50 * jvanek (jvanek@anon) has joined #jogamp
20160513 07:02:05 * hija_ (~hija@anon) has joined #jogamp
20160513 07:04:02 * hija (~hija@anon) Quit (Ping timeout: 260 seconds)
20160513 07:04:43 * elect (~GBarbieri@anon) has joined #jogamp
20160513 07:04:49 <elect> hi
20160513 07:05:07 <elect> philjord!
20160513 07:05:57 * hija (~hija@anon) has joined #jogamp
20160513 07:06:57 * hija_ (~hija@anon) Quit (Ping timeout: 260 seconds)
20160513 07:09:13 * hija_ (~hija@anon) has joined #jogamp
20160513 07:11:02 * hija (~hija@anon) Quit (Ping timeout: 260 seconds)
20160513 07:11:02 * hija_ is now known as hija
20160513 07:29:21 <monsieur_max> ouch, a plyaer is testing my game with SteamOs, got a nasty native crash during opengl init ... # Problematic frame: # C [libEGL.so.1+0x21a4] eglGetProcAddress+0x14
20160513 07:32:13 * Eclesia (~husky@anon) has joined #jogamp
20160513 07:32:53 <Eclesia> hi
20160513 07:48:51 * hija (~hija@anon) Quit (Quit: hija)
20160513 07:51:26 * elect (~GBarbieri@anon) Quit (Read error: Connection reset by peer)
20160513 07:57:30 * elect (~GBarbieri@anon) has joined #jogamp
20160513 08:02:50 * hija (~hija@anon) has joined #jogamp
20160513 08:05:54 * Eclesia (~husky@anon) Quit (Ping timeout: 250 seconds)
20160513 08:08:48 * philjord (599cc172@anon) Quit (Ping timeout: 244 seconds)
20160513 08:22:55 * hija (~hija@anon) Quit (Quit: hija)
20160513 08:25:56 * hija (~hija@anon) has joined #jogamp
20160513 08:31:31 * hija (~hija@anon) Quit (Quit: hija)
20160513 08:58:06 <monsieur_max> :) https://twitter.com/tenderlove/status/722565868719177729
20160513 09:09:53 * hija (~hija@anon) has joined #jogamp
20160513 09:15:49 * hija (~hija@anon) Quit (Quit: hija)
20160513 09:20:04 * hija (~hija@anon) has joined #jogamp
20160513 09:20:46 * hija (~hija@anon) Quit (Client Quit)
20160513 10:04:09 <elect> guys
20160513 10:04:17 <elect> who is harvey harrison?
20160513 10:04:20 <elect> https://github.com/hharrison?tab=repositories
20160513 10:35:53 <rmk0> he worked on jogl and java3d until he changed jobs
20160513 10:35:56 <rmk0> hasn't been seen since!
20160513 10:49:31 <zubzub> maybe he was killed
20160513 10:49:40 <zubzub> because he knew too much
20160513 10:49:45 <zubzub> by sgothel
20160513 10:50:32 <monsieur_max> :( RIP jogamp
20160513 10:51:31 * hija (~hija@anon) has joined #jogamp
20160513 10:52:14 * hija (~hija@anon) Quit (Client Quit)
20160513 11:16:22 * hija (~hija@anon) has joined #jogamp
20160513 11:23:33 <elect> :D
20160513 11:33:18 * philjord (599cc172@anon) has joined #jogamp
20160513 11:33:44 <elect> philjord,
20160513 11:33:57 <elect> you there?
20160513 12:31:24 <philjord> hello, sorry a bit late
20160513 12:39:26 * Eclesia (~husky@anon) has joined #jogamp
20160513 13:00:41 <elect> philjord,
20160513 13:06:45 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20160513 13:08:08 * jvanek (jvanek@anon) has joined #jogamp
20160513 13:13:00 <philjord> I'm here now
20160513 13:16:10 <philjord> elect, I'm here concentrating and ready, but we may never get the timing right at this rate...
20160513 13:16:15 <elect> :D
20160513 13:16:31 <elect> so, have you played with java3d?
20160513 13:16:40 <elect> and you are going to mantain it?
20160513 13:17:29 <philjord> I have played a lot, a lot with Java3D, and Julien tells me I can be the maintainer now
20160513 13:17:56 <elect> can you point me some good resource explaining the java3d structure?
20160513 13:18:33 <philjord> You mean the scene graph structure?
20160513 13:18:37 <elect> yep
20160513 13:19:42 <philjord> http://www.cs.stir.ac.uk/courses/CSCU9N6/Java3D/Tutorial/j3d_tutorial_ch1.pdf
20160513 13:20:18 <philjord> looks like a copy of the original, extremely good tutorial from Sun, almost nothing has changed in the basics
20160513 13:20:45 <elect> do you have a couple of free minutes?
20160513 13:20:53 <elect> I'd ask you a couple of question about it
20160513 13:20:59 <philjord> but shaders were added very late so it won't mention them
20160513 13:20:59 <elect> I already took a look at the doc
20160513 13:21:10 <elect> but I still have a couple of questions
20160513 13:21:31 * dwbrite (4474ac1d@anon) has joined #jogamp
20160513 13:21:49 <philjord> yep fire away no trouble
20160513 13:21:49 <philjord> http://www.cs.stir.ac.uk/courses/CSCU9N6/Java3D/ is the root which also points at the excellent killer game programming book too
20160513 13:22:51 <elect> I am having an hard time trying to understand why all those instances are needed
20160513 13:23:06 <elect> virtual universe, locale, group, leaf, nodecomponent, other objects
20160513 13:23:52 <elect> I mean, I'd identify the virtual universe as a normal node, that is locale
20160513 13:24:09 <elect> I have no idea what branchgroup nodes are useful for
20160513 13:24:31 <philjord> Basically it's all to make building complex models and scenes easier
20160513 13:24:31 <elect> leaf is nothing else then a node containing the geometry and appearence
20160513 13:25:28 <philjord> In openGL world the geometry and appearance data are all you care about, and you manually position things
20160513 13:25:42 <philjord> you manually decide what lights will light up what things
20160513 13:26:03 <philjord> you manually decide when to fire a geometry coordinate morphing
20160513 13:26:38 <philjord> But in a scene graph you put all of that into a giant tree and allow the scene graph engine to decide what needs to be done when
20160513 13:27:23 <philjord> so if for example you have some geometry of a foot, you want to attach it to the lower leg and then attach teh lower leg to an upper leg, then attach that to a pelvis
20160513 13:28:11 <philjord> If at some point you move the pelvis (e.g. your character walks around) you want the transformation of the upper leg to automatically move with it, then the lower leg and the foot
20160513 13:28:23 <elect> yeah
20160513 13:28:28 <elect> I have knowledge of it
20160513 13:28:32 <elect> and the matrix stack
20160513 13:28:37 <philjord> so at each point you simply set the transform for each piece
20160513 13:29:12 <elect> but the foot, lower leg, upper leg and pelvis are nothing else than locale with a shape
20160513 13:29:13 <elect> right?
20160513 13:29:15 <philjord> yeah, bt the scene graph does all the hundreds of transforms for you, keeps track of them, understands when each becomes dirty and re multiplies everything below etc
20160513 13:29:45 <philjord> no each of those is a group, specifically a TransfromGroup
20160513 13:30:10 <philjord> so the upper leg shape is attached to the upper leg and the lower leg TransformGroup is also attached
20160513 13:30:41 <philjord> upper leg shapes gets thte correct model matrix and lower legs get the same plus one more (it's own) and so on down
20160513 13:31:01 <philjord> but the scene graph does heaps more complex stuff
20160513 13:31:45 <philjord> for example it can have a behavior attached, and if the behavior is near the viewer it will run (if it's "bounds" intersects the camera bounds)
20160513 13:32:20 <philjord> so you might have a texture transfrom being updated each frame by a behavior, but teh behavior will only run when required, as any given scene can be extremely large
20160513 13:32:36 <elect> so what is a locale?
20160513 13:33:12 <philjord> In a normal scene from say Skyrim, there is probably at all times some thing in the order of 1000 behaviors in the scene graph
20160513 13:33:49 <philjord> Ahhh, a locale is a thing you need to have but you need never care about.... It's just the root node in the scene
20160513 13:33:56 <elect> ah
20160513 13:33:58 <elect> got it
20160513 13:34:20 <philjord> it has some fancy high resolution "location" but in reality it's just the root, and I've never seen anyone use more than one locale
20160513 13:34:21 <elect> so we have the graph with the locale being the root
20160513 13:34:53 <philjord> yep and down one side is a bunch of groups being shapes (geometry and appearance) and down a single other branch we have teh camera
20160513 13:35:12 <elect> and then we will have, for example, the group foot with the shape foot attached to the lower leg group, which has, in turn, the lower leg shape
20160513 13:35:26 <philjord> also in the scene like anything else, so you can move it about exatly like anything else and teh View is updated from whereever it is
20160513 13:37:05 <elect> and between the foot and the lower leg group there should be the transformGroup of the foot itself
20160513 13:37:24 <elect> or there *may* be
20160513 13:39:46 <philjord> yes, basically, though with characters you noramll have skin and bones, where teh groups are bones, but the skin is rigged onto it so it's more complex
20160513 13:41:27 <philjord> let me show you an example
20160513 13:42:14 <philjord> http://imgur.com/QdQXIBt
20160513 13:42:39 <philjord> A model from Oblivion, showing a complex animated "secret" door
20160513 13:43:12 * guillaum1 (~gl@anon) Quit (Ping timeout: 265 seconds)
20160513 13:43:20 <philjord> On the left is the list of NiNode it's made up of, each is exactly the same as TransformGroup in Java3D
20160513 13:44:31 <philjord> Each NiNode might have geometry that moves as it does or might just have more children, that way the many transfrom controllers in teh model can animate their own NiNode but teh result is a fluid cohesive animation
20160513 13:44:38 <elect> ok
20160513 13:45:01 <elect> so the reason behind distributing all the geometry among different ninodes is animation and so on
20160513 13:45:02 <elect> ?
20160513 13:46:00 <philjord> So for each model in a scene it's made up of that sort of sub scene graph, then you put manay mnay of those into the scene graph, set your camera up somewhere (and move it about) and the renderer traverses everything 60 times a second and makes teh appropriate Jogl calls
20160513 13:46:17 <philjord> Java3D is based on work around teh OpenSceneGraph in c++ land
20160513 13:46:50 <elect> has java3d also culling?
20160513 13:47:35 <philjord> If you're not using a comercial engine, all other games and visualations tools will use a scene graph very similar to this (JMonkeyEngine, Ardor3D, etc) if you look into them they all have rhe same structure
20160513 13:48:19 <philjord> definately, scene culling and transparency sorting are both "freebies" that I can't imagine having to do yourself
20160513 13:50:07 <philjord> If you grab nifskope and can get the assets from a bethesda Elder Scrolls or fallout you can explore the nature of this in more detail, very handy to explain how a AAA game does it.
20160513 13:50:08 <philjord> https://github.com/niftools/nifskope/releases
20160513 13:50:52 <philjord> I gotta go now, I'm very happy to chat more if you think it's helpful
20160513 13:51:10 <elect> sure
20160513 13:51:14 <elect> thanks so far
20160513 13:51:41 * philjord (599cc172@anon) Quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
20160513 13:57:59 * guillaum1 (~gl@anon) has joined #jogamp
20160513 14:43:27 * rmk0 (~rmk0@anon) Quit (Quit: Lost terminal)
20160513 15:05:53 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20160513 15:25:23 * rmk0 (~rmk0@anon) has joined #jogamp
20160513 15:40:30 * elect (~GBarbieri@anon) Quit (Read error: Connection reset by peer)
20160513 15:43:24 * guillaum1 (~gl@anon) Quit (Ping timeout: 276 seconds)
20160513 15:49:56 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160513 15:56:24 * guillaum1 (~gl@anon) has joined #jogamp
20160513 16:20:18 * Eclesia (~husky@anon) has left #jogamp
20160513 16:46:20 * monsieur_max (~maxime@anon) has joined #jogamp
20160513 16:53:31 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160513 16:54:32 * monsieur_max (~maxime@anon) has joined #jogamp
20160513 16:55:33 * elect (~GBarbieri@anon) has joined #jogamp
20160513 17:21:16 * hija (~hija@anon) Quit (Quit: hija)
20160513 17:59:42 * elect (~GBarbieri@anon) Quit (Ping timeout: 260 seconds)
20160513 18:12:54 * bigpet (uid25664@anon) Quit (Quit: Connection closed for inactivity)
20160513 20:07:11 * Eclesia (~eclesia@anon) has joined #jogamp
20160513 20:11:50 <Eclesia> hi
20160513 21:28:32 <zubzub> hi
20160513 21:36:32 <dwbrite> hi
20160513 21:57:47 <Eclesia> dwbrite: your contribution has been added and name/link added on the contributor page, if you want something changed you ask. :)
20160513 21:59:52 <dwbrite> Awesome, thanks
20160513 22:05:23 <Eclesia> Thanks to you, you made it possible ;) . math module is starting to have a nice size, LargeInteger,LargeDecimal,Complex,Vector,Matrix,Quaternion and several algorithms... pretty cool :)
20160513 22:10:11 <Eclesia> good night ++
20160513 22:10:21 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20160513 22:21:27 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160513 22:59:17 * hija (~hija@anon) has joined #jogamp
20160514 01:04:41 * hija_ (~hija@anon) has joined #jogamp
20160514 01:06:33 * hija (~hija@anon) Quit (Ping timeout: 240 seconds)
20160514 01:06:34 * hija_ is now known as hija
20160514 05:06:22 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20160514050622.html