Jump to content


Photo

Better Corner Pin - Gui Prototype

fuse mockup

  • Please log in to reply
60 replies to this topic

#16 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 22 January 2012 - 03:45 PM

Updated the Fuse to do actual pixel processing (slow), DoD (halfway at least) and canvas color. Interface cleaned up using Gringo's suggestions.

#17 Pilalitos

Pilalitos

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 791 posts

Posted 23 January 2012 - 12:05 PM

Cool work Tilt!

If it wasn't so slow I would use it for the production that I am currently working on. :D

That was the first user created Fuse I have tried. Are Fuses by default slow or is it something that can be solved via optimization?

#18 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 23 January 2012 - 12:28 PM

Thanks! There's basically one thing that makes a Fuse slow: processing pixels one by one in a LUA loop. If you use Fusion's API for color correction, blurring or shape drawing etc... Fuses are quite fast. But for corner pinning, I have to iterate over the whole DoD manually :-(
This can be sped up tremendously with OpenCL on your GPU but I need to get into it first...

#19 bfloch

bfloch

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 960 posts

Posted 23 January 2012 - 01:19 PM

Did you try to use MultiProcessPixels. That is a good start on a multithreaded system. Gives me decent results although not comparable to OpenCL.

Edit: I just saw you did ;)

Edited by bfloch, 23 January 2012 - 01:21 PM.


#20 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 23 January 2012 - 02:09 PM

In my LatLong Fuse I've noticed that Multiprocess isn't faster, probably because I was using SamplePixel? If only there was Image:ApplyTransformationMatrixOf() ;-)

#21 bfloch

bfloch

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 960 posts

Posted 23 January 2012 - 03:41 PM

In my LatLong Fuse I've noticed that Multiprocess isn't faster, probably because I was using SamplePixel? If only there was Image:ApplyTransformationMatrixOf() ;-)


I wrote a creator which draws a color wheel and the single vs. multiprocess call is significant slower.

#22 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 29 January 2012 - 02:55 PM

I've spent the weekend getting into OpenCL by taking apart the sample Fuses. It's not as much of a learning curve as I had feared... So the Fuse now performs very fast corner pinning using OpenCL :mf_w00t2:
However, it still needs a couple of improvements before I release it into the wild. (DoD isn't working yet, as I have some more trial and error in front of me to understand what kind of coordinates these functions expect when DoD is involved).

#23 xmare

xmare

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 723 posts

Posted 29 January 2012 - 02:58 PM

wow!
can't wait so see this working.
i wish i had Your skillz.. :)

cheers and keep up the great work!

#24 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 30 January 2012 - 12:29 AM

Marek, I wish I knew how you did that chocolate sim :-) How did you do the moving liquid look in the closeup at 0:08?

#25 xmare

xmare

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 723 posts

Posted 30 January 2012 - 04:30 AM

all is in fusion, all is done by displacement map to a single plane :) i'd like to discuss in detail, but i don't want to hijack Your thread, so i'll continue in "my thread"

#26 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 30 January 2012 - 01:01 PM

Heureka! Check the initial post for a working OpenCL version. I've decided to disable DoD so you can play around with a working OpenCL corner pin. Oddly enough, the fuse even keeps/transforms the incoming DoD (but it will always render the whole upstream image first, so no RoI speedups yet...)

I've changed the GUI a bit more, so now the copy-buttons and checkboxes are always available.

Things still on my to do list: better filtering in distorted areas (need to write my own bilinear subsampling)

#27 bfloch

bfloch

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 960 posts

Posted 31 January 2012 - 02:00 AM

I get realtime response on 2k footage on a laptop.

Now someone look me in the eyes and say that Fuses don't rock!
Now someone look me in the eyes and say that Stefan doesn't rock!

Great effort! Keep on fighting!

#28 xmare

xmare

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 723 posts

Posted 31 January 2012 - 05:09 AM

Spectacular! Again!
and again - i wish i had Your skillz :)
cheers!

ps. where to send a pack of beers?

#29 robocop

robocop

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 485 posts

Posted 04 February 2012 - 04:53 AM

ooops i`m not so lucky as Blazej and Marec :) . i get an error:
BetterCornerPin_v0_91b.Fuse:702: attempt to call method 'GetInputDoD' (a nil value)
CornerPin1 failed at time 0


#30 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 04 February 2012 - 04:57 AM

ooops i`m not so lucky as Blazej and Marec :) . i get an error:

BetterCornerPin_v0_91b.Fuse:702: attempt to call method 'GetInputDoD' (a nil value)
CornerPin1 failed at time 0


You probably need a newer version of Fusion. I don't know what the minimum version is for the OpenCL stuff but I can get you a version that has any mention of DoDs removed completely.





Also tagged with one or more of these keywords: fuse, mockup

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users