Dealing with brighter pixels on the edges of a CG render?

Moderator: SecondMan

bowserlm
Fusioneer
Posts: 154
Joined: Sat Apr 28, 2018 3:44 pm
Been thanked: 2 times

Dealing with brighter pixels on the edges of a CG render?

#1

Post by bowserlm » Wed Jun 13, 2018 7:22 pm

We've got some renders with soft edges that fall off to 0% Alpha.

When I merge the render over our sky, we've got some brighter pixels around these softer edges. I'm sure this is just an easy toggle somewhere I'm probably missing.

User avatar
Midgardsormr
Fusionista
Posts: 582
Joined: Wed Nov 26, 2014 8:04 pm
Location: Los Angeles, CA, USA
Been thanked: 45 times
Contact:

Re: Dealing with brighter pixels on the edges of a CG render?

#2

Post by Midgardsormr » Wed Jun 13, 2018 8:17 pm

That's usually a symptom of an unpremultiplied (straight alpha) image. Try the Subtractive - Additive slider in the Merge.

It can also crop up if you're rendering over a non-black background. If you have a render background of some kind in the image, you should turn that off before rendering or you contaminate the edges. You could try to un-merge it with a CustomTool. If I remember the process correctly, you need to give the Custom Tool the Foreground on Image1 and the render background on Image 2. In each channel expression, you want the expression c1 - (1 - a1) * c2. That should reverse a Merge, giving you a premultiplied foreground.

edit: I just tested that method, and it doesn't give me good results. I must have my math wrong somewhere along the line.

Added in 35 minutes 43 seconds:
Ah. AlphaDivide the Foreground before the CustomTool; that's what I missed.

  1. {
  2.     Tools = ordered() {
  3.         AlphaDivide2 = AlphaDivide {
  4.             ViewInfo = OperatorInfo { Pos = { 495, 49.5 } },
  5.         },
  6.         CustomTool1 = Custom {
  7.             Inputs = {
  8.                 LUTIn1 = Input {
  9.                     SourceOp = "CustomTool1LUTIn1",
  10.                     Source = "Value",
  11.                 },
  12.                 LUTIn2 = Input {
  13.                     SourceOp = "CustomTool1LUTIn2",
  14.                     Source = "Value",
  15.                 },
  16.                 LUTIn3 = Input {
  17.                     SourceOp = "CustomTool1LUTIn3",
  18.                     Source = "Value",
  19.                 },
  20.                 LUTIn4 = Input {
  21.                     SourceOp = "CustomTool1LUTIn4",
  22.                     Source = "Value",
  23.                 },
  24.                 RedExpression = Input { Value = " c1 - (1 - a1) * c2", },
  25.                 GreenExpression = Input { Value = " c1 - (1 - a1) * c2", },
  26.                 BlueExpression = Input { Value = " c1 - (1 - a1) * c2", },
  27.                 Image1 = Input {
  28.                     SourceOp = "AlphaDivide2",
  29.                     Source = "Output",
  30.                 },
  31.             },
  32.             ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
  33.         },
  34.         CustomTool1LUTIn1 = LUTBezier {
  35.             KeyColorSplines = {
  36.                 [0] = {
  37.                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  38.                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  39.                 }
  40.             },
  41.             SplineColor = { Red = 204, Green = 0, Blue = 0 },
  42.             NameSet = true,
  43.         },
  44.         CustomTool1LUTIn2 = LUTBezier {
  45.             KeyColorSplines = {
  46.                 [0] = {
  47.                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  48.                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  49.                 }
  50.             },
  51.             SplineColor = { Red = 0, Green = 204, Blue = 0 },
  52.             NameSet = true,
  53.         },
  54.         CustomTool1LUTIn3 = LUTBezier {
  55.             KeyColorSplines = {
  56.                 [0] = {
  57.                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  58.                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  59.                 }
  60.             },
  61.             SplineColor = { Red = 0, Green = 0, Blue = 204 },
  62.             NameSet = true,
  63.         },
  64.         CustomTool1LUTIn4 = LUTBezier {
  65.             KeyColorSplines = {
  66.                 [0] = {
  67.                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  68.                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  69.                 }
  70.             },
  71.             SplineColor = { Red = 204, Green = 204, Blue = 204 },
  72.             NameSet = true,
  73.         },
  74.         AlphaMultiply1 = AlphaMultiply {
  75.             Inputs = {
  76.                 Input = Input {
  77.                     SourceOp = "CustomTool1",
  78.                     Source = "Output",
  79.                 },
  80.             },
  81.             ViewInfo = OperatorInfo { Pos = { 825, 49.5 } },
  82.         }
  83.     }
  84. }

jimbob
Posts: 31
Joined: Wed May 23, 2018 12:07 am
Been thanked: 2 times

Re: Dealing with brighter pixels on the edges of a CG render?

#3

Post by jimbob » Thu Jun 14, 2018 4:47 am

This video from Vito / Con Fusion is really good at explaining / resolving edge-pixel weirdness.


User avatar
SecondMan
Site Admin
Posts: 2406
Joined: Thu Jul 31, 2014 5:31 pm
Location: Vancouver, Canada
Been thanked: 60 times
Contact:

Re: Dealing with brighter pixels on the edges of a CG render?

#4

Post by SecondMan » Thu Jun 14, 2018 10:18 am

Vito really takes tutorials to a whole different level. Nice shout-out to Bryan in that video, too. Very kind :)

User avatar
Midgardsormr
Fusionista
Posts: 582
Joined: Wed Nov 26, 2014 8:04 pm
Location: Los Angeles, CA, USA
Been thanked: 45 times
Contact:

Re: Dealing with brighter pixels on the edges of a CG render?

#5

Post by Midgardsormr » Thu Jun 14, 2018 11:05 am

:) We've got a bit of an alliance going. Vito's awesome at look-dev, and I'm more of a technical artist. It works out nicely for him to do video tutorials while I cover more detailed text tutorials.

bowserlm
Fusioneer
Posts: 154
Joined: Sat Apr 28, 2018 3:44 pm
Been thanked: 2 times

Re: Dealing with brighter pixels on the edges of a CG render?

#6

Post by bowserlm » Thu Jun 14, 2018 4:16 pm

This is great guys.

In my case, just playing with the Additive and Subtractive slider allowed me to dial it in perfectly. It's little things like this that make me so much happier to be comping in Fusion than in After Effects :)

jimbob
Posts: 31
Joined: Wed May 23, 2018 12:07 am
Been thanked: 2 times

Re: Dealing with brighter pixels on the edges of a CG render?

#7

Post by jimbob » Fri Jun 15, 2018 2:08 am

bowserlm wrote:
Thu Jun 14, 2018 4:16 pm
It's little things like this that make me so much happier to be comping in Fusion than in After Effects :)
I feel the same.

Added in 3 minutes 22 seconds:
Midgardsormr wrote:
Thu Jun 14, 2018 11:05 am
...while I cover more detailed text tutorials.
Hi Bryan,
I've gone through a bunch of your text tutorials online (thank you!), and wondered if you are any closer to actually publishing a real-life book? I'd love to have a book that I can read on the train to work, or pick up whenever I fancy (instead of having to turn on computer), just to soak up info and terminology etc.
Thanks,
J.

User avatar
Midgardsormr
Fusionista
Posts: 582
Joined: Wed Nov 26, 2014 8:04 pm
Location: Los Angeles, CA, USA
Been thanked: 45 times
Contact:

Re: Dealing with brighter pixels on the edges of a CG render?

#8

Post by Midgardsormr » Fri Jun 15, 2018 7:12 am

jimbob wrote:
Fri Jun 15, 2018 2:11 am
Hi Bryan,
I've gone through a bunch of your text tutorials online (thank you!), and wondered if you are any closer to actually publishing a real-life book? I'd love to have a book that I can read on the train to work, or pick up whenever I fancy (instead of having to turn on computer), just to soak up info and terminology etc.
Thanks,
J.

I've had some setbacks, unfortunately, that have been making it difficult to proceed. I'm hoping to have revisions done quickly enough to get an ebook done by the time Resolve 15's beta period is over around September or so. I'm hopeful that the dead tree volume can be ready for the printer three to four months after that, at which point it's up to the printer's timetable.

jimbob
Posts: 31
Joined: Wed May 23, 2018 12:07 am
Been thanked: 2 times

Re: Dealing with brighter pixels on the edges of a CG render?

#9

Post by jimbob » Sat Jun 16, 2018 2:26 am

Midgardsormr wrote:
Fri Jun 15, 2018 7:12 am
....
ebook done by the time Resolve 15's beta period is over around September or so....
Oh okay. An ebook would be cool too, I could have it on my phone etc.

Best of luck with it, there is so little documentation for Fusion (apart from the manual) , I'm sure it would be very popular.

All the best,

J.