Jump to content


Photo

Better Corner Pin - Gui Prototype

fuse mockup

  • Please log in to reply
60 replies to this topic

#46 Gringo

Gringo

    Associate Administrator

  • Adv Members
  • PipPipPipPipPip
  • 1,455 posts

Posted 12 September 2012 - 05:22 AM

Wow, it's so much better than the standard CornerPositioner!
Neat and logical interface.

But indeed, what I always missed in the CnP, was the possibility to drag multiple points at once.
And this tool still doesn't replace the Krokodove Positioner as it has no separate BG / FG inputs.

The advantage of Krokodove is that you can position corners of an image with different resolution over the background in the background's coordinates without preliminary reformatting.
Would be great to implement such functionality as the BG and FG image are often different resolutions and aspects.
So, if the FG isn't connected, the tool works just like it works now. If both image inputs are used, then it composites FG over BG and the points are transformed in the BG coordinates.
Perhaps, you could even borrow the Merge multibutton control from the Tracker to provide more output options (BG only / FG only / FG over BG (default) / BG over FG).

Concerning the Source / Destination choice, you may notice, that in the GridWarp when you switch to Source, it shows the original undistorted image which makes it easier to position the source points.
Although, you can always display the image from the previous node, so it's not so important...

In the standard CornerPositioner and in the Tracker the points are listed in the following order:
1. Upper-Left
2. Upper-Right
3. Bottom-Left
4. Bottom-Right
Do you also think it would be nice to stick to this standard?
I would even use those definitions (Upper-Left, Upper-Right, Bottom-Left, Bottom-Right) instead of the numbers to avoid confusion.

I hope, it doesn't sound as too much of critics, I wrote all this because I'm really looking forward to using this tool next time I need a corner positioning :)

Thank you once again!
  • rorrywakswave and arreltyBittee like this

#47 Gringo

Gringo

    Associate Administrator

  • Adv Members
  • PipPipPipPipPip
  • 1,455 posts

Posted 12 September 2012 - 03:51 PM

You can also see such corner order and naming in the Background, Four Corner mode:
Top Left
Top Right
Bottom Left
Bottom Right

#48 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 12 September 2012 - 05:05 PM

Hi Gringo!
Thanks for your feedback, it doesn't sound too critical at all.
A foreground input is on my todo list. Might give it a try sooner, now that I know it's gonna be useful to somebody :-) It should be quite easy to do. I just need to account for different image sizes between source and destination.

Showing the source image without distortion is also possible by deactivating the tool, so while I understand the use case, it's of lower priority to me. The way it is now, that button can be marked "passive", which means you can toggle between source and destination without re-rendering.

Yeah, the ordering of corners... To be honest, I've thought about that a lot.
Most matrix calculations I found were using a counter-clockwise ordering. It also makes it easier to rotate the corners (from an algorithm point-of-view). Nuke also does this (bottom/left is first corner). I didn't like counter-clockwise so I used clockwise ordering. Then, I found out how to use Fusion's built-in matrix function for corner pinning, which of course has the parameters in Fusion's zig-zag order. But I didn't change the interface because numbering the corners 1 to 4 made the labels simple. If I write "Destination Bottom Right" that's gonna be quite long.

I'll think about it, since I agree that consistency is a good thing. Theoretically :-)

#49 Gringo

Gringo

    Associate Administrator

  • Adv Members
  • PipPipPipPipPip
  • 1,455 posts

Posted 13 September 2012 - 02:36 AM

Hey Stefan :)

Perhaps, just "Bottom Right" would be enough for the interface, as we already see that we are in the Destination mode.

For instance, the Grid Warp doesn't change the parameters' names in the Control Panel when you switch between the Source and Destination, but the actual scripting names change from SrcXGridSize, SrcCenter, SrcSize to DstXGridSize, DstCenter, DstSize.

I think, the order is really important because most of the time you're going to use this tool in conjunction with the Tracker, and if they have different corner order, it will be confusing...

Concerning the way the image is displayed in the Source mode, the GridWarp tool has a "View Destination" option - maybe this would be a perfect solution to any taste.

#50 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 15 September 2012 - 02:38 AM

Here's a version that uses a foreground input. Whatever gets connected to it will be distorted to fit the background (even if less than 4 corners are switched on) like in Krokodove's Positioner. It won't get merged over the Background but replaces it. Merging would have required more work on DoD handling and I was feeling lazy :-)
I've noticed that Krokodove also doesn't merge correctly! It leaves a dark fringe around the distorted foreground image. Automatic merging also wouldn't allow you to do light wraps, edge blurring and so on, so I think it isn't too problematic to leave the actual merging to the user :-) The Fuse won't render the background branch if a foreground image is connected, so this might even save you some rendering time.

Also, I have renamed all the inputs to match Fusion's tracker. Old comps should open just fine and they will be converted (yay for the well-designed Fuse API).

Here's the Fuse. I will update the help page once I'm confident this one's not buggy.

http://www.vfxpedia....erPin_v1_5.Fuse

#51 xmare

xmare

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 723 posts

Posted 15 September 2012 - 06:54 AM

This is Great!! thanks

On the side note - I am in ave -this forum rocks! Every day i can find something "just the thing" or equally useful, so Thank You All !!
cheers and have a nice weekend

#52 Gringo

Gringo

    Associate Administrator

  • Adv Members
  • PipPipPipPipPip
  • 1,455 posts

Posted 18 September 2012 - 07:00 AM

Sweet! :)

I fink it's freaky and I like it a lot! :)

The only thing I noticed compared to Krokodove is sharp edges of the distorted foreground borders (Krokodove offers additional options for filtering).
Another issue is when I change the FG image to another one with limited DOD, it doesn't show the result.

Try to replace the FG with a new Txt+ in this composition:
http://vfxpedia.com/...nFiltering.comp

But on the other hand, I like the way the CornerPin treats the areas of the extended DOD (it doesn't clip them!)

Thank you for the great update! :)

#53 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 18 September 2012 - 03:26 PM

do you use subsampling?
will check comp on the weekend. I'm away from my keyboard for a while :-)

#54 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 20 September 2012 - 04:58 PM

Back from the countryside, time to look at your comp :-)

The only thing I noticed compared to Krokodove is sharp edges of the distorted foreground borders (Krokodove offers additional options for filtering).


Do you mean the bottom edge of the green rectangle in your comp? Yeah, that appears better filtered in Krokodove. The other edges look better in CornerPin I think. Problem is... filtering in corner pins isn't easy. I have decided to use a brute force 5x supersampling. But depending on the amount of perspective distortion, this might not be enough. I've read papers as well as the source code of ImageMagick... but real filtering that adapts to the amount of distortion (elliptical weighted average) was beyond my understanding.

Another issue is when I change the FG image to another one with limited DOD, it doesn't show the result.

Try to replace the FG with a new Txt+ in this composition:
http://vfxpedia.com/...nFiltering.comp

But on the other hand, I like the way the CornerPin treats the areas of the extended DOD (it doesn't clip them!)

Thank you for the great update! :)


Does this happen to you in OpenCL mode only? I can't confirm this in the cpu version.
edit: I can't trigger that bug at all :-( when I switch between different foregrounds, both the image and the DoD are updated as expected.

thanks for testing and maybe using my Fuse :-)

#55 Francois

Francois

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 73 posts

Posted 21 September 2012 - 08:25 AM

I've downloaded the file, but I haven't figured in what directory to save it to so I can access it in Fusion!
I can't wait to try this new fuse! Could you tell me where to save the fuse?

Thank you! :e

#56 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 21 September 2012 - 09:14 AM

Either the Fuses folders in Fusion's program directory or (better choice) the public user's documents folder. Its location depends on your version of Windows, but if you're up-to-date it's something like C:\Users\Public\Documents\eyeon\Fusion\Fuses.

#57 Francois

Francois

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 73 posts

Posted 21 September 2012 - 09:45 AM

I thought the Fuse was called "Better Corner Pin"! It actually appears as "Corner Pin"! It was there all the time! :D
Do you think you"ll have a bi-linear mapping mode like in the fusion tool? That would be great! Thanks for the new fuse!

#58 Tilt

Tilt

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 2,137 posts

Posted 13 April 2013 - 02:13 AM

I've updated this Fuse with a better sampling method. Check the vfxpedia page :-)

Posted Image

#59 Gringo

Gringo

    Associate Administrator

  • Adv Members
  • PipPipPipPipPip
  • 1,455 posts

Posted 15 April 2013 - 03:06 AM

Looks great! Thank you :)

#60 tomek

tomek

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 67 posts

Posted 01 May 2013 - 06:09 AM

I tried to install the fuse (version 1.6) on Linux today, and I got this:

OpenCL : :2:3: error: unknown type name 'in'
in float4 TexCoord : TEXCOORD0,
^
:2:14: error: expected ')'
in float4 TexCoord : TEXCOORD0,
			 ^
:1:16: note: to match this '('
void FuAuxPassF(
			 ^
:6:3: error: use of undeclared identifier 'Color'
Color = TexCoord;
^

OpenCL clBuildProgram() failed: CL_BUILD_PROGRAM_FAILURE
OpenCL : :2:3: error: unknown type name 'in'
in float4 TexCoord : TEXCOORD0,
^
:2:14: error: expected ')'
in float4 TexCoord : TEXCOORD0,
			 ^
:1:16: note: to match this '('
void FuAuxPassF(
			 ^
:6:3: error: use of undeclared identifier 'Color'
Color = TexCoord;
^

OpenCL clCreateKernel: CL_INVALID_PROGRAM_EXECUTABLE
CornerPin1 failed at time 0

Any chance to get it running on Linux? Other OpenCL tools work fine, so I assume there's nothing wrong with my configuration.





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