From derrickgiscloux at free.fr Tue Jan 1 11:46:32 2008 From: derrickgiscloux at free.fr (Derrick Giscloux) Date: Tue Jan 1 11:48:08 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <1e847.47798fd5@www.cycling74.com> Message-ID: <1e862.477a8a87@www.cycling74.com> Vade posted great tricks few days ago. Search on the Forum : "Jitter Movie Optimization Methods" From yair99 at gmail.com Tue Jan 1 15:58:23 2008 From: yair99 at gmail.com (yair reshef) Date: Tue Jan 1 15:58:26 2008 Subject: [jitter] lua questions Message-ID: <1b1605c20801011458h263aa623le81a63b17456429c@mail.gmail.com> hi, all (err... wesly) i have been doing some lua coding on an xp machine. i have a few questions, 1. something strange about the screentoworld routine, when z is set to 0. or 1. i get unusable results. when at 0.95 its almost there, why? 2. i use display lists, is that good? were do i plug the gl states in that situation. i want blend effects. i commented the lines i think i need. 3. when i enter fullscreen i lose the drawing. thanks , it's fun coding in lua. and i feel can tackle some of nehe's opengl tutorial with it. posting on the list so i hope it will not break in the forum. autowatch = 1 print("compiled") render_context = this.drawto angle=0 mouseXY={0,0} dir=1 function BuildLists() box = gl.GenLists(2) gl.NewList(box ,"COMPILE"); gl.Begin("QUADS") gl.Vertex (-0.5 , 0.5 , 0. ) -- Top Left gl.Vertex ( 0.5 , 0.5 , 0. ) -- Top Right gl.Vertex ( 0.5 ,-0.5 , 0. ) -- Bottom Right gl.Vertex (-0.5 ,-0.5 , 0. ) gl.End(); gl.EndList() end function init() --initialize the dispaly list BuildLists() end init() function draw() gl.Clear("COLOR_BUFFER_BIT" , "DEPTH_BUFFER_BIT") --gl.LoadIdentity() --gl.Enable("BLEND") --gl.BlendFunc(1,6) --gl.ClearColor(1,1,0,1) rot() for i=0,1000 do gl.Translate(mouseXY[1],mouseXY[2],(i/1000)-1); gl.Rotate(angle,0,0,1) gl.Color(i/1000, math.random(), 1, i/1000) gl.CallList(box) end end function rot() angle = angle+dir if angle==15 then dir= -0.5 elseif angle==0 then dir=0.5 end end --create the listener callback function function callback(event) if(event.eventname == "mouseidle") then local _glXmouse = event.args[1] local _glYmouse = event.args[2] --need to transform mouse ccordinates to world domain --dono why, but 0.95 needed mouseXY=jit.gl.screentoworld({_glXmouse,_glYmouse, 0.95}) end end --create a listener object listener = jit.listener(render_context, "callback") ++++++++++++++++++ patch ++++++++++++++++ #P window setfont "Sans Serif" 9.; #P window linecount 1; #P newex 22 154 311 9109513 jit.gl.lua nehe @file nehe1_displaylist.lua @autogarbage 1 @autowatch 1; #P toggle 123 71 15 0; #P message 123 91 68 9109513 fullscreen \$1; #N vpatcher 30 89 166 253; #P window setfont "Sans Serif" 9.; #P newex 50 71 35 9109513 sel 27; #P newex 50 50 40 9109513 key; #P outlet 50 93 15 0; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; #P newobj 123 51 33 9109513 p Esc; #P newex 123 109 70 9109513 jit.window nehe; #P toggle 21 45 15 0; #P newex 21 64 57 9109513 qmetro 30; #P newex 21 85 50 9109513 t b erase; #P newex 21 111 77 9109513 jit.gl.render nehe; #P connect 6 0 4 0; #P connect 7 0 6 0; #P connect 5 0 7 0; #P fasten 1 0 0 0 26 106 26 106; #P fasten 1 1 0 0 66 106 26 106; #P connect 2 0 1 0; #P connect 3 0 2 0; #P window clipboard copycount 9; -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20080102/21b7ff5b/attachment.htm From wesley.hoke at gmail.com Tue Jan 1 20:24:06 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Tue Jan 1 20:24:06 2008 Subject: [jitter] lua questions In-Reply-To: <1b1605c20801011458h263aa623le81a63b17456429c@mail.gmail.com> References: <1b1605c20801011458h263aa623le81a63b17456429c@mail.gmail.com> Message-ID: <1079b050801011924v3a209869xea93e23e62ff0554@mail.gmail.com> Hi Yair, Welcome to Lua land. I dig the feedback spiral. The screentoworld function is basically doing gluUnproject. See the doc here: http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/gluUnProject.3.html The 0 for Z depth in window coordinates is mapped to the near clip plane value and 1 to the far clip value. Z depth is non-linear and thus annoyingly not intuitive to our typical sense of parameter values mapping to euclidean coordinates. As for displaylists, these things have to be created when there is a valid context and _must_ be rebuilt when that context changes like when you go fullscreen. In jit.gl.lua, there are a few functions defined to notify a script of things like context changes or scripts loading happen. These are: script_load dest_changed dest_closing etc. see the PDF doc for a complete list So, to properly handle displaylists, You need to create it whenever the context changes or your script reloads with a valid context. jit.gl.lua has an attr called context which is 0 when there is no valid context and non-zero when there is a valid context (it is also unique per-context). Here's a slight mod I made to your script (full script is further below) using some of the nice aspects of having functions as variables: -- functions as variables! function setOnReloadOrDestChanged(func) script_load = func det_changed = func end setOnReloadOrDestChanged(init) --[[ This section is equivalent to the above function script_load() init() end function dest_changed() init() end --]] +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Full script +++++++++++++++++++++++++++++++++++++++++++++++++++++++ autowatch = 1 print("compiled") render_context = this.drawto angle=0 mouseXY={0,0} dir=1 function BuildLists() box = gl.GenLists(2) gl.NewList(box ,"COMPILE"); gl.Begin("QUADS") gl.Vertex (-0.5 , 0.5 , 0. ) -- Top Left gl.Vertex ( 0.5 , 0.5 , 0. ) -- Top Right gl.Vertex ( 0.5 ,-0.5 , 0. ) -- Bottom Right gl.Vertex (-0.5 ,-0.5 , 0. ) gl.End(); gl.EndList() end function init() --initialize the dispaly list if(this.context ~= 0) then BuildLists() end end -- functions as variables! function setOnReloadOrDestChanged(func) script_load = func det_changed = func end setOnReloadOrDestChanged(init) --[[ This section is equivalent to the above function script_load() init() end function dest_changed() init() end --]] function draw() gl.Clear("COLOR_BUFFER_BIT" , "DEPTH_BUFFER_BIT") --gl.LoadIdentity() --gl.Enable("BLEND") --gl.BlendFunc(1,6) --gl.ClearColor(1,1,0,1) rot() for i=0,1000 do gl.Translate(mouseXY[1],mouseXY[2],(i/1000)-1); gl.Rotate(angle,0,0,1) gl.Color(i/1000, math.random(), 1, i/1000) gl.CallList(box) end end function rot() angle = angle+dir if angle==15 then dir= -0.5 elseif angle==0 then dir= 0.5 end end --create the listener callback function function callback(event) if(event.eventname == "mouseidle") then local _glXmouse = event.args[1] local _glYmouse = event.args[2] --need to transform mouse ccordinates to world domain --dono why, but 0.95 needed mouseXY=jit.gl.screentoworld({_glXmouse,_glYmouse, 0.95}) end end --create a listener object listener = jit.listener(render_context, "callback") From wesley.hoke at gmail.com Tue Jan 1 20:26:07 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Tue Jan 1 20:26:08 2008 Subject: [jitter] lua questions In-Reply-To: <1079b050801011924v3a209869xea93e23e62ff0554@mail.gmail.com> References: <1b1605c20801011458h263aa623le81a63b17456429c@mail.gmail.com> <1079b050801011924v3a209869xea93e23e62ff0554@mail.gmail.com> Message-ID: <1079b050801011926t4d917ad2i4b9d60be87dd82ab@mail.gmail.com> Sorry, there was a slight typo in my script in the last post. Here's a fixed version: autowatch = 1 print("compiled") render_context = this.drawto angle=0 mouseXY={0,0} dir=1 function BuildLists() box = gl.GenLists(2) gl.NewList(box ,"COMPILE"); gl.Begin("QUADS") gl.Vertex (-0.5 , 0.5 , 0. ) -- Top Left gl.Vertex ( 0.5 , 0.5 , 0. ) -- Top Right gl.Vertex ( 0.5 ,-0.5 , 0. ) -- Bottom Right gl.Vertex (-0.5 ,-0.5 , 0. ) gl.End(); gl.EndList() end function init() --initialize the dispaly list if(this.context ~= 0) then BuildLists() end end -- functions as variables! function setOnReloadOrDestChanged(func) script_load = func dest_changed = func end setOnReloadOrDestChanged(init) --[[ This section is equivalent to the above function script_load() init() end function dest_changed() init() end --]] function draw() gl.Clear("COLOR_BUFFER_BIT" , "DEPTH_BUFFER_BIT") --gl.LoadIdentity() --gl.Enable("BLEND") --gl.BlendFunc(1,6) --gl.ClearColor(1,1,0,1) rot() for i=0,1000 do gl.Translate(mouseXY[1],mouseXY[2],(i/1000)-1); gl.Rotate(angle,0,0,1) gl.Color(i/1000, math.random(), 1, i/1000) gl.CallList(box) end end function rot() angle = angle+dir if angle==15 then dir= -0.5 elseif angle==0 then dir= 0.5 end end --create the listener callback function function callback(event) if(event.eventname == "mouseidle") then local _glXmouse = event.args[1] local _glYmouse = event.args[2] --need to transform mouse ccordinates to world domain --dono why, but 0.95 needed mouseXY=jit.gl.screentoworld({_glXmouse,_glYmouse, 0.95}) end end --create a listener object listener = jit.listener(render_context, "callback") From yair99 at gmail.com Wed Jan 2 04:18:15 2008 From: yair99 at gmail.com (yair reshef) Date: Wed Jan 2 04:18:20 2008 Subject: [jitter] lua questions In-Reply-To: <1079b050801011926t4d917ad2i4b9d60be87dd82ab@mail.gmail.com> References: <1b1605c20801011458h263aa623le81a63b17456429c@mail.gmail.com> <1079b050801011924v3a209869xea93e23e62ff0554@mail.gmail.com> <1079b050801011926t4d917ad2i4b9d60be87dd82ab@mail.gmail.com> Message-ID: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> thanks wes, lua is so flexible i'm still having difficulties with the placement of gl.Enable("BLEND") gl.BlendFunc(1,6) gl.ClearColor(0,0,0,0.5) my intuition tells me it should be in the init function, but no go. On Jan 2, 2008 5:26 AM, Wesley Smith wrote: > Sorry, there was a slight typo in my script in the last post. Here's > a fixed version: > > > autowatch = 1 > print("compiled") > render_context = this.drawto > angle=0 > mouseXY={0,0} > dir=1 > > > > function BuildLists() > > box = gl.GenLists(2) > gl.NewList(box ,"COMPILE"); > gl.Begin("QUADS") > gl.Vertex (-0.5 , 0.5 , 0. ) -- Top Left > gl.Vertex ( 0.5 , 0.5 , 0. ) -- Top Right > gl.Vertex ( 0.5 ,-0.5 , 0. ) -- Bottom Right > gl.Vertex (-0.5 ,-0.5 , 0. ) > gl.End(); > gl.EndList() > end > function init() > --initialize the dispaly list > if(this.context ~= 0) then > BuildLists() > end > end > > > -- functions as variables! > function setOnReloadOrDestChanged(func) > script_load = func > dest_changed = func > end > setOnReloadOrDestChanged(init) > > --[[ > This section is equivalent to the above > > function script_load() > init() > end > > function dest_changed() > init() > end > --]] > > function draw() > gl.Clear("COLOR_BUFFER_BIT" , "DEPTH_BUFFER_BIT") > --gl.LoadIdentity() > --gl.Enable("BLEND") > --gl.BlendFunc(1,6) > --gl.ClearColor(1,1,0,1) > rot() > for i=0,1000 do > gl.Translate(mouseXY[1],mouseXY[2],(i/1000)-1); > gl.Rotate (angle,0,0,1) > gl.Color(i/1000, math.random(), 1, i/1000) > gl.CallList(box) > end > > end > > function rot() > angle = angle+dir > if angle==15 then dir= -0.5 > elseif angle==0 then dir= 0.5 > end > end > > --create the listener callback function > function callback(event) > if(event.eventname == "mouseidle") then > local _glXmouse = event.args[1] > local _glYmouse = event.args[2] > --need to transform mouse ccordinates to world domain > --dono why, but 0.95 needed > mouseXY=jit.gl.screentoworld({_glXmouse,_glYmouse, 0.95}) > end > end > > --create a listener object > listener = jit.listener(render_context, "callback") > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20080102/d9e45325/attachment.htm From programmeur at pucemuse.com Wed Jan 2 04:52:31 2008 From: programmeur at pucemuse.com (Vincent Goudard) Date: Wed Jan 2 04:52:38 2008 Subject: [jitter] Re: how to rotate a camera? In-Reply-To: <1b1605c20712310425h32d45526u9719bbf99a4ca2f3@mail.gmail.com> References: <1b1605c20712291255p2bf3d5c8m890097221a433bb9@mail.gmail.com> <1b1605c20712291508l1962d6e1x21cb6d16de98425d@mail.gmail.com> <89233650-7E54-4452-A9BD-85060060342C@martinjan.com> <1b1605c20712291651t43e5c73bie64100d883ef7fd2@mail.gmail.com> <1b1605c20712291731h1e32595ejbf7612c4c1df67ad@mail.gmail.com> <577F24D4-4346-453C-A3DD-21B2A4EBE499@martinjan.com> <1b1605c20712310425h32d45526u9719bbf99a4ca2f3@mail.gmail.com> Message-ID: <477B7AFF.1050300@pucemuse.com> Have you checked the "AdvancedCameraNavigation" in the jitter example patches? It is well done and give a good insight on how to handle the various camera parameters. ...vincent yair reshef a ?crit : > ok, i'll try it another way. > assume i have a point in space (camera). > -5.10 0.33 -3.56 xyz > and an angle direction at which this point is looking (look at) > -11.465012 -4.556370 50.838782 roll,pitch,yaw > > what is the formula i'm looking for to bind the lookat to this point ? > like finding a point that extends on a line given a degree and origin. > i assume this will give me a freelooking camera i so need. > thanks > From pr at thisserver.de Wed Jan 2 05:09:31 2008 From: pr at thisserver.de (John Dekron) Date: Wed Jan 2 05:09:38 2008 Subject: [jitter] cc.uyvy2rgba.jxs and optimization In-Reply-To: <5AD051E6-6B1A-4369-B5F4-F6597E7B7F12@gmail.com> References: <1dbee.4746300f@www.cycling74.com> <47469DE5.4050901@thisserver.de> <1b1605c20712060131w599646abme33b54a1a670cc0a@mail.gmail.com> <5AD051E6-6B1A-4369-B5F4-F6597E7B7F12@gmail.com> Message-ID: <477B7EFB.40700@thisserver.de> Hi _n, I get the digital artifacts as well and have no idea where they come from. Animation and png are videocodecs that hold an alpha channel what is necessary for the uyvy information. If I remember correctly it is possible to limit the data rate on png compression. I did use png for a previous project, but lately I experienced some crashes when playing back png compressed movies. i switched to animation and it worked fine. Sorry that I didn't investigate deeper on the crashes that I had, so this information might as well be treated as gossip- but eventually there is some truth in it. good luck. John. (())_n schrieb: > yes dekron, yair, > > I have been looking into this method of doing the conversion before, and > it does help, doubling the frame rate of the display patch and cutting > down on cpu/gpu load. > > Problem is, it seems only some codecs work with this method. Animation > which you use I guess compresses over time, because when I try to > display particular frames I get digital artifacts. For Jpeg, motion-jpeg > the colors aren't right when the film is loading back in. I had success > with PNG codec, but the file sizes after the compression are quite large. > > Any other codecs you could recommend that compress each frame separately > and work with this method of creating "quasi" uyvy to be decoded as such > on the GPU? > > To get Photo-Jpeg/Motion-Jpeg to work I tried to map the planes > differently, but couldn't get the colors to match. Anyone throw some > light on this? Is there a particular website that might describe all the > different standard quicktime codecs? Detailing which compress every > frame separately and which compress over time? Jitter does better with > the former. > > cheers > > (())_n > > > > > > > On Dec 6, 2007, at 4:31 AM, yair reshef wrote: > >> thank you mr. Dekron, your pre uyvy method has gotten me a 768x768 >> movie run a lot nicer on an xp. >> >> btw. is there a method to force other post enviroments (aftereffects, >> shake etc.) to export to uyvy. >> most of the post friends i asked looked at me funny. >> >> >> >> On Nov 23, 2007 11:31 AM, John Dekron wrote: >> Hi Tyler, >> I don't know about the funny colors you see, but on the fps side, i >> understand that jit.qt.movie is doing the conversion from argb to uyvy >> internally. on some bigger movies I get even better performance when I >> transform the source movie to a half sized "quasi" uyvy movie >> beforehand. (see attahced patch). I only see some "trailing" on that >> kind of material. this is on MacBook Pro, OSX 10.4.10, Quicktime 7.2 >> >> John. >> >> max v2; >> #N vpatcher 461 240 1347 803; >> #P window setfont "Sans Serif" 9.; >> #P window linecount 1; >> #P comment 638 116 100 196617 5. read new movie; >> #P comment 119 209 100 196617 4. stop; >> #P window linecount 2; >> #P comment 116 179 100 196617 2. select write location; >> #P window linecount 1; >> #P message 597 119 30 196617 read; >> #P newex 554 193 297 196617 jit.gl.videoplane content @colormode uyvy >> @transform_reset 2; >> #P newex 554 167 155 196617 jit.qt.movie @adapt 1 @unique 1; >> #P newex 490 307 94 196617 jit.window content; >> #P user jit.fpsgui 435 125 60 196617 0; >> #P newex 417 348 101 196617 jit.gl.render content; >> #P newex 417 97 66 196617 t b b b erase; >> #P toggle 417 48 15 0; >> #P newex 417 73 57 196617 qmetro 20; >> #P user jit.pwindow 250 161 82 62 0 1 0 0 1 0; >> #P message 90 197 29 196617 stop; >> #P message 91 160 154 196617 write 25. animation normal 600; >> #P newex 57 233 66 196617 jit.qt.record; >> #P message 122 66 30 196617 read; >> #P message 57 66 60 196617 framedump; >> #P newex 57 123 190 196617 jit.qt.movie @adapt 1 @colormode uyvy; >> #P comment 125 45 100 196617 1. read movie; >> #P comment 21 45 100 196617 3. framedump; >> #P fasten 4 0 2 0 127 99 62 99; >> #P connect 3 0 2 0; >> #P connect 2 0 5 0; >> #P fasten 7 0 5 0 95 224 62 224; >> #P fasten 6 0 5 0 96 181 62 181; >> #P fasten 2 0 8 0 62 147 256 147; >> #P connect 10 0 9 0; >> #P connect 9 0 11 0; >> #P connect 11 0 12 0; >> #P fasten 11 3 12 0 476 160 422 160; >> #P connect 11 1 13 0; >> #P connect 17 0 15 0; >> #P fasten 11 2 15 0 458 121 559 121; >> #P connect 15 0 16 0; >> #P pop; >> >> >> Tyler Nitsch schrieb: >> > Upon vades suggestion and searching the archives.... >> > >> > >> http://www.cycling74.com/forums/index.php?t=msg&goto=113246&rid=0&S=12672e78d4a9aad871b2693f9a7bbb5b#msg_113246 >> >> > >> > I tried implementing this conversion on the gpu. The problem is I >> get funny colored purpley/greeny/red distorted lines on the output >> window... and when I try to use either dx | qt.grab the screen is >> distorted. >> > >> > The good news is my fps is WAY BETTER!!! without using @colormode >> uyvy on the qt.movie I can only get 100fps on the patch I'm posting >> whereas with the shader doing the conversion I get up to 160 fps >> !!???!! So weird. Any help would greatly be appreciated. >> > >> > I'm using windows XP PRO on an AMD s939 4800X2 with the latest max >> and jitter.and a Viper ATI Radeon HD 3870 gpu. >> > >> > #P window setfont "Sans Serif" 9.; >> > #P number 418 72 35 9 1 3 3 139 0 0 0 221 221 221 222 222 222 0 0 0; >> > #P window linecount 1; >> > #P newex 403 193 214 9109513 jit.qt.movie 720 480 @unique 1 >> @colormode argb; >> > #P newex 403 228 77 9109513 jit.gl.slab window; >> > #P user jit.fpsgui 155 341 60 9109513 0; >> > #P message 621 156 30 9109513 close; >> > #P newex 623 121 57 9109513 select 1 2 3; >> > #P message 652 156 28 9109513 open; >> > #P newex 388 154 42 9109513 gate 3 1; >> > #P newex 623 193 267 9109513 jit.dx.grab 720 480 @vdevice 0 @unique >> 1 @colormode uyvy; >> > #P message 80 398 62 9109513 fullscreen \$1; >> > #P toggle 80 380 15 0; >> > #P newex 58 330 40 9109513 key; >> > #P newex 80 357 46 9109513 select 27; >> > #P newex 141 227 250 9109513 jit.gl.slab window @file >> cc.uyvy2rgba.jxs @dimscale 2. 1.; >> > #P newex 308 30 48 9109513 loadbang; >> > #P newex 139 84 30 9109513 t b b; >> > #P toggle 138 40 15 0; >> > #P newex 138 64 45 9109513 qmetro 5; >> > #P newex 75 121 111 9109513 t b b erase; >> > #P newex 193 308 192 9109513 jit.gl.videoplane window >> @transform_reset 2; >> > #P newex 142 188 219 9109513 jit.qt.movie 720 480 @unique 1 >> @colormode uyvy; >> > #P message 310 117 76 9109513 read bball.mov; >> > #P newex 69 426 199 9109513 jit.window window @depthbuffer 1 >> @floating 1; >> > #P newex 75 299 86 9109513 jit.gl.render window; >> > #P connect 18 2 17 0; >> > #P connect 16 2 15 0; >> > #P connect 19 0 15 0; >> > #P connect 17 0 15 0; >> > #P connect 23 0 16 0; >> > #P connect 23 0 18 0; >> > #P connect 18 1 19 0; >> > #P connect 18 0 19 0; >> > #P connect 5 1 16 1; >> > #P connect 22 0 21 0; >> > #P connect 16 1 22 0; >> > #P fasten 2 0 3 0 315 144 147 144; >> > #P connect 2 0 22 0; >> > #P connect 9 0 2 0; >> > #P connect 10 0 4 0; >> > #P connect 21 0 4 0; >> > #P connect 0 0 20 0; >> > #P connect 16 0 3 0; >> > #P fasten 3 0 10 0 147 218 146 218; >> > #P fasten 15 0 10 0 628 218 146 218; >> > #P connect 6 0 8 0; >> > #P connect 7 0 6 0; >> > #P connect 13 0 14 0; >> > #P connect 11 0 13 0; >> > #P connect 12 0 11 0; >> > #P connect 5 0 0 0; >> > #P connect 5 2 0 0; >> > #P fasten 8 0 5 0 144 108 80 108; >> > #P connect 14 0 1 0; >> > #P window clipboard copycount 24; >> > >> > >> > _______________________________________________ >> > jitter mailing list >> > jitter@cycling74.com >> > http://www.cycling74.com/mailman/listinfo/jitter >> > >> >> _______________________________________________ >> jitter mailing list >> jitter@cycling74.com >> http://www.cycling74.com/mailman/listinfo/jitter >> >> _______________________________________________ >> jitter mailing list >> jitter@cycling74.com >> http://www.cycling74.com/mailman/listinfo/jitter > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > From erik at videotroopers.com Wed Jan 2 05:51:23 2008 From: erik at videotroopers.com (Erik Mijwaard) Date: Wed Jan 2 05:51:24 2008 Subject: [jitter] Re: lua questions In-Reply-To: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> Message-ID: <1e89c.477b88cb@www.cycling74.com> try this: gl.BlendFunc(ONE, ONE_MINUS_SRC_ALPHA) like the redbook says, but without the GL_ http://www.cs.rutgers.edu/~decarlo/428/gl_man/blendfunc.html hth, erik Quote: yair r. wrote on Wed, 02 January 2008 04:18 ---------------------------------------------------- > thanks wes, lua is so flexible > > i'm still having difficulties with the placement of > gl.Enable("BLEND") > gl.BlendFunc(1,6) > gl.ClearColor(0,0,0,0.5) > my intuition tells me it should be in the init function, but no go. From yair99 at gmail.com Wed Jan 2 06:40:03 2008 From: yair99 at gmail.com (yair reshef) Date: Wed Jan 2 06:40:05 2008 Subject: [jitter] Re: how to rotate a camera? In-Reply-To: <477B7AFF.1050300@pucemuse.com> References: <1b1605c20712291255p2bf3d5c8m890097221a433bb9@mail.gmail.com> <1b1605c20712291508l1962d6e1x21cb6d16de98425d@mail.gmail.com> <89233650-7E54-4452-A9BD-85060060342C@martinjan.com> <1b1605c20712291651t43e5c73bie64100d883ef7fd2@mail.gmail.com> <1b1605c20712291731h1e32595ejbf7612c4c1df67ad@mail.gmail.com> <577F24D4-4346-453C-A3DD-21B2A4EBE499@martinjan.com> <1b1605c20712310425h32d45526u9719bbf99a4ca2f3@mail.gmail.com> <477B7AFF.1050300@pucemuse.com> Message-ID: <1b1605c20801020540jabd4220n9109ecdcf8f6184b@mail.gmail.com> thanks, this is what i need! On Jan 2, 2008 1:52 PM, Vincent Goudard wrote: > Have you checked the "AdvancedCameraNavigation" in the jitter example > patches? > It is well done and give a good insight on how to handle the various > camera parameters. > ...vincent > > > yair reshef a ?crit : > > ok, i'll try it another way. > > assume i have a point in space (camera). > > -5.10 0.33 -3.56 xyz > > and an angle direction at which this point is looking (look at) > > -11.465012 -4.556370 50.838782 roll,pitch,yaw > > > > what is the formula i'm looking for to bind the lookat to this point ? > > like finding a point that extends on a line given a degree and origin. > > i assume this will give me a freelooking camera i so need. > > thanks > > > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20080102/95fe4ce0/attachment.htm From doktorp at mac.com Wed Jan 2 09:36:01 2008 From: doktorp at mac.com (vade) Date: Wed Jan 2 09:36:09 2008 Subject: [jitter] cc.uyvy2rgba.jxs and optimization In-Reply-To: <477B7EFB.40700@thisserver.de> References: <1dbee.4746300f@www.cycling74.com> <47469DE5.4050901@thisserver.de> <1b1605c20712060131w599646abme33b54a1a670cc0a@mail.gmail.com> <5AD051E6-6B1A-4369-B5F4-F6597E7B7F12@gmail.com> <477B7EFB.40700@thisserver.de> Message-ID: Hm. Unless I am mistaken, UYVY does absolutely nothing with the alpha channel what so ever. That information is lost to the ether unless you use the alphaglue shader and read in the alpha via other means. UYVY has no alpha channel, and I dont think that jit.qt.movie premulitplies alpha for you while doing the conversion? From my understanding of the UYVY shaders and colormode is: *Some video codecs use an internal format that is something like ARGB (or RGBA...), or YUV or some variant (Y, cr' cb' or whatnot) *jit.qt.movie when left alone, will always do conversion to JITTERS basic ARGB matrix format. This means that any video whose codecs native internal pixel format is YUV or some other needs to be converted to ARGB by either quicktime or ji.qt.movie (I am unsure which internal mechanism does this). If the pixel format is something like RGBA or ARGB, nothing really needs to be done. jit.qt.movie @colormode uyvy does the reverse of this, which means any quicktime movie whose normal internal pixel format is YUV (or similarly compatible) gets left alone, otherwise it is converted to UYVY. This means that for codecs which normally use YUV or whatnot colorspace internally, using @colormode UYVY is a fastpath - as there is no conversion overhead. This also means that ARGB codecs (or anything else), using @colormode UYVY is NOT a fastpath, as conversion must happen (somewhere - again I do not know specifically where this happens). Id love to know from Cycling if this is correct. *feature request below!* Ive been thinking about this myself, and it might be nice if there was an attribute @colorspace native which would also dumpout the colorspace on the rightmost outlet (dumpout outlet) right before the movie plays its first frame, and load the movie natively. This would allow you to : Have a fastpath GPU uploading solution that would retain alpha channel should your quicktime movie have one, or skip right to UYVY those that need it. decide what to do with the alpha channel should you want to keep it. * As far as the errors go, have you tried the other various uyvy conversion shaders, the lite, and the one with gamma correction? As far as animation is concerned I belive it is ARGB and uses only run length encoding, which is basically like uncompressed, and has not inter frame coding. Its like motion jpeg/ photo jpeg, just ARGB and lossless compression. On Jan 2, 2008, at 7:09 AM, John Dekron wrote: > Hi _n, > I get the digital artifacts as well and have no idea where they come > from. > Animation and png are videocodecs that hold an alpha channel what is > necessary for the uyvy information. If I remember correctly it is > possible to limit the data rate on png compression. I did use png > for a previous project, but lately I experienced some crashes when > playing back png compressed movies. i switched to animation and it > worked fine. Sorry that I didn't investigate deeper on the crashes > that I had, so this information might as well be treated as gossip- > but eventually there is some truth in it. > > good luck. John. > > (())_n schrieb: >> yes dekron, yair, >> I have been looking into this method of doing the conversion >> before, and it does help, doubling the frame rate of the display >> patch and cutting down on cpu/gpu load. >> Problem is, it seems only some codecs work with this method. >> Animation which you use I guess compresses over time, because when >> I try to display particular frames I get digital artifacts. For >> Jpeg, motion-jpeg the colors aren't right when the film is loading >> back in. I had success with PNG codec, but the file sizes after the >> compression are quite large. >> Any other codecs you could recommend that compress each frame >> separately and work with this method of creating "quasi" uyvy to be >> decoded as such on the GPU? >> To get Photo-Jpeg/Motion-Jpeg to work I tried to map the planes >> differently, but couldn't get the colors to match. Anyone throw >> some light on this? Is there a particular website that might >> describe all the different standard quicktime codecs? Detailing >> which compress every frame separately and which compress over time? >> Jitter does better with the former. >> cheers >> (())_n >> On Dec 6, 2007, at 4:31 AM, yair reshef wrote: >>> thank you mr. Dekron, your pre uyvy method has gotten me a 768x768 >>> movie run a lot nicer on an xp. >>> >>> btw. is there a method to force other post enviroments >>> (aftereffects, shake etc.) to export to uyvy. >>> most of the post friends i asked looked at me funny. >>> >>> >>> >>> On Nov 23, 2007 11:31 AM, John Dekron wrote: >>> Hi Tyler, >>> I don't know about the funny colors you see, but on the fps side, i >>> understand that jit.qt.movie is doing the conversion from argb to >>> uyvy >>> internally. on some bigger movies I get even better performance >>> when I >>> transform the source movie to a half sized "quasi" uyvy movie >>> beforehand. (see attahced patch). I only see some "trailing" on that >>> kind of material. this is on MacBook Pro, OSX 10.4.10, Quicktime 7.2 >>> >>> John. >>> >>> max v2; >>> #N vpatcher 461 240 1347 803; >>> #P window setfont "Sans Serif" 9.; >>> #P window linecount 1; >>> #P comment 638 116 100 196617 5. read new movie; >>> #P comment 119 209 100 196617 4. stop; >>> #P window linecount 2; >>> #P comment 116 179 100 196617 2. select write location; >>> #P window linecount 1; >>> #P message 597 119 30 196617 read; >>> #P newex 554 193 297 196617 jit.gl.videoplane content @colormode >>> uyvy >>> @transform_reset 2; >>> #P newex 554 167 155 196617 jit.qt.movie @adapt 1 @unique 1; >>> #P newex 490 307 94 196617 jit.window content; >>> #P user jit.fpsgui 435 125 60 196617 0; >>> #P newex 417 348 101 196617 jit.gl.render content; >>> #P newex 417 97 66 196617 t b b b erase; >>> #P toggle 417 48 15 0; >>> #P newex 417 73 57 196617 qmetro 20; >>> #P user jit.pwindow 250 161 82 62 0 1 0 0 1 0; >>> #P message 90 197 29 196617 stop; >>> #P message 91 160 154 196617 write 25. animation normal 600; >>> #P newex 57 233 66 196617 jit.qt.record; >>> #P message 122 66 30 196617 read; >>> #P message 57 66 60 196617 framedump; >>> #P newex 57 123 190 196617 jit.qt.movie @adapt 1 @colormode uyvy; >>> #P comment 125 45 100 196617 1. read movie; >>> #P comment 21 45 100 196617 3. framedump; >>> #P fasten 4 0 2 0 127 99 62 99; >>> #P connect 3 0 2 0; >>> #P connect 2 0 5 0; >>> #P fasten 7 0 5 0 95 224 62 224; >>> #P fasten 6 0 5 0 96 181 62 181; >>> #P fasten 2 0 8 0 62 147 256 147; >>> #P connect 10 0 9 0; >>> #P connect 9 0 11 0; >>> #P connect 11 0 12 0; >>> #P fasten 11 3 12 0 476 160 422 160; >>> #P connect 11 1 13 0; >>> #P connect 17 0 15 0; >>> #P fasten 11 2 15 0 458 121 559 121; >>> #P connect 15 0 16 0; >>> #P pop; >>> >>> >>> Tyler Nitsch schrieb: >>> > Upon vades suggestion and searching the archives.... >>> > >>> > http://www.cycling74.com/forums/index.php?t=msg&goto=113246&rid=0&S=12672e78d4a9aad871b2693f9a7bbb5b#msg_113246 >>> > >>> > I tried implementing this conversion on the gpu. The problem is >>> I get funny colored purpley/greeny/red distorted lines on the >>> output window... and when I try to use either dx | qt.grab the >>> screen is distorted. >>> > >>> > The good news is my fps is WAY BETTER!!! without using >>> @colormode uyvy on the qt.movie I can only get 100fps on the patch >>> I'm posting whereas with the shader doing the conversion I get up >>> to 160 fps !!???!! So weird. Any help would greatly be >>> appreciated. >>> > >>> > I'm using windows XP PRO on an AMD s939 4800X2 with the latest >>> max and jitter.and a Viper ATI Radeon HD 3870 gpu. >>> > >>> > #P window setfont "Sans Serif" 9.; >>> > #P number 418 72 35 9 1 3 3 139 0 0 0 221 221 221 222 222 222 0 >>> 0 0; >>> > #P window linecount 1; >>> > #P newex 403 193 214 9109513 jit.qt.movie 720 480 @unique 1 >>> @colormode argb; >>> > #P newex 403 228 77 9109513 jit.gl.slab window; >>> > #P user jit.fpsgui 155 341 60 9109513 0; >>> > #P message 621 156 30 9109513 close; >>> > #P newex 623 121 57 9109513 select 1 2 3; >>> > #P message 652 156 28 9109513 open; >>> > #P newex 388 154 42 9109513 gate 3 1; >>> > #P newex 623 193 267 9109513 jit.dx.grab 720 480 @vdevice 0 >>> @unique 1 @colormode uyvy; >>> > #P message 80 398 62 9109513 fullscreen \$1; >>> > #P toggle 80 380 15 0; >>> > #P newex 58 330 40 9109513 key; >>> > #P newex 80 357 46 9109513 select 27; >>> > #P newex 141 227 250 9109513 jit.gl.slab window @file >>> cc.uyvy2rgba.jxs @dimscale 2. 1.; >>> > #P newex 308 30 48 9109513 loadbang; >>> > #P newex 139 84 30 9109513 t b b; >>> > #P toggle 138 40 15 0; >>> > #P newex 138 64 45 9109513 qmetro 5; >>> > #P newex 75 121 111 9109513 t b b erase; >>> > #P newex 193 308 192 9109513 jit.gl.videoplane window >>> @transform_reset 2; >>> > #P newex 142 188 219 9109513 jit.qt.movie 720 480 @unique 1 >>> @colormode uyvy; >>> > #P message 310 117 76 9109513 read bball.mov; >>> > #P newex 69 426 199 9109513 jit.window window @depthbuffer 1 >>> @floating 1; >>> > #P newex 75 299 86 9109513 jit.gl.render window; >>> > #P connect 18 2 17 0; >>> > #P connect 16 2 15 0; >>> > #P connect 19 0 15 0; >>> > #P connect 17 0 15 0; >>> > #P connect 23 0 16 0; >>> > #P connect 23 0 18 0; >>> > #P connect 18 1 19 0; >>> > #P connect 18 0 19 0; >>> > #P connect 5 1 16 1; >>> > #P connect 22 0 21 0; >>> > #P connect 16 1 22 0; >>> > #P fasten 2 0 3 0 315 144 147 144; >>> > #P connect 2 0 22 0; >>> > #P connect 9 0 2 0; >>> > #P connect 10 0 4 0; >>> > #P connect 21 0 4 0; >>> > #P connect 0 0 20 0; >>> > #P connect 16 0 3 0; >>> > #P fasten 3 0 10 0 147 218 146 218; >>> > #P fasten 15 0 10 0 628 218 146 218; >>> > #P connect 6 0 8 0; >>> > #P connect 7 0 6 0; >>> > #P connect 13 0 14 0; >>> > #P connect 11 0 13 0; >>> > #P connect 12 0 11 0; >>> > #P connect 5 0 0 0; >>> > #P connect 5 2 0 0; >>> > #P fasten 8 0 5 0 144 108 80 108; >>> > #P connect 14 0 1 0; >>> > #P window clipboard copycount 24; >>> > >>> > >>> > _______________________________________________ >>> > jitter mailing list >>> > jitter@cycling74.com >>> > http://www.cycling74.com/mailman/listinfo/jitter >>> > >>> >>> _______________________________________________ >>> jitter mailing list >>> jitter@cycling74.com >>> http://www.cycling74.com/mailman/listinfo/jitter >>> >>> _______________________________________________ >>> jitter mailing list >>> jitter@cycling74.com >>> http://www.cycling74.com/mailman/listinfo/jitter >> _______________________________________________ >> jitter mailing list >> jitter@cycling74.com >> http://www.cycling74.com/mailman/listinfo/jitter > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter From wesley.hoke at gmail.com Wed Jan 2 09:42:01 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Wed Jan 2 09:42:02 2008 Subject: [jitter] Re: lua questions In-Reply-To: <1e89c.477b88cb@www.cycling74.com> References: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> <1e89c.477b88cb@www.cycling74.com> Message-ID: <1079b050801020842x62ec38f8g4bf8dc8a9fa44dc9@mail.gmail.com> On Jan 2, 2008 4:51 AM, Erik Mijwaard wrote: > > > try this: > > gl.BlendFunc(ONE, ONE_MINUS_SRC_ALPHA) > Indeed, this is the way to go. The Jitter constants for blend functions just enumerate the list of enums. In jit.gl.lua, the enums have become strings corresponding to the name of the enum. BTW, if you get errors from the ONE enum and you have the latest version of jit.gl.lua for your platform, let me know. wes From yair99 at gmail.com Wed Jan 2 10:05:14 2008 From: yair99 at gmail.com (yair reshef) Date: Wed Jan 2 10:05:18 2008 Subject: [jitter] Re: lua questions In-Reply-To: <1079b050801020842x62ec38f8g4bf8dc8a9fa44dc9@mail.gmail.com> References: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> <1e89c.477b88cb@www.cycling74.com> <1079b050801020842x62ec38f8g4bf8dc8a9fa44dc9@mail.gmail.com> Message-ID: <1b1605c20801020905j1cacd58bm7599756c0e82fd77@mail.gmail.com> ye, i got an error. im on beta4 ob3d_draw_preamble initial: GL Error: Invalid enumeration function init() --initialize the dispaly list if(this.context ~= 0) then BuildLists() gl.Enable("BLEND") gl.BlendFunc("ONE", "ONE_MINUS_SRC_ALPHA") --gl.ClearColor(1,1,0,1) end end On Jan 2, 2008 6:42 PM, Wesley Smith wrote: > On Jan 2, 2008 4:51 AM, Erik Mijwaard wrote: > > > > > > try this: > > > > gl.BlendFunc(ONE, ONE_MINUS_SRC_ALPHA) > > > > Indeed, this is the way to go. The Jitter constants for blend > functions just enumerate the list of enums. In jit.gl.lua, the enums > have become strings corresponding to the name of the enum. BTW, if > you get errors from the ONE enum and you have the latest version of > jit.gl.lua for your platform, let me know. > > wes > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20080102/da3820da/attachment.htm From derrickgiscloux at free.fr Wed Jan 2 10:17:21 2008 From: derrickgiscloux at free.fr (Derrick Giscloux) Date: Wed Jan 2 10:17:22 2008 Subject: [jitter] Re: cc.uyvy2rgba.jxs and optimization In-Reply-To: <1dbee.4746300f@www.cycling74.com> Message-ID: <1e8ba.477bc721@www.cycling74.com> Great Vade ! From wesley.hoke at gmail.com Wed Jan 2 10:33:19 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Wed Jan 2 10:33:26 2008 Subject: [jitter] Re: lua questions In-Reply-To: <1b1605c20801020905j1cacd58bm7599756c0e82fd77@mail.gmail.com> References: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> <1e89c.477b88cb@www.cycling74.com> <1079b050801020842x62ec38f8g4bf8dc8a9fa44dc9@mail.gmail.com> <1b1605c20801020905j1cacd58bm7599756c0e82fd77@mail.gmail.com> Message-ID: <1079b050801020933q6cfa910epaf890074ab8eb95f@mail.gmail.com> ok, I'll have an update soon. I'm assuming you're on windows? wes On Jan 2, 2008 9:05 AM, yair reshef wrote: > ye, i got an error. im on beta4 > ob3d_draw_preamble initial: GL Error: Invalid enumeration > > > function init() > --initialize the dispaly list > if(this.context ~= 0) then > BuildLists() > gl.Enable ("BLEND") > > gl.BlendFunc("ONE", "ONE_MINUS_SRC_ALPHA") > --gl.ClearColor(1,1,0,1) > end > end > > > > > On Jan 2, 2008 6:42 PM, Wesley Smith < wesley.hoke@gmail.com> wrote: > > > > > > > > > > On Jan 2, 2008 4:51 AM, Erik Mijwaard < erik@videotroopers.com> wrote: > > > > > > > > > try this: > > > > > > gl.BlendFunc(ONE, ONE_MINUS_SRC_ALPHA) > > > > > > > Indeed, this is the way to go. The Jitter constants for blend > > functions just enumerate the list of enums. In jit.gl.lua, the enums > > have become strings corresponding to the name of the enum. BTW, if > > you get errors from the ONE enum and you have the latest version of > > jit.gl.lua for your platform, let me know. > > > > wes > > > > > > > > > > _______________________________________________ > > jitter mailing list > > jitter@cycling74.com > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > > From ondinecomposer2 at hotmail.com Wed Jan 2 10:55:52 2008 From: ondinecomposer2 at hotmail.com (Cheng Chien-Wen) Date: Wed Jan 2 10:55:54 2008 Subject: [jitter] Better way to make "video freeze" ? Message-ID: <1e8c0.477bd027@www.cycling74.com> I would like to create a jitter patch which freezes a real-time video when it receives a bang. At the same time, this patch should still continue the real-time video and gradually fade out the frozen image after a short period of time. Any suggestions ? Thanks. From wesley.hoke at gmail.com Wed Jan 2 11:11:27 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Wed Jan 2 11:11:29 2008 Subject: [jitter] Re: lua questions In-Reply-To: <1079b050801020933q6cfa910epaf890074ab8eb95f@mail.gmail.com> References: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> <1e89c.477b88cb@www.cycling74.com> <1079b050801020842x62ec38f8g4bf8dc8a9fa44dc9@mail.gmail.com> <1b1605c20801020905j1cacd58bm7599756c0e82fd77@mail.gmail.com> <1079b050801020933q6cfa910epaf890074ab8eb95f@mail.gmail.com> Message-ID: <1079b050801021011ubd429b2n1d1d6a640dc2525a@mail.gmail.com> ok, I've updated to beta4.1 with a new windows external fixing the ONE enum problem. Let me know if you still have issues. wes On Jan 2, 2008 9:33 AM, Wesley Smith wrote: > ok, I'll have an update soon. I'm assuming you're on windows? > > wes > > > On Jan 2, 2008 9:05 AM, yair reshef wrote: > > ye, i got an error. im on beta4 > > ob3d_draw_preamble initial: GL Error: Invalid enumeration > > > > > > function init() > > --initialize the dispaly list > > if(this.context ~= 0) then > > BuildLists() > > gl.Enable ("BLEND") > > > > gl.BlendFunc("ONE", "ONE_MINUS_SRC_ALPHA") > > --gl.ClearColor(1,1,0,1) > > end > > end > > > > > > > > > > On Jan 2, 2008 6:42 PM, Wesley Smith < wesley.hoke@gmail.com> wrote: > > > > > > > > > > > > > > > On Jan 2, 2008 4:51 AM, Erik Mijwaard < erik@videotroopers.com> wrote: > > > > > > > > > > > > try this: > > > > > > > > gl.BlendFunc(ONE, ONE_MINUS_SRC_ALPHA) > > > > > > > > > > Indeed, this is the way to go. The Jitter constants for blend > > > functions just enumerate the list of enums. In jit.gl.lua, the enums > > > have become strings corresponding to the name of the enum. BTW, if > > > you get errors from the ONE enum and you have the latest version of > > > jit.gl.lua for your platform, let me know. > > > > > > wes > > > > > > > > > > > > > > > _______________________________________________ > > > jitter mailing list > > > jitter@cycling74.com > > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > > > > > _______________________________________________ > > jitter mailing list > > jitter@cycling74.com > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > From xphacter at gmail.com Wed Jan 2 11:16:41 2008 From: xphacter at gmail.com (Michael Giambrone) Date: Wed Jan 2 11:16:43 2008 Subject: [jitter] Rubix Cube Positions Message-ID: <1e8c3.477bd508@www.cycling74.com> im making a 2x2x2 rubix cube, which is 8 cubes, with only 3 visible sides each, i made my engine work so each cube has 8 different positions, and they move using shape orient, however when a cube rotates within itself, it has totally different rotate properties. so that means the cube has 3 states within each position making it 24 different combinations total for each cube, with 8 different cubes this makes the total number of states i have to handle is 192. Thats way too many states to handle, and in my opinion not efficient because i have to rewrite everything in order to upgrade to bigger cubes. my only solution i can think of is having each cube have three different location properties, and moving them as a different dynamic group. Any Ideas? max v2; #N vpatcher 13 82 1571 1082; #P origin 15 22; #P window setfont "Sans Serif" 9.; #P window linecount 2; #P comment 891 244 100 196617 Hit this button to reset that cube; #P window linecount 3; #P comment 740 240 100 196617 Hit this button to rotate a single cube clockwise; #P window linecount 2; #P comment 589 255 100 196617 Hit this button to rotate clockwise; #P window linecount 1; #P message 913 287 14 196617 0; #P message 774 281 20 196617 90; #P newex 508 201 48 196617 loadbang; #P message 176 100 70 196617 camera 8 8 8; #P newex 499 255 54 196617 pack 0 90; #P message 590 290 68 196617 \$2 \, \$1 1000; #P message 366 295 68 196617 \$1 \, \$2 1000; #P newex 495 451 40 196617 r stuff; #P number 498 432 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 541 431 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 515 470 57 196617 pack 0 0 0; #P number 588 430 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 262 449 40 196617 r stuff; #P number 270 429 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 313 428 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 287 467 57 196617 pack 0 0 0; #P number 360 427 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 17 450 40 196617 r stuff; #P number 29 432 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 72 431 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 46 470 57 196617 pack 0 0 0; #P number 119 430 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 758 461 40 196617 r stuff; #P number 767 443 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 810 442 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 784 481 57 196617 pack 0 0 0; #P number 857 441 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 724 612 40 196617 r stuff; #P number 726 594 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 769 593 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 743 632 57 196617 pack 0 0 0; #P number 816 592 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 490 603 40 196617 r stuff; #P number 499 584 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 536 585 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 516 622 57 196617 pack 0 0 0; #P number 585 586 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 258 603 40 196617 r stuff; #P number 260 579 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 305 582 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 279 621 57 196617 pack 0 0 0; #P number 352 581 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 40 585 40 196617 r stuff; #P number 46 566 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 89 565 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 63 604 57 196617 pack 0 0 0; #P newex 499 340 50 196617 line 1 20; #P message 747 659 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube4; #P newex 745 685 105 196617 jit.gl.sketch mycube; #P message 519 663 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube3; #P newex 517 689 105 196617 jit.gl.sketch mycube; #P message 279 658 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube2; #P newex 277 684 105 196617 jit.gl.sketch mycube; #P message 502 505 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube8; #P newex 500 531 105 196617 jit.gl.sketch mycube; #P number 136 564 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 25 643 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube1; #P newex 29 675 105 196617 jit.gl.sketch mycube; #P message 777 515 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube5; #P newex 772 541 105 196617 jit.gl.sketch mycube; #P message 34 503 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube6; #P newex 30 529 105 196617 jit.gl.sketch mycube; #P message 1287 1227 253 196617 reset \, drawobject w8 \, drawobject b8 \, drawobject o8; #P newex 1286 1249 232 196617 jit.gl.sketch mycube @automatic 0 @name cube6; #P message 1270 1179 253 196617 reset \, drawobject w7 \, drawobject g7 \, drawobject o7; #P newex 1269 1201 232 196617 jit.gl.sketch mycube @automatic 0 @name cube8; #P message 1262 1129 253 196617 reset \, drawobject w6 \, drawobject g6 \, drawobject r6; #P newex 1261 1151 232 196617 jit.gl.sketch mycube @automatic 0 @name cube7; #P message 1247 1077 253 196617 reset \, drawobject w5 \, drawobject b5 \, drawobject r5; #P newex 1246 1099 232 196617 jit.gl.sketch mycube @automatic 0 @name cube5; #P message 1025 1226 251 196617 reset \, drawobject y4 \, drawobject g4 \, drawobject o4; #P newex 1024 1248 232 196617 jit.gl.sketch mycube @automatic 0 @name cube4; #P message 1007 1178 251 196617 reset \, drawobject y3 \, drawobject g3 \, drawobject r3; #P newex 1006 1200 232 196617 jit.gl.sketch mycube @automatic 0 @name cube3; #P message 990 1130 251 196617 reset \, drawobject y2 \, drawobject b2 \, drawobject o2; #P newex 990 1150 232 196617 jit.gl.sketch mycube @automatic 0 @name cube2; #P message 274 505 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube7; #P newex 272 531 105 196617 jit.gl.sketch mycube; #P message 974 1079 251 196617 reset \, drawobject y1 \, drawobject b1 \, drawobject r1; #P newex 973 1101 232 196617 jit.gl.sketch mycube @automatic 0 @name cube1; #P newex 1145 980 48 196617 loadbang; #P newex 365 75 38 196617 sel 27; #P message 123 31 34 196617 reset; #P newex 123 55 206 196617 jit.gl.handle mycube @inherit_transform 1; #P message 364 116 70 196617 fullscreen \$1; #P toggle 364 96 15 0; #P newex 361 49 40 196617 key; #P number 80 22 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P user jit.fpsgui 20 159 60 196617 0; #P toggle 20 28 15 0; #P newex 117 108 40 196617 s stuff; #P newex 21 132 286 196617 jit.gl.render mycube @erase_color 0. 0. 0. 1. @camera 8 8 8; #P newex 20 79 58 196617 t b b erase; #P newex 20 54 57 196617 qmetro 33; #P newex 364 137 225 196617 jit.window mycube @floating 1 @depthbuffer 1; #P window linecount 2; #P newex 372 1045 276 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 1 1 @color 1 0.5 0 1 @name o8 @automatic 0; #B color 5; #P newex 372 1010 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 -1 1 @color 1 0.5 0 1 @name o7 @automatic 0; #B color 5; #P newex 372 943 286 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 -1 -1 @color 1 0.5 0 1 @name o4 @automatic 0; #B color 5; #P newex 376 978 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 1 -1 @color 1 0.5 0 1 @name o2 @automatic 0; #B color 5; #P newex 1 1166 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 1 1 @color 1 0 0 1 @name r5 @automatic 0; #B color 5; #P newex 1 1236 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 -1 1 @color 1 0 0 1 @name r6 @automatic 0; #B color 5; #P newex 1 1202 272 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 -1 -1 @color 1 0 0 1 @name r3 @automatic 0; #B color 5; #P newex 2 1131 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 1 -1 @color 1 0 0 1 @name r1 @automatic 0; #B color 5; #P newex 721 951 234 196617 jit.gl.gridshape mycube @shape plane @position 1. -1 2 @color 1 1 1 1 @name w6 @automatic 0; #B color 5; #P newex 718 1014 239 196617 jit.gl.gridshape mycube @shape plane @position -1. -1 2 @color 1 1 1 1 @name w7 @automatic 0; #B color 5; #P newex 720 1046 234 196617 jit.gl.gridshape mycube @shape plane @position -1. 1 2 @color 1 1 1 1 @name w8 @automatic 0; #B color 5; #P newex 721 982 235 196617 jit.gl.gridshape mycube @shape plane @position 1. 1. 2. @color 1 1 1 1 @name w5 @automatic 0; #B color 5; #P newex 707 1179 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 2 -1 @color 0 0 1 1 @name b1 @automatic 0; #B color 5; #P newex 713 1245 272 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 2 -1 @color 0 0 1 1 @name b2 @automatic 0; #B color 5; #P newex 709 1143 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 2 1 @color 0 0 1 1 @name b5 @automatic 0; #B color 5; #P newex 709 1211 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 2 1 @color 0 0 1 1 @name b8 @automatic 0; #B color 5; #P newex 380 1172 276 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 -2 1 @color 0.5 1 0 1 @name g6 @automatic 0; #B color 5; #P newex 377 1243 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 -2 1 @color 0.5 1 0 1 @name g7 @automatic 0; #B color 5; #P newex 380 1205 286 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 -2 -1 @color 0.5 1 0 1 @name g4 @automatic 0; #B color 5; #P newex 379 1138 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 -2 -1 @color 0.5 1 0 1 @name g3 @automatic 0; #B color 5; #P newex 2 1015 237 196617 jit.gl.gridshape mycube @shape plane @position 1. -1 -2 @color 1 1 0 1 @name y3 @automatic 0; #B color 5; #P newex 1 1057 239 196617 jit.gl.gridshape mycube @shape plane @position -1. -1 -2 @color 1 1 0 1 @name y4 @automatic 0; #B color 5; #P newex 0 975 234 196617 jit.gl.gridshape mycube @shape plane @position -1. 1 -2 @color 1 1 0 1 @name y2 @automatic 0; #B color 5; #P newex 3 942 238 196617 jit.gl.gridshape mycube @shape plane @position 1. 1. -2. @color 1 1 0 1 @name y1 @automatic 0; #B color 5; #P window linecount 3; #P comment 322 253 100 196617 Hit this button to rotate counterclockwise; #P connect 30 0 26 0; #P connect 26 0 27 0; #P connect 28 0 31 0; #P connect 27 2 28 0; #P connect 27 0 28 0; #P connect 36 0 28 0; #P connect 116 0 28 0; #P connect 74 0 63 0; #P connect 63 0 62 0; #P connect 59 0 58 0; #P connect 99 0 59 0; #P connect 102 0 99 0; #P connect 101 0 99 0; #P connect 76 0 74 0; #P connect 77 0 74 0; #P connect 32 0 26 1; #P connect 100 0 99 1; #P connect 75 0 74 1; #P connect 98 0 99 2; #P connect 64 0 74 2; #P connect 27 1 29 0; #P connect 73 0 98 0; #P connect 37 0 36 0; #P connect 43 0 42 0; #P connect 104 0 43 0; #P connect 68 0 67 0; #P connect 82 0 79 0; #P connect 81 0 79 0; #P connect 79 0 68 0; #P connect 106 0 104 0; #P connect 107 0 104 0; #P connect 80 0 79 1; #P connect 105 0 104 1; #P connect 78 0 79 2; #P connect 103 0 104 2; #P connect 73 0 103 0; #P connect 38 0 34 0; #P connect 34 0 35 0; #P connect 35 0 25 0; #P connect 33 0 38 0; #P connect 115 0 113 0; #P connect 117 0 115 0; #P connect 113 0 73 0; #P connect 114 0 73 0; #P connect 66 0 65 0; #P connect 109 0 66 0; #P connect 112 0 109 0; #P connect 111 0 109 0; #P connect 86 0 84 0; #P connect 87 0 84 0; #P connect 70 0 69 0; #P connect 84 0 70 0; #P connect 110 0 109 1; #P connect 85 0 84 1; #P connect 108 0 109 2; #P connect 83 0 84 2; #P connect 73 0 108 0; #P connect 115 0 114 0; #P connect 92 0 89 0; #P connect 91 0 89 0; #P connect 72 0 71 0; #P connect 89 0 72 0; #P connect 90 0 89 1; #P connect 119 0 96 0; #P connect 118 0 96 0; #P connect 61 0 60 0; #P connect 94 0 61 0; #P connect 96 0 94 0; #P connect 97 0 94 0; #P connect 88 0 89 2; #P connect 95 0 94 1; #P connect 119 0 95 0; #P connect 118 0 95 0; #P connect 93 0 94 2; #P connect 73 0 93 0; #P connect 41 0 40 0; #P connect 39 0 41 0; #P connect 39 0 45 0; #P connect 45 0 44 0; #P connect 47 0 46 0; #P connect 39 0 47 0; #P connect 49 0 48 0; #P connect 39 0 49 0; #P connect 51 0 50 0; #P connect 39 0 51 0; #P connect 53 0 52 0; #P connect 39 0 53 0; #P connect 55 0 54 0; #P connect 39 0 55 0; #P connect 57 0 56 0; #P connect 39 0 57 0; #P pop; From doktorp at mac.com Wed Jan 2 11:35:06 2008 From: doktorp at mac.com (vade) Date: Wed Jan 2 11:35:11 2008 Subject: [jitter] jit.qt.movie feature request @colorspace native (constructive criticism please) Message-ID: <21D76599-3642-4E39-8CF3-F00DD957D47C@mac.com> Hello I thought I might repost this in its own thread so it gets attention from the elves! (happy new year by the way!) Yes I am aware this may not happen at all, and if it does plan I can wait till 2.0 :P This was discussed in the uyvy optimization thread: *feature request below!* ... it might be nice if there was an attribute @colorspace native which would also dumpout the colorspace on the rightmost outlet (dumpout outlet) right before the movie plays its first frame, and load the movie natively. This would allow you to : *Have a fastpath GPU uploading solution that would retain alpha channel should your quicktime movie have one, or skip right to UYVY those that need it. *Decide what to do with the alpha channel should you want to keep it. I was thinking it might be useful for something like this: Does this make sense? #P window setfont "Sans Serif" 9.; #P window linecount 1; #P comment 242 426 192 196617 argb with alpha - only if the codec has it; #P newex 231 442 261 196617 jit.gl.texture v001 @adapt 1 @automatic 0 @mode argb; #P newex 213 541 327 196617 jit.gl.slab v001 @automatic 0 @file cc.uyvy2rgba.jxs @dimscale 2. 1.; #P message 496 304 14 196617 3; #P message 465 304 14 196617 2; #P message 434 304 14 196617 1; #P newex 213 364 47 196617 gate 3 1; #P newex 434 278 72 196617 sel uyvy argb; #P newex 434 254 85 196617 route colorspace; #P message 271 196 30 196617 read; #P newex 179 582 269 196617 jit.gl.videoplane v001 @transform_reset 2 @automatic 0; #P newex 199 232 245 196617 jit.qt.movie @adapt 1 @unique 1 @colorspace native; #P newex 199 200 65 196617 qlim 33.333; #P newex 179 177 30 196617 t b b; #P toggle 24 68 15 0; #P newex 24 94 51 196617 qmetro 2; #P newex 24 132 58 196617 t b b erase; #P newex 87 621 157 196617 jit.window v001 @depthbuffer 1; #P newex 24 285 92 196617 jit.gl.render v001; #P comment 222 524 112 196617 uyvy fastpath no alpha; #P connect 18 0 9 0; #P connect 13 2 18 0; #P connect 11 0 12 0; #P connect 12 0 14 0; #P connect 12 1 15 0; #P connect 12 2 16 0; #P connect 16 0 13 0; #P connect 15 0 13 0; #P connect 14 0 13 0; #P connect 13 1 18 0; #P connect 17 0 9 0; #P connect 13 0 17 0; #P connect 8 0 13 1; #P connect 8 1 11 0; #P fasten 10 0 8 0 276 227 204 227; #P connect 7 0 8 0; #P connect 6 1 7 0; #P connect 6 0 9 0; #P fasten 3 1 6 0 53 163 184 163; #P connect 3 0 1 0; #P connect 3 2 1 0; #P connect 4 0 3 0; #P connect 5 0 4 0; #P window clipboard copycount 20; From marius.schebella at gmail.com Wed Jan 2 11:46:06 2008 From: marius.schebella at gmail.com (marius schebella) Date: Wed Jan 2 11:46:09 2008 Subject: [jitter] Re: how to rotate a camera? In-Reply-To: <1b1605c20801020540jabd4220n9109ecdcf8f6184b@mail.gmail.com> References: <1b1605c20712291255p2bf3d5c8m890097221a433bb9@mail.gmail.com> <1b1605c20712291508l1962d6e1x21cb6d16de98425d@mail.gmail.com> <89233650-7E54-4452-A9BD-85060060342C@martinjan.com> <1b1605c20712291651t43e5c73bie64100d883ef7fd2@mail.gmail.com> <1b1605c20712291731h1e32595ejbf7612c4c1df67ad@mail.gmail.com> <577F24D4-4346-453C-A3DD-21B2A4EBE499@martinjan.com> <1b1605c20712310425h32d45526u9719bbf99a4ca2f3@mail.gmail.com> <477B7AFF.1050300@pucemuse.com> <1b1605c20801020540jabd4220n9109ecdcf8f6184b@mail.gmail.com> Message-ID: <477BDBEE.40000@gmail.com> yair reshef wrote: > thanks, this is what i need! > > > > On Jan 2, 2008 1:52 PM, Vincent Goudard wrote: > >> Have you checked the "AdvancedCameraNavigation" in the jitter example >> patches? >> It is well done and give a good insight on how to handle the various >> camera parameters. >> ...vincent that patch is great, there is only one small bug in the normalization formula. (get vector length) expr (sqrt(pow($f1\,2)))+(sqrt(pow($f2\,2)))+(sqrt(pow($f3\,2))) should be expr sqrt(pow($f1\,2)+pow($f2\,2)+pow($f3\,2)) marius. From wesley.hoke at gmail.com Wed Jan 2 11:52:39 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Wed Jan 2 11:52:40 2008 Subject: [jitter] Re: how to rotate a camera? In-Reply-To: <477BDBEE.40000@gmail.com> References: <1b1605c20712291255p2bf3d5c8m890097221a433bb9@mail.gmail.com> <1b1605c20712291508l1962d6e1x21cb6d16de98425d@mail.gmail.com> <89233650-7E54-4452-A9BD-85060060342C@martinjan.com> <1b1605c20712291651t43e5c73bie64100d883ef7fd2@mail.gmail.com> <1b1605c20712291731h1e32595ejbf7612c4c1df67ad@mail.gmail.com> <577F24D4-4346-453C-A3DD-21B2A4EBE499@martinjan.com> <1b1605c20712310425h32d45526u9719bbf99a4ca2f3@mail.gmail.com> <477B7AFF.1050300@pucemuse.com> <1b1605c20801020540jabd4220n9109ecdcf8f6184b@mail.gmail.com> <477BDBEE.40000@gmail.com> Message-ID: <1079b050801021052x5ca527ck8f53af6b4972f547@mail.gmail.com> > that patch is great, there is only one small bug in the normalization > formula. (get vector length) > expr (sqrt(pow($f1\,2)))+(sqrt(pow($f2\,2)))+(sqrt(pow($f3\,2))) > should be > expr sqrt(pow($f1\,2)+pow($f2\,2)+pow($f3\,2)) > marius. expr sqrt($f1*$f1+$f2*$f2+$f3*$f3) will be faster as it avoids the somewhat expensive pow calculation. wes From derrickgiscloux at free.fr Wed Jan 2 13:41:58 2008 From: derrickgiscloux at free.fr (Derrick Giscloux) Date: Wed Jan 2 13:41:59 2008 Subject: [jitter] Re: Better way to make "video freeze" ? In-Reply-To: <1e8c0.477bd027@www.cycling74.com> Message-ID: <1e8cf.477bf716@www.cycling74.com> about freeze, did you look at this patch in jitter exmples .. ? From yair99 at gmail.com Wed Jan 2 13:52:02 2008 From: yair99 at gmail.com (yair reshef) Date: Wed Jan 2 13:52:05 2008 Subject: [jitter] Re: lua questions In-Reply-To: <1079b050801021011ubd429b2n1d1d6a640dc2525a@mail.gmail.com> References: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> <1e89c.477b88cb@www.cycling74.com> <1079b050801020842x62ec38f8g4bf8dc8a9fa44dc9@mail.gmail.com> <1b1605c20801020905j1cacd58bm7599756c0e82fd77@mail.gmail.com> <1079b050801020933q6cfa910epaf890074ab8eb95f@mail.gmail.com> <1079b050801021011ubd429b2n1d1d6a640dc2525a@mail.gmail.com> Message-ID: <1b1605c20801021252w55a9d15al5d4bd7fb04dbd385@mail.gmail.com> the "one" enumeration error disappeared but i tried the others and "ZERO" gave the error. On Jan 2, 2008 8:11 PM, Wesley Smith wrote: > ok, I've updated to beta4.1 with a new windows external fixing the ONE > enum problem. Let me know if you still have issues. > wes > > On Jan 2, 2008 9:33 AM, Wesley Smith wrote: > > ok, I'll have an update soon. I'm assuming you're on windows? > > > > wes > > > > > > On Jan 2, 2008 9:05 AM, yair reshef wrote: > > > ye, i got an error. im on beta4 > > > ob3d_draw_preamble initial: GL Error: Invalid enumeration > > > > > > > > > function init() > > > --initialize the dispaly list > > > if(this.context ~= 0) then > > > BuildLists() > > > gl.Enable ("BLEND") > > > > > > gl.BlendFunc("ONE", "ONE_MINUS_SRC_ALPHA") > > > --gl.ClearColor(1,1,0,1) > > > end > > > end > > > > > > > > > > > > > > > On Jan 2, 2008 6:42 PM, Wesley Smith < wesley.hoke@gmail.com> wrote: > > > > > > > > > > > > > > > > > > > > On Jan 2, 2008 4:51 AM, Erik Mijwaard < erik@videotroopers.com> > wrote: > > > > > > > > > > > > > > > try this: > > > > > > > > > > gl.BlendFunc(ONE, ONE_MINUS_SRC_ALPHA) > > > > > > > > > > > > > Indeed, this is the way to go. The Jitter constants for blend > > > > functions just enumerate the list of enums. In jit.gl.lua, the > enums > > > > have become strings corresponding to the name of the enum. BTW, if > > > > you get errors from the ONE enum and you have the latest version of > > > > jit.gl.lua for your platform, let me know. > > > > > > > > wes > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > jitter mailing list > > > > jitter@cycling74.com > > > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > > > > > > > > > _______________________________________________ > > > jitter mailing list > > > jitter@cycling74.com > > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > > > > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20080102/a2e4b0aa/attachment.htm From xphacter at gmail.com Wed Jan 2 14:16:13 2008 From: xphacter at gmail.com (Michael Giambrone) Date: Wed Jan 2 14:16:18 2008 Subject: [jitter] Re: Rubix Cube Positions In-Reply-To: <1e8c3.477bd508@www.cycling74.com> Message-ID: <1e8d7.477bff1d@www.cycling74.com> Something stranger is happening to my patch, i actually think i have some sort of bug i may have overlooked, as you can see when the y axis is at 270 degrees, the x and z modifiers do the same thing max v2; #N vpatcher 13 82 1571 1082; #P origin 15 22; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P newex 716 210 48 196617 loadbang; #P newex 714 459 40 196617 r stuff; #P window linecount 2; #P comment 891 244 100 196617 Hit this button to reset that cube; #P window linecount 3; #P comment 770 222 100 196617 Hit this button to rotate a cube clockwise; #P window linecount 1; #P message 913 287 14 196617 0; #P message 774 281 26 196617 270; #P message 176 100 70 196617 camera 8 8 8; #P newex 495 451 40 196617 r stuff; #P number 498 432 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 541 431 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 515 470 57 196617 pack 0 0 0; #P number 588 430 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 262 449 40 196617 r stuff; #P number 270 429 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 313 428 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 287 467 57 196617 pack 0 0 0; #P number 360 427 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 17 450 40 196617 r stuff; #P number 29 432 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 72 431 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 46 470 57 196617 pack 0 0 0; #P number 119 430 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 653 373 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 810 442 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 784 481 57 196617 pack 0 0 0; #P number 702 374 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 724 612 40 196617 r stuff; #P number 726 594 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 769 593 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 743 632 57 196617 pack 0 0 0; #P number 816 592 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 490 603 40 196617 r stuff; #P number 499 584 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 536 585 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 516 622 57 196617 pack 0 0 0; #P number 585 586 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 258 603 40 196617 r stuff; #P number 260 579 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 305 582 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 279 621 57 196617 pack 0 0 0; #P number 352 581 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 40 585 40 196617 r stuff; #P number 46 566 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P number 89 565 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 63 604 57 196617 pack 0 0 0; #P message 747 659 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube4; #P newex 745 685 105 196617 jit.gl.sketch mycube; #P message 519 663 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube3; #P newex 517 689 105 196617 jit.gl.sketch mycube; #P message 279 658 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube2; #P newex 277 684 105 196617 jit.gl.sketch mycube; #P message 502 505 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube8; #P newex 500 531 105 196617 jit.gl.sketch mycube; #P number 136 564 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 25 643 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube1; #P newex 29 675 105 196617 jit.gl.sketch mycube; #P message 777 515 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube5; #P newex 772 541 105 196617 jit.gl.sketch mycube; #P message 34 503 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube6; #P newex 30 529 105 196617 jit.gl.sketch mycube; #P message 1287 1227 253 196617 reset \, drawobject w8 \, drawobject b8 \, drawobject o8; #P newex 1286 1249 232 196617 jit.gl.sketch mycube @automatic 0 @name cube6; #P message 1270 1179 253 196617 reset \, drawobject w7 \, drawobject g7 \, drawobject o7; #P newex 1269 1201 232 196617 jit.gl.sketch mycube @automatic 0 @name cube8; #P message 1262 1129 253 196617 reset \, drawobject w6 \, drawobject g6 \, drawobject r6; #P newex 1261 1151 232 196617 jit.gl.sketch mycube @automatic 0 @name cube7; #P message 1247 1077 253 196617 reset \, drawobject w5 \, drawobject b5 \, drawobject r5; #P newex 1246 1099 232 196617 jit.gl.sketch mycube @automatic 0 @name cube5; #P message 1025 1226 251 196617 reset \, drawobject y4 \, drawobject g4 \, drawobject o4; #P newex 1024 1248 232 196617 jit.gl.sketch mycube @automatic 0 @name cube4; #P message 1007 1178 251 196617 reset \, drawobject y3 \, drawobject g3 \, drawobject r3; #P newex 1006 1200 232 196617 jit.gl.sketch mycube @automatic 0 @name cube3; #P message 990 1130 251 196617 reset \, drawobject y2 \, drawobject b2 \, drawobject o2; #P newex 990 1150 232 196617 jit.gl.sketch mycube @automatic 0 @name cube2; #P message 274 505 225 196617 reset \, shapeorient \$1 \$2 \$3 \, drawobject cube7; #P newex 272 531 105 196617 jit.gl.sketch mycube; #P message 974 1079 251 196617 reset \, drawobject y1 \, drawobject b1 \, drawobject r1; #P newex 973 1101 232 196617 jit.gl.sketch mycube @automatic 0 @name cube1; #P newex 1145 980 48 196617 loadbang; #P newex 365 75 38 196617 sel 27; #P message 123 31 34 196617 reset; #P newex 123 55 206 196617 jit.gl.handle mycube @inherit_transform 1; #P message 364 116 70 196617 fullscreen \$1; #P toggle 364 96 15 0; #P newex 361 49 40 196617 key; #P number 80 22 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P user jit.fpsgui 20 159 60 196617 0; #P toggle 20 28 15 0; #P newex 117 108 40 196617 s stuff; #P newex 21 132 286 196617 jit.gl.render mycube @erase_color 0. 0. 0. 1. @camera 8 8 8; #P newex 20 79 58 196617 t b b erase; #P newex 20 54 57 196617 qmetro 33; #P newex 364 137 225 196617 jit.window mycube @floating 1 @depthbuffer 1; #P window linecount 2; #P newex 372 1045 276 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 1 1 @color 1 0.5 0 1 @name o8 @automatic 0; #B color 5; #P newex 372 1010 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 -1 1 @color 1 0.5 0 1 @name o7 @automatic 0; #B color 5; #P newex 372 943 286 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 -1 -1 @color 1 0.5 0 1 @name o4 @automatic 0; #B color 5; #P newex 376 978 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position -2 1 -1 @color 1 0.5 0 1 @name o2 @automatic 0; #B color 5; #P newex 1 1166 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 1 1 @color 1 0 0 1 @name r5 @automatic 0; #B color 5; #P newex 1 1236 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 -1 1 @color 1 0 0 1 @name r6 @automatic 0; #B color 5; #P newex 1 1202 272 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 -1 -1 @color 1 0 0 1 @name r3 @automatic 0; #B color 5; #P newex 2 1131 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 0. 90. 0. @position 2 1 -1 @color 1 0 0 1 @name r1 @automatic 0; #B color 5; #P newex 721 951 234 196617 jit.gl.gridshape mycube @shape plane @position 1. -1 2 @color 1 1 1 1 @name w6 @automatic 0; #B color 5; #P newex 718 1014 239 196617 jit.gl.gridshape mycube @shape plane @position -1. -1 2 @color 1 1 1 1 @name w7 @automatic 0; #B color 5; #P newex 720 1046 234 196617 jit.gl.gridshape mycube @shape plane @position -1. 1 2 @color 1 1 1 1 @name w8 @automatic 0; #B color 5; #P newex 721 982 235 196617 jit.gl.gridshape mycube @shape plane @position 1. 1. 2. @color 1 1 1 1 @name w5 @automatic 0; #B color 5; #P newex 707 1179 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 2 -1 @color 0 0 1 1 @name b1 @automatic 0; #B color 5; #P newex 713 1245 272 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 2 -1 @color 0 0 1 1 @name b2 @automatic 0; #B color 5; #P newex 709 1143 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 2 1 @color 0 0 1 1 @name b5 @automatic 0; #B color 5; #P newex 709 1211 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 2 1 @color 0 0 1 1 @name b8 @automatic 0; #B color 5; #P newex 380 1172 276 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 -2 1 @color 0.5 1 0 1 @name g6 @automatic 0; #B color 5; #P newex 377 1243 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 -2 1 @color 0.5 1 0 1 @name g7 @automatic 0; #B color 5; #P newex 380 1205 286 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position -1 -2 -1 @color 0.5 1 0 1 @name g4 @automatic 0; #B color 5; #P newex 379 1138 281 196617 jit.gl.gridshape mycube @shape plane @rotatexyz 90. 0. 1. @position 1 -2 -1 @color 0.5 1 0 1 @name g3 @automatic 0; #B color 5; #P newex 2 1015 237 196617 jit.gl.gridshape mycube @shape plane @position 1. -1 -2 @color 1 1 0 1 @name y3 @automatic 0; #B color 5; #P newex 1 1057 239 196617 jit.gl.gridshape mycube @shape plane @position -1. -1 -2 @color 1 1 0 1 @name y4 @automatic 0; #B color 5; #P newex 0 975 234 196617 jit.gl.gridshape mycube @shape plane @position -1. 1 -2 @color 1 1 0 1 @name y2 @automatic 0; #B color 5; #P newex 3 942 238 196617 jit.gl.gridshape mycube @shape plane @position 1. 1. -2. @color 1 1 0 1 @name y1 @automatic 0; #B color 5; #P window linecount 4; #P comment 642 310 100 196617 these too have the same effect when the middle value is at 270; #P connect 30 0 26 0; #P connect 26 0 27 0; #P connect 28 0 31 0; #P connect 111 0 28 0; #P connect 36 0 28 0; #P connect 27 0 28 0; #P connect 27 2 28 0; #P connect 73 0 63 0; #P connect 63 0 62 0; #P connect 59 0 58 0; #P connect 97 0 59 0; #P connect 99 0 97 0; #P connect 100 0 97 0; #P connect 76 0 73 0; #P connect 75 0 73 0; #P connect 32 0 26 1; #P connect 98 0 97 1; #P connect 74 0 73 1; #P connect 96 0 97 2; #P connect 64 0 73 2; #P connect 27 1 29 0; #P connect 37 0 36 0; #P connect 43 0 42 0; #P connect 102 0 43 0; #P connect 68 0 67 0; #P connect 80 0 78 0; #P connect 81 0 78 0; #P connect 78 0 68 0; #P connect 105 0 102 0; #P connect 104 0 102 0; #P connect 79 0 78 1; #P connect 103 0 102 1; #P connect 77 0 78 2; #P connect 101 0 102 2; #P connect 38 0 34 0; #P connect 34 0 35 0; #P connect 35 0 25 0; #P connect 33 0 38 0; #P connect 66 0 65 0; #P connect 107 0 66 0; #P connect 109 0 107 0; #P connect 110 0 107 0; #P connect 86 0 83 0; #P connect 85 0 83 0; #P connect 70 0 69 0; #P connect 83 0 70 0; #P connect 108 0 107 1; #P connect 84 0 83 1; #P connect 106 0 107 2; #P connect 82 0 83 2; #P connect 90 0 88 0; #P connect 91 0 88 0; #P connect 72 0 71 0; #P connect 88 0 72 0; #P connect 89 0 88 1; #P connect 61 0 60 0; #P connect 117 0 112 0; #P connect 93 0 61 0; #P connect 116 0 93 0; #P connect 95 0 93 0; #P connect 87 0 88 2; #P connect 94 0 93 1; #P connect 112 0 94 0; #P connect 113 0 94 0; #P connect 92 0 93 2; #P connect 41 0 40 0; #P connect 39 0 41 0; #P connect 39 0 45 0; #P connect 45 0 44 0; #P connect 47 0 46 0; #P connect 39 0 47 0; #P connect 49 0 48 0; #P connect 39 0 49 0; #P connect 51 0 50 0; #P connect 39 0 51 0; #P connect 53 0 52 0; #P connect 39 0 53 0; #P connect 55 0 54 0; #P connect 39 0 55 0; #P connect 57 0 56 0; #P connect 39 0 57 0; #P pop; From wesley.hoke at gmail.com Wed Jan 2 14:31:27 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Wed Jan 2 14:31:30 2008 Subject: [jitter] Re: lua questions In-Reply-To: <1b1605c20801021252w55a9d15al5d4bd7fb04dbd385@mail.gmail.com> References: <1b1605c20801020318q2602c8a6yb33cbb7c4fbafd6a@mail.gmail.com> <1e89c.477b88cb@www.cycling74.com> <1079b050801020842x62ec38f8g4bf8dc8a9fa44dc9@mail.gmail.com> <1b1605c20801020905j1cacd58bm7599756c0e82fd77@mail.gmail.com> <1079b050801020933q6cfa910epaf890074ab8eb95f@mail.gmail.com> <1079b050801021011ubd429b2n1d1d6a640dc2525a@mail.gmail.com> <1b1605c20801021252w55a9d15al5d4bd7fb04dbd385@mail.gmail.com> Message-ID: <1079b050801021331i7398d100u8f2bc85951fab845@mail.gmail.com> argh. thanks for checking. I had tried doing some "fancy" scripting on the enum definitions from GLEW and apparently there are several definitions of ZERO and ONE. I'll get this patched up with a full update in a few days. wes On Jan 2, 2008 12:52 PM, yair reshef wrote: > the "one" enumeration error disappeared but i tried the others and "ZERO" > gave the error. > > > > > > On Jan 2, 2008 8:11 PM, Wesley Smith < wesley.hoke@gmail.com> wrote: > > ok, I've updated to beta4.1 with a new windows external fixing the ONE > > enum problem. Let me know if you still have issues. > > wes > > > > > > > > > > On Jan 2, 2008 9:33 AM, Wesley Smith wrote: > > > ok, I'll have an update soon. I'm assuming you're on windows? > > > > > > wes > > > > > > > > > On Jan 2, 2008 9:05 AM, yair reshef wrote: > > > > ye, i got an error. im on beta4 > > > > ob3d_draw_preamble initial: GL Error: Invalid enumeration > > > > > > > > > > > > function init() > > > > --initialize the dispaly list > > > > if(this.context ~= 0) then > > > > BuildLists() > > > > gl.Enable ("BLEND") > > > > > > > > gl.BlendFunc("ONE", "ONE_MINUS_SRC_ALPHA") > > > > --gl.ClearColor(1,1,0,1) > > > > end > > > > end > > > > > > > > > > > > > > > > > > > > On Jan 2, 2008 6:42 PM, Wesley Smith < wesley.hoke@gmail.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > On Jan 2, 2008 4:51 AM, Erik Mijwaard < erik@videotroopers.com > > wrote: > > > > > > > > > > > > > > > > > > try this: > > > > > > > > > > > > gl.BlendFunc(ONE, ONE_MINUS_SRC_ALPHA) > > > > > > > > > > > > > > > > Indeed, this is the way to go. The Jitter constants for blend > > > > > functions just enumerate the list of enums. In jit.gl.lua, the > enums > > > > > have become strings corresponding to the name of the enum. BTW, if > > > > > you get errors from the ONE enum and you have the latest version of > > > > > jit.gl.lua for your platform, let me know. > > > > > > > > > > wes > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > jitter mailing list > > > > > jitter@cycling74.com > > > > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > > > > > > > > > > > > > _______________________________________________ > > > > jitter mailing list > > > > jitter@cycling74.com > > > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > > > > > > > > > _______________________________________________ > > jitter mailing list > > jitter@cycling74.com > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > > From lists at systemsoular.com Wed Jan 2 18:07:38 2008 From: lists at systemsoular.com (james) Date: Wed Jan 2 18:07:40 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <1c61e.46fa3693@www.cycling74.com> Message-ID: <1e8f4.477c3559@www.cycling74.com> i've posted regarding this / or similar issue recently - spoke to many peoeple and did a ton of testing - and the result - theres simply a glitch in the clock / threading in Jitter - which causes unreliable / jumpy playback. period. I have not met / seen - or even heard of a current ( recent versions of max and jitter on newer pc's mac) configuration that doesnt have this problem. eventually after phone calls and lots of iquiries with other vj's & video artists - many have said either live with - or use something else! - I couldnt believe this issue would be put aside, so I contacted cycling74 - and the response "we will address this issue after the release of Max 5". so i am mostly posting not to bash cycling74 - but to help people save time testing and wondering "is it my machine?" - 99% chance is its NOT. its Jitter code.... this playback issue is a huge problem, and I've not been able to record any realtime output of Jitter yet - the hiccup or jump, to me, is unacceptable for recorded media. maybe for live performance its ok, but... I know other video / vj software doesnt have this playback problem, so it must be the code behind jitter/max -- previous thread on the 'jitter' in jitter. http://www.cycling74.com/forums/index.php?t=msg&th=29333&start=0&rid=6240&S=d46591dbbd4d6ea4b92ea86a74159712 From lists at systemsoular.com Wed Jan 2 18:11:27 2008 From: lists at systemsoular.com (james) Date: Wed Jan 2 18:11:31 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <1e8f4.477c3559@www.cycling74.com> Message-ID: <1e8f5.477c363f@www.cycling74.com> tests were on Mac and PC - following every optimization possible (killing system operations, cpu, max prefs, Vade's recommendations.. etc) - the only time this jumpy playback goes away, is if you render the jitter video 'direct to window' - From wugmump at speakeasy.org Wed Jan 2 19:08:15 2008 From: wugmump at speakeasy.org (joshua goldberg) Date: Wed Jan 2 19:08:18 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <1e8f4.477c3559@www.cycling74.com> References: <1e8f4.477c3559@www.cycling74.com> Message-ID: <626F92BF-C279-4AD1-9B77-3102F0B45CC4@speakeasy.org> i know for a fact that cycling is aware of this and its enormous importance. as soon as max5 is out of the door, there will be attention paid to it. vade and i have bugged cycling about it plenty, and i am satisfied that it's a very high priority issue for them. On Jan 2, 2008, at 8:07 PM, james wrote: > > i've posted regarding this / or similar issue recently - spoke to > many peoeple and did a ton of testing - and the result - theres > simply a glitch in the clock / threading in Jitter - which causes > unreliable / jumpy playback. period. I have not met / seen - or even > heard of a current ( recent versions of max and jitter on newer pc's > mac) configuration that doesnt have this problem. eventually after > phone calls and lots of iquiries with other vj's & video artists - > many have said either live with - or use something else! - I couldnt > believe this issue would be put aside, so I contacted cycling74 - > and the response "we will address this issue after the release of > Max 5". > > so i am mostly posting not to bash cycling74 - but to help people > save time testing and wondering "is it my machine?" - > 99% chance is its NOT. its Jitter code.... > > > this playback issue is a huge problem, and I've not been able to > record any realtime output of Jitter yet - the hiccup or jump, to > me, is unacceptable for recorded media. maybe for live performance > its ok, but... > > I know other video / vj software doesnt have this playback problem, > so it must be the code behind jitter/max > -- > previous thread on the 'jitter' in jitter. > > http://www.cycling74.com/forums/index.php?t=msg&th=29333&start=0&rid=6240&S=d46591dbbd4d6ea4b92ea86a74159712 > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > From doktorp at mac.com Thu Jan 3 02:07:07 2008 From: doktorp at mac.com (vade) Date: Thu Jan 3 02:07:12 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <626F92BF-C279-4AD1-9B77-3102F0B45CC4@speakeasy.org> References: <1e8f4.477c3559@www.cycling74.com> <626F92BF-C279-4AD1-9B77-3102F0B45CC4@speakeasy.org> Message-ID: I should also point you to my optimization patches I posted earlier in the list. They can be useful to expose some small performance gains that can help ease out any inherit stuttering. If you patch is single channel and well suited, Josh and Lukes workaround that ive expounded on in the last two patches can make a pretty big difference in performance/stutter. On Jan 2, 2008, at 9:08 PM, joshua goldberg wrote: > i know for a fact that cycling is aware of this and its enormous > importance. as soon as max5 is out of the door, there will be > attention paid to it. vade and i have bugged cycling about it > plenty, and i am satisfied that it's a very high priority issue for > them. > > On Jan 2, 2008, at 8:07 PM, james wrote: > >> >> i've posted regarding this / or similar issue recently - spoke to >> many peoeple and did a ton of testing - and the result - theres >> simply a glitch in the clock / threading in Jitter - which causes >> unreliable / jumpy playback. period. I have not met / seen - or >> even heard of a current ( recent versions of max and jitter on >> newer pc's mac) configuration that doesnt have this problem. >> eventually after phone calls and lots of iquiries with other vj's & >> video artists - many have said either live with - or use something >> else! - I couldnt believe this issue would be put aside, so I >> contacted cycling74 - and the response "we will address this issue >> after the release of Max 5". >> >> so i am mostly posting not to bash cycling74 - but to help people >> save time testing and wondering "is it my machine?" - >> 99% chance is its NOT. its Jitter code.... >> >> >> this playback issue is a huge problem, and I've not been able to >> record any realtime output of Jitter yet - the hiccup or jump, to >> me, is unacceptable for recorded media. maybe for live performance >> its ok, but... >> >> I know other video / vj software doesnt have this playback problem, >> so it must be the code behind jitter/max >> -- >> previous thread on the 'jitter' in jitter. >> >> http://www.cycling74.com/forums/index.php?t=msg&th=29333&start=0&rid=6240&S=d46591dbbd4d6ea4b92ea86a74159712 >> _______________________________________________ >> jitter mailing list >> jitter@cycling74.com >> http://www.cycling74.com/mailman/listinfo/jitter >> > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter From lists at lowfrequency.org Thu Jan 3 02:07:49 2008 From: lists at lowfrequency.org (evan.raskob [lists]) Date: Thu Jan 3 02:07:55 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <1e8f4.477c3559@www.cycling74.com> References: <1e8f4.477c3559@www.cycling74.com> Message-ID: On Jan 3, 2008, at 1:07 AM, james wrote: > so i am mostly posting not to bash cycling74 - but to help people > save time testing and wondering "is it my machine?" - > 99% chance is its NOT. its Jitter code.... > I absolutely disagree with that. Yes, there are some issues, but 99% OF THE TIME IT'S PEOPLE WHO ARE SHIT AT PROGRAMMING. If I hear one more noob yelling "Why won't the timing in jitter work right?" when they don't even understand what fps is or the difference between a qmetro and a metro, I am going to vomit in realtime. DO NOT tell them that they shouldn't search the forums. There are excellent solutions that will solve your playback problems in many cases. The other 1% of the time it's a real problem, usually seen by people who understand what they're doing (which may include you, from what you're saying). There are ways to fix these things, but video is complicated and I dare you to find a single, working, realtime video option that does everything you need it to, is not a nightmare to install or configure, is flexible, and doesn't have any glitches. But yeah, in other specific, precise cases of writing sequential non- skipping video frames, you are simply fucked. I am also satisfied that cycling74 is on the problem. In the meantime, there are some good systems out there for starting about $6,000-$30,000, if you really need it... Cheers Evan From pr at thisserver.de Thu Jan 3 02:16:11 2008 From: pr at thisserver.de (John Dekron) Date: Thu Jan 3 02:16:16 2008 Subject: [jitter] cc.uyvy2rgba.jxs and optimization In-Reply-To: References: <1dbee.4746300f@www.cycling74.com> <47469DE5.4050901@thisserver.de> <1b1605c20712060131w599646abme33b54a1a670cc0a@mail.gmail.com> <5AD051E6-6B1A-4369-B5F4-F6597E7B7F12@gmail.com> <477B7EFB.40700@thisserver.de> Message-ID: <477CA7DB.1030904@thisserver.de> HI Vade, vade schrieb: > Hm. Unless I am mistaken, UYVY does absolutely nothing with the alpha > channel what so ever. That information is lost to the ether unless you > use the alphaglue shader and read in the alpha via other means. UYVY has > no alpha channel, and I dont think that jit.qt.movie premulitplies alpha > for you while doing the conversion? That is right. I was referring to the method where I store an uyvy movie in the argb animation codec. the alpha channel stores the u component. What is the "official" codec for uyvy movies? John. > > From my understanding of the UYVY shaders and colormode is: > > *Some video codecs use an internal format that is something like ARGB > (or RGBA...), or YUV or some variant (Y, cr' cb' or whatnot) > > *jit.qt.movie when left alone, will always do conversion to JITTERS > basic ARGB matrix format. > > This means that any video whose codecs native internal pixel format is > YUV or some other needs to be converted to ARGB by either quicktime or > ji.qt.movie (I am unsure which internal mechanism does this). If the > pixel format is something like RGBA or ARGB, nothing really needs to be > done. > > jit.qt.movie @colormode uyvy does the reverse of this, which means any > quicktime movie whose normal internal pixel format is YUV (or similarly > compatible) gets left alone, otherwise it is converted to UYVY. > > This means that for codecs which normally use YUV or whatnot colorspace > internally, using @colormode UYVY is a fastpath - as there is no > conversion overhead. > > This also means that ARGB codecs (or anything else), using @colormode > UYVY is NOT a fastpath, as conversion must happen (somewhere - again I > do not know specifically where this happens). > > Id love to know from Cycling if this is correct. > > *feature request below!* > > Ive been thinking about this myself, and it might be nice if there was > an attribute @colorspace native > > which would also dumpout the colorspace on the rightmost outlet (dumpout > outlet) right before the movie plays its first frame, and load the > movie natively. > > This would allow you to : > > Have a fastpath GPU uploading solution that would retain alpha channel > should your quicktime movie have one, or skip right to UYVY those that > need it. > > decide what to do with the alpha channel should you want to keep it. > > > * As far as the errors go, have you tried the other various uyvy > conversion shaders, the lite, and the one with gamma correction? > > As far as animation is concerned I belive it is > > ARGB and uses only run length encoding, which is basically like > uncompressed, and has not inter frame coding. Its like motion jpeg/photo > jpeg, just ARGB and lossless compression. > > > On Jan 2, 2008, at 7:09 AM, John Dekron wrote: > >> Hi _n, >> I get the digital artifacts as well and have no idea where they come >> from. >> Animation and png are videocodecs that hold an alpha channel what is >> necessary for the uyvy information. If I remember correctly it is >> possible to limit the data rate on png compression. I did use png for >> a previous project, but lately I experienced some crashes when playing >> back png compressed movies. i switched to animation and it worked >> fine. Sorry that I didn't investigate deeper on the crashes that I >> had, so this information might as well be treated as gossip- but >> eventually there is some truth in it. >> >> good luck. John. >> >> (())_n schrieb: >>> yes dekron, yair, >>> I have been looking into this method of doing the conversion before, >>> and it does help, doubling the frame rate of the display patch and >>> cutting down on cpu/gpu load. >>> Problem is, it seems only some codecs work with this method. >>> Animation which you use I guess compresses over time, because when I >>> try to display particular frames I get digital artifacts. For Jpeg, >>> motion-jpeg the colors aren't right when the film is loading back in. >>> I had success with PNG codec, but the file sizes after the >>> compression are quite large. >>> Any other codecs you could recommend that compress each frame >>> separately and work with this method of creating "quasi" uyvy to be >>> decoded as such on the GPU? >>> To get Photo-Jpeg/Motion-Jpeg to work I tried to map the planes >>> differently, but couldn't get the colors to match. Anyone throw some >>> light on this? Is there a particular website that might describe all >>> the different standard quicktime codecs? Detailing which compress >>> every frame separately and which compress over time? Jitter does >>> better with the former. >>> cheers >>> (())_n >>> On Dec 6, 2007, at 4:31 AM, yair reshef wrote: >>>> thank you mr. Dekron, your pre uyvy method has gotten me a 768x768 >>>> movie run a lot nicer on an xp. >>>> >>>> btw. is there a method to force other post enviroments >>>> (aftereffects, shake etc.) to export to uyvy. >>>> most of the post friends i asked looked at me funny. >>>> >>>> >>>> >>>> On Nov 23, 2007 11:31 AM, John Dekron wrote: >>>> Hi Tyler, >>>> I don't know about the funny colors you see, but on the fps side, i >>>> understand that jit.qt.movie is doing the conversion from argb to uyvy >>>> internally. on some bigger movies I get even better performance when I >>>> transform the source movie to a half sized "quasi" uyvy movie >>>> beforehand. (see attahced patch). I only see some "trailing" on that >>>> kind of material. this is on MacBook Pro, OSX 10.4.10, Quicktime 7.2 >>>> >>>> John. >>>> >>>> max v2; >>>> #N vpatcher 461 240 1347 803; >>>> #P window setfont "Sans Serif" 9.; >>>> #P window linecount 1; >>>> #P comment 638 116 100 196617 5. read new movie; >>>> #P comment 119 209 100 196617 4. stop; >>>> #P window linecount 2; >>>> #P comment 116 179 100 196617 2. select write location; >>>> #P window linecount 1; >>>> #P message 597 119 30 196617 read; >>>> #P newex 554 193 297 196617 jit.gl.videoplane content @colormode uyvy >>>> @transform_reset 2; >>>> #P newex 554 167 155 196617 jit.qt.movie @adapt 1 @unique 1; >>>> #P newex 490 307 94 196617 jit.window content; >>>> #P user jit.fpsgui 435 125 60 196617 0; >>>> #P newex 417 348 101 196617 jit.gl.render content; >>>> #P newex 417 97 66 196617 t b b b erase; >>>> #P toggle 417 48 15 0; >>>> #P newex 417 73 57 196617 qmetro 20; >>>> #P user jit.pwindow 250 161 82 62 0 1 0 0 1 0; >>>> #P message 90 197 29 196617 stop; >>>> #P message 91 160 154 196617 write 25. animation normal 600; >>>> #P newex 57 233 66 196617 jit.qt.record; >>>> #P message 122 66 30 196617 read; >>>> #P message 57 66 60 196617 framedump; >>>> #P newex 57 123 190 196617 jit.qt.movie @adapt 1 @colormode uyvy; >>>> #P comment 125 45 100 196617 1. read movie; >>>> #P comment 21 45 100 196617 3. framedump; >>>> #P fasten 4 0 2 0 127 99 62 99; >>>> #P connect 3 0 2 0; >>>> #P connect 2 0 5 0; >>>> #P fasten 7 0 5 0 95 224 62 224; >>>> #P fasten 6 0 5 0 96 181 62 181; >>>> #P fasten 2 0 8 0 62 147 256 147; >>>> #P connect 10 0 9 0; >>>> #P connect 9 0 11 0; >>>> #P connect 11 0 12 0; >>>> #P fasten 11 3 12 0 476 160 422 160; >>>> #P connect 11 1 13 0; >>>> #P connect 17 0 15 0; >>>> #P fasten 11 2 15 0 458 121 559 121; >>>> #P connect 15 0 16 0; >>>> #P pop; >>>> >>>> >>>> Tyler Nitsch schrieb: >>>> > Upon vades suggestion and searching the archives.... >>>> > >>>> > >>>> http://www.cycling74.com/forums/index.php?t=msg&goto=113246&rid=0&S=12672e78d4a9aad871b2693f9a7bbb5b#msg_113246 >>>> >>>> > >>>> > I tried implementing this conversion on the gpu. The problem is I >>>> get funny colored purpley/greeny/red distorted lines on the output >>>> window... and when I try to use either dx | qt.grab the screen is >>>> distorted. >>>> > >>>> > The good news is my fps is WAY BETTER!!! without using @colormode >>>> uyvy on the qt.movie I can only get 100fps on the patch I'm posting >>>> whereas with the shader doing the conversion I get up to 160 fps >>>> !!???!! So weird. Any help would greatly be appreciated. >>>> > >>>> > I'm using windows XP PRO on an AMD s939 4800X2 with the latest max >>>> and jitter.and a Viper ATI Radeon HD 3870 gpu. >>>> > >>>> > #P window setfont "Sans Serif" 9.; >>>> > #P number 418 72 35 9 1 3 3 139 0 0 0 221 221 221 222 222 222 0 0 0; >>>> > #P window linecount 1; >>>> > #P newex 403 193 214 9109513 jit.qt.movie 720 480 @unique 1 >>>> @colormode argb; >>>> > #P newex 403 228 77 9109513 jit.gl.slab window; >>>> > #P user jit.fpsgui 155 341 60 9109513 0; >>>> > #P message 621 156 30 9109513 close; >>>> > #P newex 623 121 57 9109513 select 1 2 3; >>>> > #P message 652 156 28 9109513 open; >>>> > #P newex 388 154 42 9109513 gate 3 1; >>>> > #P newex 623 193 267 9109513 jit.dx.grab 720 480 @vdevice 0 >>>> @unique 1 @colormode uyvy; >>>> > #P message 80 398 62 9109513 fullscreen \$1; >>>> > #P toggle 80 380 15 0; >>>> > #P newex 58 330 40 9109513 key; >>>> > #P newex 80 357 46 9109513 select 27; >>>> > #P newex 141 227 250 9109513 jit.gl.slab window @file >>>> cc.uyvy2rgba.jxs @dimscale 2. 1.; >>>> > #P newex 308 30 48 9109513 loadbang; >>>> > #P newex 139 84 30 9109513 t b b; >>>> > #P toggle 138 40 15 0; >>>> > #P newex 138 64 45 9109513 qmetro 5; >>>> > #P newex 75 121 111 9109513 t b b erase; >>>> > #P newex 193 308 192 9109513 jit.gl.videoplane window >>>> @transform_reset 2; >>>> > #P newex 142 188 219 9109513 jit.qt.movie 720 480 @unique 1 >>>> @colormode uyvy; >>>> > #P message 310 117 76 9109513 read bball.mov; >>>> > #P newex 69 426 199 9109513 jit.window window @depthbuffer 1 >>>> @floating 1; >>>> > #P newex 75 299 86 9109513 jit.gl.render window; >>>> > #P connect 18 2 17 0; >>>> > #P connect 16 2 15 0; >>>> > #P connect 19 0 15 0; >>>> > #P connect 17 0 15 0; >>>> > #P connect 23 0 16 0; >>>> > #P connect 23 0 18 0; >>>> > #P connect 18 1 19 0; >>>> > #P connect 18 0 19 0; >>>> > #P connect 5 1 16 1; >>>> > #P connect 22 0 21 0; >>>> > #P connect 16 1 22 0; >>>> > #P fasten 2 0 3 0 315 144 147 144; >>>> > #P connect 2 0 22 0; >>>> > #P connect 9 0 2 0; >>>> > #P connect 10 0 4 0; >>>> > #P connect 21 0 4 0; >>>> > #P connect 0 0 20 0; >>>> > #P connect 16 0 3 0; >>>> > #P fasten 3 0 10 0 147 218 146 218; >>>> > #P fasten 15 0 10 0 628 218 146 218; >>>> > #P connect 6 0 8 0; >>>> > #P connect 7 0 6 0; >>>> > #P connect 13 0 14 0; >>>> > #P connect 11 0 13 0; >>>> > #P connect 12 0 11 0; >>>> > #P connect 5 0 0 0; >>>> > #P connect 5 2 0 0; >>>> > #P fasten 8 0 5 0 144 108 80 108; >>>> > #P connect 14 0 1 0; >>>> > #P window clipboard copycount 24; >>>> > >>>> > >>>> > _______________________________________________ >>>> > jitter mailing list >>>> > jitter@cycling74.com >>>> > http://www.cycling74.com/mailman/listinfo/jitter >>>> > >>>> >>>> _______________________________________________ >>>> jitter mailing list >>>> jitter@cycling74.com >>>> http://www.cycling74.com/mailman/listinfo/jitter >>>> >>>> _______________________________________________ >>>> jitter mailing list >>>> jitter@cycling74.com >>>> http://www.cycling74.com/mailman/listinfo/jitter >>> _______________________________________________ >>> jitter mailing list >>> jitter@cycling74.com >>> http://www.cycling74.com/mailman/listinfo/jitter >> >> _______________________________________________ >> jitter mailing list >> jitter@cycling74.com >> http://www.cycling74.com/mailman/listinfo/jitter > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > From doktorp at mac.com Thu Jan 3 02:47:02 2008 From: doktorp at mac.com (vade) Date: Thu Jan 3 02:47:06 2008 Subject: [jitter] cc.uyvy2rgba.jxs and optimization In-Reply-To: <477CA7DB.1030904@thisserver.de> References: <1dbee.4746300f@www.cycling74.com> <47469DE5.4050901@thisserver.de> <1b1605c20712060131w599646abme33b54a1a670cc0a@mail.gmail.com> <5AD051E6-6B1A-4369-B5F4-F6597E7B7F12@gmail.com> <477B7EFB.40700@thisserver.de> <477CA7DB.1030904@thisserver.de> Message-ID: Hm, I must be missing something? What do you mean "store" a uyvy "within" argb? UYVY has 3 planes to ARGBs 4? Youre going to loose something somewhere.. unless you are being really tricky! (do share!) Official UYVY codec? dont know, but any YUV codec should do, from my understanding. Uncompressed 10 and 8 bit 4:2:2 YUV from Apple, MJpeg/ PhotoJpeg , DV, DVCPro, DVCProHD and so on http://www.fourcc.org/yuv.php On Jan 3, 2008, at 4:16 AM, John Dekron wrote: > HI Vade, > > vade schrieb: >> Hm. Unless I am mistaken, UYVY does absolutely nothing with the >> alpha channel what so ever. That information is lost to the ether >> unless you use the alphaglue shader and read in the alpha via other >> means. UYVY has no alpha channel, and I dont think that >> jit.qt.movie premulitplies alpha for you while doing the conversion? > That is right. I was referring to the method where I store an uyvy > movie in the argb animation codec. the alpha channel stores the u > component. > From jitter at killingfrenzy.com Thu Jan 3 03:18:40 2008 From: jitter at killingfrenzy.com (Leo Mayberry) Date: Thu Jan 3 03:18:43 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <1c61e.46fa3693@www.cycling74.com> Message-ID: <1e912.477cb67e@www.cycling74.com> I think that last response is a little harsh. I think the longer you use Jitter the more you learn to accept the foibles. Perhaps this angered kneejerk reaction is just the defensive response that most of us develop after having to explain to peers/clients/critics when a big gank appears in the middle of a performance. I use Jitter because of the creative possibilities it offers, in spite of underwhelming framerates and irritating freezes. While coding may be the answer to some of these problems, these are issues that occur when using the software as recommended and involve solutions that require breaking out of the creative model that max/jitter encourages. These are high hurdles for the programmers, but they are obviously deal-breakers for a lot of people that need to provide reliable solutions in performance situations. While it is tempting to demand faster framerates and better performance statistics, I think it would be more beneficial to focus on methods of increasing stability and consistency. I'd rather have a flawless 30fps than an occasional freeze at 50fps. Certainly poor programming can make these issue worse, but expert programmers such as Vade and Joshua are still spending time making workarounds for these issues rather than working on the creative elements of their work. From lists at lowfrequency.org Thu Jan 3 04:09:36 2008 From: lists at lowfrequency.org (evan.raskob [lists]) Date: Thu Jan 3 04:09:45 2008 Subject: [jitter] Re: metro sometimes unstable not accurate movie playback In-Reply-To: <1e912.477cb67e@www.cycling74.com> References: <1e912.477cb67e@www.cycling74.com> Message-ID: On Jan 3, 2008, at 10:18 AM, Leo Mayberry wrote: > I think that last response is a little harsh. I think the longer > you use Jitter the more you learn to accept the foibles. Perhaps > this angered kneejerk reaction is just the defensive response that > most of us develop after having to explain to peers/clients/critics > when a big gank appears in the middle of a performance. I don't think it was harsh. When I was in school, they drilled it into us that we were not gods and there were lots of better ways to do things. Probably always. That humility is lacking in a lot of posts I see. People forget that most people who use jitter are shitty programmers (not there aren't brilliant ones out there, but I'd put it generously at 5%). Also, the hands-on approach to coding makes it a visual form of crack - I see so many people who get into jitter and then just code on some sort of animal instinct as if stepping back and thinking about what they are doing (e.g. squeezing a 10000x10000 cell matrix into 20 stacked filters with patch cords crossing left and right) is a useful and intelligent thing to do. If you are getting glitches, do some experiments like Vade and show what the issue is. This vague blabbering is really bothering me. I looked into Quartz composer, Objective C, Quicktime, Mplayer, etc and did some heavy research before asking my inane little questions. I hate empty whining on email lists. If you have evidence, I'd really like to see it. Or descriptions of the problem that are useful. Most regular contributors to this list follow these standards, anyway. > I use Jitter because of the creative possibilities it offers, in > spite of underwhelming framerates and irritating freezes. While > coding may be the answer to some of these problems, these are > issues that occur when using the software as recommended and > involve solutions that require breaking out of the creative model > that max/jitter encourages. These are high hurdles for the > programmers, but they are obviously deal-breakers for a lot of > people that need to provide reliable solutions in performance > situations. > While it is tempting to demand faster framerates and better > performance statistics, I think it would be more beneficial to > focus on methods of increasing stability and consistency. I'd > rather have a flawless 30fps than an occasional freeze at 50fps. > Certainly poor programming can make these issue worse, but expert > programmers such as Vade and Joshua are still spending time making > workarounds for these issues rather than working on the creative > elements of their work. I don't know, I thought those experiments were pretty creative. And I wouldn't call them workaround, either - this is what I mean when I say there needs to be an understanding of the issues involved, and techniques to work with them. I think we all gained a bit more understanding from looking at this problem from different angles and discussing different compression techniques (like uyvy vs rgb format issues) on a public forum. More of that is good; less of "Damn jitter! It's skippy and will never work properly!" I've got a patch that draws 1800 polygons at 50 fps. That's pretty darn good for jitter, and it took me awhile to find the right method, which turned out to be more about OpenGL than Jitter. I think what people are going up against is the limits of what can be done with "simple" metaphors that Jitter presents on the surface vs. the all- out mind-fuck complexity of digital video formats and compression, 3D maths and OpenGL. My 2cents. You use may vary. Cheers Evan > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter From spbinns at hotmail.com Thu Jan 3 05:10:45 2008 From: spbinns at hotmail.com (Stuart Binns) Date: Thu Jan 3 05:10:47 2008 Subject: [jitter] cv.jit tracking - LED's Message-ID: <1e919.477cd0c3@www.cycling74.com> Dear all - i have made a patch that tracks two LEDs and displays the location of the LED's in a window. I have been able to output the x and y coordinates for each blob (I'm using cv.jit.blobs.centroids so that the loargest blob will be Blob 2 and the second largest blob will be Blob 2. I am using 4 LED's in total; 1 LED by itself and the 3 other packed together in a triangle formation. To stop the patch seeing there 3 LED's as 3 objects, is there a way I can make these 3 LED's appear as one big LED - can you refract the light using some type of liquid (clear glue?) put over all 3 LED's? Regards Stuart From pr at thisserver.de Thu Jan 3 06:25:19 2008 From: pr at thisserver.de (John Dekron) Date: Thu Jan 3 06:25:37 2008 Subject: [jitter] cc.uyvy2rgba.jxs and optimization In-Reply-To: References: <1dbee.4746300f@www.cycling74.com> <47469DE5.4050901@thisserver.de> <1b1605c20712060131w599646abme33b54a1a670cc0a@mail.gmail.com> <5AD051E6-6B1A-4369-B5F4-F6597E7B7F12@gmail.com> <477B7EFB.40700@thisserver.de> <477CA7DB.1030904@thisserver.de> Message-ID: <477CE23F.40407@thisserver.de> I posted the patch earlier in this thread: http://www.cycling74.com/forums/index.php?t=msg&goto=121838&rid=0&S=d8d9e7b93c064870c613751e65b06833&srch=cc.uyvy2rgba.jxs+and+optimization#msg_121845 have a look at it. it explains pretty good what I am doing. Photo Jpeg is a YUV Codec? and I was was convinced it stores RGB Data. I will have to do my homework on that. But if this is so: a Photojpeg file with dimensions x, y, decompressed with jit.qt.movie @colormode uyvy decompresses way slower than a x/2, y sized argb movie with jit.qt.movie @colormode argb. Why is this so. (again, have a look at the patch to see what I mean). John. vade schrieb: > Hm, I must be missing something? What do you mean "store" a uyvy > "within" argb? UYVY has 3 planes to ARGBs 4? Youre going to loose > something somewhere.. unless you are being really tricky! (do share!) > > Official UYVY codec? dont know, but any YUV codec should do, from my > understanding. Uncompressed 10 and 8 bit 4:2:2 YUV from Apple, > MJpeg/PhotoJpeg , DV, DVCPro, DVCProHD and so on > > http://www.fourcc.org/yuv.php > > On Jan 3, 2008, at 4:16 AM, John Dekron wrote: > >> HI Vade, >> >> vade schrieb: >>> Hm. Unless I am mistaken, UYVY does absolutely nothing with the alpha >>> channel what so ever. That information is lost to the ether unless >>> you use the alphaglue shader and read in the alpha via other means. >>> UYVY has no alpha channel, and I dont think that jit.qt.movie >>> premulitplies alpha for you while doing the conversion? >> That is right. I was referring to the method where I store an uyvy >> movie in the argb animation codec. the alpha channel stores the u >> component. >> > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > From yair99 at gmail.com Thu Jan 3 07:03:46 2008 From: yair99 at gmail.com (yair reshef) Date: Thu Jan 3 07:03:48 2008 Subject: [jitter] cv.jit tracking - LED's In-Reply-To: <1e919.477cd0c3@www.cycling74.com> References: <1e919.477cd0c3@www.cycling74.com> Message-ID: <1b1605c20801030603g2cca7e22w69bc404bea46d715@mail.gmail.com> to diffuse the leds light, you can put it inside a ping pong ball. or take a sanding paper and slightly scratch the leds surface. i also did experiments with crystal ("fake diamonds") glued to the end of the led for better refraction. or you can go and buy extra wide angle leds. in jit.cv there are several objects to choke or expand blobs. but i think what your trying to do is create a big source (3leds) and a smaller one. yes? for multi blob tracking i suggest u don't use centroids but instead cv. label>cv.sort. On Jan 3, 2008 2:10 PM, Stuart Binns wrote: > > Dear all - > > i have made a patch that tracks two LEDs and displays the location of the > LED's in a window. I have been able to output the x and y coordinates for > each blob (I'm using cv.jit.blobs.centroids so that the loargest blob will > be Blob 2 and the second largest blob will be Blob 2. > > I am using 4 LED's in total; 1 LED by itself and the 3 other packed > together in a triangle formation. To stop the patch seeing there 3 LED's as > 3 objects, is there a way I can make these 3 LED's appear as one big LED - > can you refract the light using some type of liquid (clear glue?) put over > all 3 LED's? > > Regards > > Stuart > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20080103/0641be6c/attachment.htm From spbinns at hotmail.com Thu Jan 3 07:19:05 2008 From: spbinns at hotmail.com (Stuart Binns) Date: Thu Jan 3 07:19:09 2008 Subject: [jitter] Re: cv.jit tracking - LED's In-Reply-To: <1b1605c20801030603g2cca7e22w69bc404bea46d715@mail.gmail.com> Message-ID: <1e92a.477ceed9@www.cycling74.com> Thanks for your reply... Yes- I want the three LEDs to appear as one big blob. Ultimately, It would have been easier just using a larger LED but I only have 5mm LED's. I have some clear glue - I was thinking of putting this around the LED's; perhaps it will make them appear as one large blob? Do you think this would work? Just a note - I am using the cv.jit.label object which then goes into cv.jit.blobs.centroids - I think this is what I have, I'm not with the patch at the moment. Using your suggested cv.jit.label>cv.sort, what does this cv.sort object do...what does it output...Will I be able to get the xy coordinates of each blob? Regards From yair99 at gmail.com Thu Jan 3 07:44:01 2008 From: yair99 at gmail.com (yair reshef) Date: Thu Jan 3 07:44:05 2008 Subject: [jitter] Re: cv.jit tracking - LED's In-Reply-To: <1e92a.477ceed9@www.cycling74.com> References: <1b1605c20801030603g2cca7e22w69bc404bea46d715@mail.gmail.com> <1e92a.477ceed9@www.cycling74.com> Message-ID: <1b1605c20801030644v703fae8dyf2d0563b81249bd5@mail.gmail.com> see the help file for the sort. it is very clear. i haven't tried the glue thingy but maybe the ping pong method will work as good. but size is not a good thing to track. a led shined directly at the camera can seem much larger. set your exposure well and have good control of surroundings (as always when dealing with cv) On Jan 3, 2008 4:19 PM, Stuart Binns wrote: > > Thanks for your reply... > > Yes- I want the three LEDs to appear as one big blob. Ultimately, It would > have been easier just using a larger LED but I only have 5mm LED's. I have > some clear glue - I was thinking of putting this around the LED's; perhaps > it will make them appear as one large blob? Do you think this would work? > > Just a note - I am using the cv.jit.label object which then goes into > cv.jit.blobs.centroids - I think this is what I have, I'm not with the > patch at the moment. Using your suggested cv.jit.label>cv.sort, what > does this cv.sort object do...what does it output...Will I be able to get > the xy coordinates of each blob? > > Regards > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20080103/f5489a11/attachment.htm From ondinecomposer2 at hotmail.com Thu Jan 3 08:06:25 2008 From: ondinecomposer2 at hotmail.com (Cheng Chien-Wen) Date: Thu Jan 3 08:06:28 2008 Subject: [jitter] Re: Better way to make "video freeze" ? In-Reply-To: <1e8cf.477bf716@www.cycling74.com> Message-ID: <1e932.477cf9f1@www.cycling74.com> I did not find any similar effect in Jitter example folder. Could you let me know which patch you refer to ? Thanks. From doktorp at mac.com Thu Jan 3 09:40:48 2008 From: doktorp at mac.com (vade) Date: Thu Jan 3 09:40:54 2008 Subject: [jitter] cc.uyvy2rgba.jxs and optimization In-Reply-To: <477CE23F.40407@thisserver.de> References: <1dbee.4746300f@www.cycling74.com> <47469DE5.4050901@thisserver.de> <1b1605c20712060131w599646abme33b54a1a670cc0a@mail.gmail.com> <5AD051E6-6B1A-4369-B5F4-F6597E7B7F12@gmail.com> <477B7EFB.40700@thisserver.de> <477CA7DB.1030904@thisserver.de> <477CE23F.40407@thisserver.de> Message-ID: <11D99C49-EBE4-4BFA-B10D-9DE9C5BCB169@mac.com> Im 90% sure. In fact, FOURCCs YUV to ARGB conversion guide states: Avery Lee's JFIF Clarification "The equations you have from "Video Demystified" are the ones to use most of the time on PCs, such as for MPEG-1 decoding and handing most (all?) of the formats on the YUV FOURCC page. However, there is one notable exception: JPEG. The JFIF file format that is commonly used with JPEG defines a YCbCr color space that is slightly different than usual, in that all components have the full [0,255] excursion rather than [16,235] and [16,240]. The equations given by "Julien" are for this variant and are very close to the ones in JFIF: R = Y + 1.402 (Cr-128) G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128) B = Y + 1.772 (Cb-128) It should be noted that some Motion JPEG codecs don't take this consideration into account and improperly exchange YCbCr values between the YUY2 and UYVY formats and their internal JPEG planes without performing the necessary scaling. This results in contrast shifts when using YUV formats." -- Im not sure if id take that as gospel, (or, um, you know what I mean), I did a quick google search and while I did not see any giant blinking times square neon sign stating mjpeg/photojpeg video codecs are YUV, I saw lots of inferences to that point. I'll check your patch out in a few. Thanks. these sorts of discussions are great. On Jan 3, 2008, at 8:25 AM, John Dekron wrote: > Photo Jpeg is a YUV Codec? and I was was convinced it stores RGB > Data. I will have to do my homework on that. From wesley.hoke at gmail.com Thu Jan 3 10:12:19 2008 From: wesley.hoke at gmail.com (Wesley Smith) Date: Thu Jan 3 10:12:22 2008 Subject: [jitter] Re: Better way to make "video freeze" ? In-Reply-To: <1e932.477cf9f1@www.cycling74.com> References: <1e8cf.477bf716@www.cycling74.com> <1e932.477cf9f1@www.cycling74.com> Message-ID: <1079b050801030912k2d1cd9e0s18fad56add69695a@mail.gmail.com> There are many ways to do this depending on how you want the image to fade out. The simplest is to use jit.xfade where the second input contains your frozen frame and you gradually shift back to the main frame. For more interesting transitions, introduce some feedback. I think you just need to start playing with things. wes On Jan 3, 2008 7:06 AM, Cheng Chien-Wen wrote: > > I did not find any similar effect in Jitter example folder. > Could you let me know which patch you refer to ? > > Thanks. > > _______________________________________________ > jitter mailing list > jitter@cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > From spbinns at hotmail.com Thu Jan 3 13:30:17 2008 From: spbinns at hotmail.com (Stuart Binns) Date: Thu Jan 3 13:30:21 2008 Subject: [jitter] Re: Re: cv.jit tracking - LED's In-Reply-To: <1b1605c20801030644v703fae8dyf2d0563b81249bd5@mail.gmail.com> Message-ID: <1e95a.477d45d8@www.cycling74.com> Thanks for all your help - I really do appreciate it. I have tried the 'sort' object, but it causes a problem for the type of installation I'm making. The two blobs (formed from the LEDs) are mounted in a small handheld box (similar in size to a mobile phone), and the user moves this box whilst pressing on a stretched piece of dark canvas. The blobs appear on the underside of the canvas as white blobs (I used dark canvas so my camera would only see the blobs and no other light soures), which my iSight camera is facing. It is the blobs on the underside of this canvas that the patch follows. The trouble with the 'sort' object is that when it looses an object/blob, I may assign it a new value when it reappears, so my tracking then fails as I cannot extract XY data from values 1 and 2 for example, as they have changed to 3 and 4. This was brought up in the forum recently, but unfortunately there was no further information... http://www.cycling74.com/forums/index.php?t=msg&goto=118099&rid=5914&S=2dba38dbb2631b21f0239d019bc0b7c8#msg_118099 I tried the above, whereby banging the 'mode $1' on the cv.jit.label object until the labels correct themselves, but does not work very efficiently. Ideally, I would just like to be able to track both blobs, but although I selected '@mode 1' on the cv.jit.label, it does not set value 1 to be the biggest blob (as i thought it would), but the blob that appears closest to the top left corner. This was brought up here... http://www.cycling74.com/forums/index.php?t=msg&goto=120322&rid=0&srch=cv.jit.blobs+erik#msg_120322 It seems that the 'sort' object is the object I need, but then there are it's problems- Catch22!!! I hope this all makes sense... Your help would be greatly appreciated. From justin at lowtech.org Thu Jan 3 15:36:06 2008 From: justin at lowtech.org (justin) Date: Thu Jan 3 15:36:08 2008 Subject: [jitter] Re: Re: how to rotate a camera? In-Reply-To: <1079b050801021052x5ca527ck8f53af6b4972f547@mail.gmail.com> Message-ID: <1e95f.477d6356@www.cycling74.com> havent followed this thread to closely, so apologies if this is not all that relevant... but should be helpful... and special thanks to zackary for his help! check this thread: http://www.cycling74.com/forums/index.php?t=msg&goto=114888&rid=789&S=af702526900bfa359abdb0eb44366a52#msg_114888 justin From goodmood at voila.fr Thu Jan 3 19:07:59 2008 From: goodmood at voila.fr (thi) Date: Thu Jan 3 19:08:01 2008 Subject: [jitter] tracking and video projection Message-ID: <1e96b.477d94fd@www.cycling74.com> hi everybody, forgive my english mistakes, i'm from france. I started using MAx and jitter in their trial version several days ago.. my project is to video-track from above the movement of an object on a tansparent table .once tracked, i just want to project to the tranlucid panel an image following the movement of the object.thanks to jiter tutorials i've been helped in this tasks, thus i get two coordinates updating at each frame. my problem is that i dont really know how to match to this floating point, the position of another video/image. sorry, i'm really a newbie... but don't have anyone around me to give me advices.. thanks to anyone that may help me. From adamjmurray at gmail.com Thu Jan 3 22:27:37 2008 From: adamjmurray at gmail.com (Adam Murray) Date: Thu Jan 3 22:27:39 2008 Subject: [jitter] sharing is fun - inverting an infinite tiling around a circle Message-ID: <1e977.477dc3c7@www.cycling74.com> This is my first jitter patch of any worth. Open a file, click play, and zoom away. I like wheel.mov and dishes.mov zoomed in. Basically, it takes a polar coordinate (r,theta) and swaps it with (1/r, theta). The video/image is tiled using appropriate jit.repos boundmodes so that all points out to infinity are valid (within computation limits). Changing the radius r (the zoom control in my patch) makes for a nice effect. There are a couple strange things about this patch I don't understand. In the GenerateMap subpatch, I am having trouble initializing the transformation matrix. After the exprfill, I have to bang the starting matrix twice for some reason and it seems there needs to be a delay in between. Also, trying to initialize it with a loadbang doesn't seem to work. Even with a delay and deferlow. Note that if you click the zoom control it will correct the problem, but I want it to work immediately after loading a file and clicking play. Anyone have any ideas on that? Any other suggestions are appreciated, as I am still learning Jitter. Adam #P window setfont "Sans Serif" 9.; #P window linecount 1; #P newex 618 152 53 196617 pvar play; #P window setfont "Fixedwidth Serif" 10.; #P message 160 94 106 1441802 read traffic.mov; #P window setfont "Sans Serif" 12.; #P comment 283 25 36 196620 Play; #P toggle 283 44 40 0; #P objectname play; #P window setfont "Sans Serif" 9.; #P newex 29 105 53 196617 pvar play; #P comment 493 47 30 196617 fold; #P comment 493 64 30 196617 wrap; #N vpatcher 262 248 523 416; #P window setfont "Sans Serif" 9.; #P newex 53 54 55 196617 select 1 0; #P message 134 94 67 196617 boundmode 4; #P message 53 95 67 196617 boundmode 2; #P inlet 53 30 15 0; #P outlet 85 131 15 0; #P connect 1 0 4 0; #P connect 4 0 2 0; #P connect 2 0 0 0; #P connect 3 0 0 0; #P connect 4 1 3 0; #P pop; #P newobj 368 175 81 196617 p wrapmodectrl; #P newex 368 155 80 196617 pvar wrapmode; #P user radiogroup 477 45 18 32; #X size 2; #X offset 16; #X inactive 0; #X itemtype 0; #X flagmode 0; #X set 0; #X done; #P objectname wrapmode; #N vpatcher 481 94 754 466; #P window setfont "Sans Serif" 9.; #P newex 54 75 20 196617 t b; #P newex 122 137 45 196617 onebang; #P message 181 256 48 196617 set 1 \$1; #P newex 54 252 87 196617 scale 0. 1. 0.5 8.; #P message 66 168 46 196617 0. 5000; #P message 54 101 62 196617 0. \, 1. 5000; #P newex 54 190 40 196617 line 0.; #P inlet 54 55 15 0; #P inlet 185 50 15 0; #P outlet 181 276 15 0; #P outlet 54 274 15 0; #P connect 3 0 10 0; #P connect 10 0 5 0; #P connect 5 0 4 0; #P connect 6 0 4 0; #P connect 4 0 7 0; #P fasten 2 0 7 0 190 241 59 241; #P connect 7 0 0 0; #P connect 9 0 6 0; #P fasten 4 1 9 0 89 211 117 211 117 131 127 131; #P fasten 5 0 9 1 59 122 162 122; #P connect 4 0 8 0; #P connect 8 0 1 0; #P pop; #P newobj 547 127 58 196617 p zoomctrl; #P newex 547 105 76 196617 pvar autozoom; #P newex 616 126 57 196617 pvar zoom; #P message 331 121 57 196617 auto-zoom; #P objectname autozoom; #P user jit.pwindow 366 226 322 242 0 1 0 0 1 0; #P user jit.pwindow 28 227 322 242 0 1 0 0 1 0; #P comment 426 49 25 196617 in; #P user multiSlider 391 48 33 89 0. 1. 1 2681 47 0 0 2 0 40 0; #M frgb 11 0 198; #M brgb 255 255 255; #M rgb2 127 127 127; #M rgb3 0 0 0; #M rgb4 37 52 91; #M rgb5 74 105 182; #M rgb6 112 158 18; #M rgb7 149 211 110; #M rgb8 187 9 201; #M rgb9 224 62 37; #M rgb10 7 114 128; #P objectname zoom; #P window setfont "Fixedwidth Serif" 10.; #P message 142 74 94 1441802 read wheel.mov; #P message 123 52 100 1441802 read dishes.mov; #P window setfont "Sans Serif" 9.; #N vpatcher 169 149 777 552; #P origin 0 -6; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P comment 178 98 49 196617 Issue 2:; #P comment 162 278 244 196617 multiply to increase circle radius (the zoom effect); #P window linecount 0; #P newex 170 76 54 196617 onebang 1; #P newex 113 105 55 196617 delay 250; #P newex 170 49 20 196617 t b; #P inlet 170 25 15 0; #P newex 170 156 142 196617 jit.matrix 2 float32 320 240; #P newex 57 134 29 196617 t b f; #P message 10 236 39 196617 val \$1; #P newex 57 277 99 196617 jit.op @op * @val 1; #P message 170 132 278 196617 exprfill 0 "2*norm[0]-1" \, exprfill 1 "2*norm[1]-1" \, bang; #P window linecount 3; #P comment 359 312 208 196617 transform to an x \, y deltas matrix for mode 1 of jit.repos (assumes initial exprfilled matrix goes from -1 to 1 on both axes); #P window linecount 2; #P newex 57 314 287 196617 jit.expr @expr "in[0].p[0]*dim[0]/2. + dim[0]/2.-norm[0]*dim[0]" "in[0].p[1]*dim[1]/2.+dim[1]/2.-norm[1]*dim[1]"; #P window linecount 1; #P newex 57 234 140 196617 jit.expr @expr "in[0]/in[1]"; #P newex 187 205 349 196617 jit.expr @inputs 1 @expr "(in[0].p[0]*in[0].p[0])+(in[0].p[1]*in[0].p[1])"; #P inlet 57 95 15 0; #P outlet 57 354 15 0; #P comment 202 226 230 196617 calculate 1/conj(z) = x/(x^2+y^2) \, y/(x^2+y^2); #P window linecount 0; #P comment 316 152 141 196617 fill with x \, y coordinates from -1 to 1 on both axes; #P comment 178 112 277 196617 I can't figure out why the second delayed bang is necessary; #P comment 200 56 188 196617 loadbang here doesn't seem to work!; #P comment 200 42 49 196617 Issue 1:; #P connect 14 1 13 0; #P connect 6 0 14 0; #P connect 15 0 8 0; #P connect 14 0 8 0; #P connect 8 0 12 0; #P connect 13 0 12 0; #P connect