Jump to: Board index » General » Fusion

3D Camera and Continous Rasterization Issue

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

3D Camera and Continous Rasterization Issue

PostSat Sep 07, 2019 2:28 am

Fusion Brain Trust:

I'm learning Fusion and I'm rebuilding a comp that I did in After Effects (and know works fine) to see how it works in Fusion. The comp uses nested photographs where I'm zooming into the eyes of a small figurine. I've shot wide, medium and close-ups of the statue using a macro lens, such that the last image of the eyes fills the frame of a 5000x6000 DNG file.

Everything was shot on green screen. I've rebuilt the statuette with the high res face scaled down and placed over the face of the wide statuette. When I zoom in, the resolution should stay high because I've got a lot of data.

If I do a 2D camera move (i.e. translation), the scale gives me a high res result. If I use 3D projection and 3D merges back to a 3D renderer to a Media Out node, the footage is blocky and low res at the end of the zoom.

I've searched around the 3D nodes (Camera Projector, 3D Merge, Scene Camera, 3D Image Plane, Catcher) to see where the option to render high res would be.

My final output comp is 4300x2804, so smaller than my original still assets. I'm in 32bit float.

Ive tried this in both Resolve 16.1 and Fusion 16 and it gives me the same low res results.

Any ideas on why my stuff is so low res? Thanks...
Offline

Sander de Regt

  • Posts: 1371
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: 3D Camera and Continous Rasterization Issue

PostSat Sep 07, 2019 7:45 am

Without seeing your setup it's hard to tell. Are you saying you're using the final image as a texture map on a 3D object (rebuilt the statuette)?

Are you sure the render is at high quality?

I've done reprojected textures on lowres geometry way back in 2007 in Fusion in 2K for feature film VFX and everything worked fine then, I'm pretty sure it's possible to do it in the current version.

Any chance you can share the setup? (just select and copy/paste your nodes inbewteen the 'code' tags in this forum)
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline
User avatar

Bryan Ray

  • Posts: 1092
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: 3D Camera and Continous Rasterization Issue

PostSat Sep 07, 2019 2:33 pm

If you scale the image down prior to projecting onto the geometry, you're no longer working with the high res imagery. Fusion can't concatenate transforms through the 3d system—it will only do that in the 2d world. As Sander says, without seeing your actual nodes, it's hard to guess a solution, but I suspect what you actually need to do is to scale your texture coordinates rather than the texture raster itself. You can do that with a Texture2D node.

Here's an illustration of what I think is happening in your render:

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 6000, },
            Height = Input { Value = 6000, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Size = Input { Value = 0.526, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "fusion", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 579, 91 } },
      },
      Scale1 = Scale {
         CtrlWZoom = false,
         Inputs = {
            XSize = Input { Value = 0.25, },
            PixelAspect = Input { Value = { 1, 1 }, },
            Input = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 689, 91 } },
      },
      Camera3D1 = Camera3D {
         NameSet = true,
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     Camera3D1 = Camera3D {
                        Inputs = {
                           ApertureW = Input { Value = 0.831496062992126 },
                           AoV = Input { Value = 19.2642683071402 },
                           ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
                           ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
                           ApertureH = Input { Value = 0.467716535433071 },
                           FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" } },
                           ["MtlStdInputs.MaterialID"] = Input { Value = 1 }
                        },
                        Name = "Camera3D1",
                        CtrlWZoom = false,
                        NameSet = true,
                        ViewInfo = OperatorInfo { Pos = { 550, 214.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [6] = {
                  Tools = ordered() {
                     Camera3D1 = Camera3D {
                        Inputs = {
                           FLength = Input { Value = 49.0568334445481 },
                           ["Transform3DOp.Translate.Z"] = Input { Expression = "self.ImageInput.Metadata.Translate.Z" },
                           ImagePlaneEnabled = Input { Value = 0 },
                           AoV = Input {
                              Value = 19.2642683071402,
                              Expression = "self.ImageInput.Metadata.RSCameraFOV or self.ImageInput.Metadata['rs/camera/fov']"
                           },
                           AovType = Input { Value = 1 },
                           ["Transform3DOp.Rotate.Y"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Y" },
                           ApertureH = Input { Value = 0.9 },
                           FilmGate = Input { Value = FuID { "HD" } },
                           ["Transform3DOp.Rotate.X"] = Input { Expression = "self.ImageInput.Metadata.Rotate.X" },
                           ["Transform3DOp.Translate.X"] = Input { Expression = "self.ImageInput.Metadata.Translate.X" },
                           PlaneOfFocus = Input { Expression = "self.ImageInput.Metadata.RSCameraDOFFocusDistance or self.ImageInput.Metadata['rs/camera/DOFFocusDistance']" },
                           FilmBack = Input { Value = 1 },
                           ["Transform3DOp.Rotate.RotOrder"] = Input { Value = FuID { "ZXY" } },
                           ["MtlStdInputs.MaterialID"] = Input { Value = 1 },
                           ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
                           ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
                           ["Transform3DOp.Translate.Y"] = Input { Expression = "self.ImageInput.Metadata.Translate.Y" },
                           ApertureW = Input { Value = 1.6 },
                           ["Transform3DOp.Rotate.Z"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Z" }
                        },
                        CtrlWZoom = false,
                        NameSet = true,
                        ViewInfo = OperatorInfo { Pos = { 387, 145 } },
                        CustomData = {
                        }
                     }
                  }
               }
            }
         },
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = -0.883550293178672, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.176534563292827, },
            ["Transform3DOp.Translate.Z"] = Input { Value = 1.023, },
            ["Transform3DOp.Rotate.X"] = Input { Value = -7, },
            ["Transform3DOp.Rotate.Y"] = Input { Value = -26.7999992370605, },
            FLength = Input { Value = 18.2123442718302, },
            ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 810, 122 } },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["Transform3DOp.Scale.X"] = Input { Value = 5, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            MaterialInput = Input {
               SourceOp = "Scale1",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 810, 89 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 920, 122 } },
      },
      Renderer3D1 = Renderer3D {
         CustomData = {
            ToolVersion = 2,
         },
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
            RendererType = Input { Value = FuID { "RendererOpenGL" }, },
            ["RendererOpenGL.Texturing"] = Input { Value = 1, },
            ["RendererOpenGL.TextureDepth"] = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1060, 146 } },
      }
   }
}


Check the results of disabling the Scale node.
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostSat Sep 07, 2019 8:47 pm

Thanks Guys.. I’ll try you script when I get back to the studio. On the flip side, what if I scale everything up to match the close-up and send the camera way back? Of course I’ll have a mammoth frame size so don’t know if that’s a performance drag in Fusion.
Offline

Mario Kalogjera

  • Posts: 392
  • Joined: Sat Oct 31, 2015 8:44 pm

Re: 3D Camera and Continous Rasterization Issue

PostSun Sep 08, 2019 4:54 pm

Perhaps you just make a mammoth image of the eye and map that to the geometry of the eye, and keep the rest of the body mapped with a lower-res image? You'd need to assign different materials to your model in another software, of course.

Sent from my GM 5 Plus d using Tapatalk
Asus Prime X370-Pro, Ryzen 1600X @4GHz, 16 GB G.Skill AEGIS DDR-4 3000, Asrock Phantom Gaming RX 580 8GB, 120 GB system SSD, Media storage - "Always in motion is it", Windows 10 Pro+Resolve 15.3 Studio+Fusion Studio 9.0.2
Offline

Sander de Regt

  • Posts: 1371
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: 3D Camera and Continous Rasterization Issue

PostSun Sep 08, 2019 6:32 pm

Paul, are you using a 3D model or just image planes? Because all these back and forths imply a miscommunication of some sorts. Can you share the comp with us? Even if it's a screengrab of your setup, although the actual comp-file would be better.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostMon Sep 09, 2019 4:33 am

I’m just using image planes with photos projected on them. All 2D in a 3D space. I could almost do the shot with all 2D scale and a parallax move on the BG, but I want the look of the 3D camera.

I’ll post the project tomorrow from the studio.
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostMon Sep 09, 2019 11:24 pm

Here's a stripped down version of what I'm doing:

Code: Select all
{
   Tools = ordered() {
      Renderer3D1_2 = Renderer3D {
         CtrlWZoom = false,
         CustomData = { ToolVersion = 2, },
         Inputs = {
            GlobalOut = Input { Value = 902, },
            Width = Input { Value = 4300, },
            Height = Input { Value = 2804, },
            Depth = Input { Value = 4, },
            ["Gamut.ColorSpaceNest"] = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1_2",
               Source = "Output",
            },
            Reporting = Input { Value = 1, },
            RendererType = Input { Value = FuID { "RendererOpenGL" }, },
            ["RendererOpenGL.AntiAliasing.Channels.RGBA.HighQuality.Enable"] = Input { Value = 1, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Supersampling.HighQuality.RateX"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Supersampling.HighQuality.RateY"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
            ["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Supersampling.HighQuality.RateX"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Supersampling.HighQuality.RateY"] = Input { Value = 3, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
            ["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
            ["RendererOpenGL.AccumQuality"] = Input { Value = 32, },
            ["RendererOpenGL.Texturing"] = Input { Value = 1, },
            ["RendererOpenGL.TextureDepth"] = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 3770.55, 599.372 } },
         SubInputsData = {
            RendererOpenGL = {
               Version = 1
            }
         }
      },
      SceneCamera_1 = Camera3D {
         NameSet = true,
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input {
               SourceOp = "SceneCamera_1XOffset",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Y"] = Input {
               SourceOp = "SceneCamera_1YOffset",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Z"] = Input {
               SourceOp = "SceneCamera_1ZOffset",
               Source = "Value",
            },
            AoV = Input { Value = 8.85158532972874, },
            FLength = Input { Value = 77.1202037759364, },
            ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
            FilmBack = Input { Value = 1, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ApertureW = Input { Value = 0.47, },
            ApertureH = Input { Value = 0.47, },
            ControlVis = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 4, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 5, },
         },
         ViewInfo = OperatorInfo { Pos = { 3565.16, 648.89 } },
      },
      SceneCamera_1XOffset = BezierSpline {
         SplineColor = { Red = 250, Green = 59, Blue = 49 },
         NameSet = true,
         KeyFrames = {
            [12] = { 0, RH = { 50.3333333333333, -0.482666666666667 }, Flags = { Linear = true } },
            [127] = { -1.448, LH = { 88.6666666666667, -0.965333333333333 }, Flags = { Linear = true } }
         }
      },
      SceneCamera_1YOffset = BezierSpline {
         SplineColor = { Red = 252, Green = 131, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [12] = { -3.362, RH = { 50.3333333333333, -1.42 }, Flags = { Linear = true } },
            [127] = { 2.464, LH = { 88.6666666666667, 0.522 }, Flags = { Linear = true } }
         }
      },
      SceneCamera_1ZOffset = BezierSpline {
         SplineColor = { Red = 254, Green = 207, Blue = 46 },
         NameSet = true,
         KeyFrames = {
            [12] = { 102.19, RH = { 50.3333333333333, 48.31 }, Flags = { Linear = true } },
            [127] = { -59.45, LH = { 88.6666666666667, -5.56999999999999 }, Flags = { Linear = true } }
         }
      },
      Merge3D1_2 = Merge3D {
         Inputs = {
            ["Transform3DOp.PivotNest"] = Input { Value = 1, },
            ["Transform3DOp.Scale.X"] = Input { Value = 0.867, },
            ["Transform3DOp.UseTarget"] = Input { Value = 1, },
            SceneInput1 = Input {
               SourceOp = "SceneCamera_1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "KaliBoxPlane_1",
               Source = "Output",
            },
            SceneInput3 = Input {
               SourceOp = "KaliBoxProjector_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3546.79, 601.918 } },
      },
      KaliBoxPlane_1 = ImagePlane3D {
         NameSet = true,
         Inputs = {
            ["SurfacePlaneInputs.Matte.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            MaterialInput = Input {
               SourceOp = "KaliBoxCatcher_1",
               Source = "MaterialOutput",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 3638.17, 462.266 } },
      },
      KaliBoxCatcher_1 = TexCatcher {
         NameSet = true,
         Inputs = {
            RestrictByProjectorID = Input { Value = 1, },
            MaterialIDNest = Input { Value = 1, },
            MaterialID = Input { Value = 4, },
         },
         ViewInfo = OperatorInfo { Pos = { 3780.19, 461.113 } },
      },
      KaliBoxProjector_1 = Camera3D {
         NameSet = true,
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = 1.374, },
            ["Transform3DOp.Translate.Y"] = Input { Value = -0.741, },
            ["Transform3DOp.Translate.Z"] = Input { Value = 34.25, },
            AoV = Input { Value = 19.2642683071402, },
            ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
            FilmBack = Input { Value = 1, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ApertureW = Input { Value = 0.831496062992126, },
            ApertureH = Input { Value = 0.467716535433071, },
            ControlVis = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            ImageInput = Input {
               SourceOp = "Merge1_1_2_1",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
            ProjectionEnabled = Input { Value = 1, },
            ProjectionMode = Input { Value = 2, },
         },
         ViewInfo = OperatorInfo { Pos = { 3391.63, 445.49 } },
         Colors = { TileColor = { R = 0.0823529411764706, G = 0.384313725490196, B = 0.517647058823529 }, }
      },
      Merge1_1_2_1 = Merge {
         Inputs = {
            Blend = Input {
               SourceOp = "Merge1_1_2_1Blend",
               Source = "Value",
            },
            Background = Input {
               SourceOp = "DeltaKeyer1_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1_1_1_1",
               Source = "Output",
            },
            Center = Input { Value = { 0.444054, 0.578048 }, },
            Size = Input { Value = 0.12, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 3090.51, 444.36 } },
      },
      Merge1_1_2_1Blend = BezierSpline {
         SplineColor = { Red = 205, Green = 205, Blue = 205 },
         NameSet = true,
         KeyFrames = {
            [75] = { 0, RH = { 78.6666666666667, 0.333333333333333 }, Flags = { Linear = true } },
            [86] = { 1, LH = { 82.3333333333333, 0.666666666666667 }, Flags = { Linear = true } }
         }
      },
      DeltaKeyer1_1 = DeltaKeyer {
         Inputs = {
            EffectMask = Input {
               SourceOp = "KeyFXMatte_1",
               Source = "Mask",
            },
            BackgroundRed = Input { Value = 0, },
            BackgroundGreen = Input { Value = 0.364705882352941, },
            BackgroundBlue = Input { Value = 0.149019607843137, },
            PreBlur = Input { Value = 0.00193, },
            Gain = Input { Value = 1.508, },
            LowThreshold = Input { Value = 0.288, },
            HighThreshold = Input { Value = 0.948, },
            ErodeDilate = Input { Value = -0.00069, },
            Blur = Input { Value = 0.00032, },
            CleanForeground = Input { Value = 0.0069, },
            CleanBackground = Input { Value = 0.00043, },
            TuningRanges = Input {
               Value = ColorCurves {
                  Curves = {
                     {
                        Points = {
                           { 0, 1 },
                           { 0.4, 0.2 },
                           { 0.6, 0 },
                           { 1, 0 }
                        }
                     },
                     {
                        Points = {
                           { 0, 0 },
                           { 0.4, 0 },
                           { 0.6, 0.2 },
                           { 1, 1 }
                        }
                     }
                  }
               },
            },
            ["Garbage.Matte"] = Input {
               SourceOp = "KeyBoxGarbageMatte_1",
               Source = "Mask",
            },
            Input = Input {
               SourceOp = "Merge2_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2718.51, 438.845 } },
      },
      KeyBoxGarbageMatte_1 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         NameSet = true,
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "KeyBoxGarbageMatte_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2745.92, 480.376 } },
      },
      KeyBoxGarbageMatte_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, Flags = { Linear = true, LockedY = true }, Value = Polyline {
                  Closed = true,
                  Points = {
                     { Linear = true, X = -0.508429110050201, Y = -0.403448283672333, LX = -0.00459770361582438, LY = -0.0394635995229085, RX = 0.0341003253953026, RY = 0.031703394861555 },
                     { Linear = true, X = -0.406128133864294, Y = -0.308338099087668, LX = -0.0341003253953026, LY = -0.031703394861555, RX = 0.076244496812784, RY = -0.00110180139997677 },
                     { Linear = true, X = -0.177394643425941, Y = -0.311643503287598, LX = -0.076244496812784, LY = 0.00110180139997677, RX = 0.0025542825460434, RY = 0.0245708250930457 },
                     { Linear = true, X = -0.169731795787811, Y = -0.237931028008461, LX = -0.0025542825460434, LY = -0.0245708250930457, RX = -0.00919540395834132, RY = 0.115708810102437 },
                     { Linear = true, X = -0.197318002581596, Y = 0.109195403754711, LX = 0.00919540395834132, LY = -0.115708810102437, RX = 0.0173690915374159, RY = 0.0237547887867438 },
                     { Linear = true, X = -0.145210728049278, Y = 0.180459767580032, LX = -0.0173690915374159, LY = -0.0237547887867438, RX = 0.0291187739730033, RY = 0.0114942537185333 },
                     { Linear = true, X = -0.0578544065356255, Y = 0.214942529797554, LX = -0.0291187739730033, LY = -0.0114942537185333, RX = 0.0398467434301382, RY = -0.0222222225761962 },
                     { Linear = true, X = 0.06168582290411, Y = 0.14827586710453, LX = -0.0398467434301382, LY = 0.0222222225761962, RX = 0.00296280948954634, RY = -0.0658278834631561 },
                     { Linear = true, X = 0.070574251372749, Y = -0.0492077832849379, LX = -0.00296280948954634, LY = 0.0658278834631561, RX = 0.00572173626584001, RY = -0.0537123459765793 },
                     { Linear = true, X = 0.087739460170269, Y = -0.210344821214676, LX = -0.00572173626584001, LY = 0.0537123459765793, RX = -0.00710929947666879, RY = -0.0346092487407439 },
                     { Linear = true, X = 0.0664115617402626, Y = -0.314172567436907, LX = 0.00710929947666879, LY = 0.0346092487407439, RX = 0.101935116105063, RY = -0.0016960857038909 },
                     { Linear = true, X = 0.372216910055452, Y = -0.31926082454858, LX = -0.101935116105063, LY = 0.0016960857038909, RX = 0.0304388183240273, RY = -0.03927718525644 },
                     { Linear = true, X = 0.463533365027534, Y = -0.4370923803179, LX = -0.0304388183240273, LY = 0.03927718525644, RX = 0.000585063128389962, RY = -0.0272465940362123 },
                     { Linear = true, X = 0.465288554412704, Y = -0.518832162426537, LX = -0.000585063128389962, LY = 0.0272465940362123, RX = -0.329170258436793, RY = -0.00100230660484039 },
                     { Linear = true, X = -0.522222220897675, Y = -0.521839082241058, LX = 0.329170258436793, LY = 0.00100230660484039, RX = 0.00459770361582438, RY = 0.0394635995229085 }
                  }
               } }
         }
      },
      Merge1_1_1_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Merge7_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge6_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 3088.94, 403.942 } },
      },
      KeyFXMatte_1 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         NameSet = true,
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.0011, },
            BorderWidth = Input { Value = -0.0056, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "KeyFXMatte_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { }
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2651.84, 479.39 } },
      },
      KeyFXMatte_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.166594117879868, Y = -0.260195106267929 },
                     { X = -0.160433381795883, Y = -0.260195106267929 },
                     { X = -0.156879127025604, Y = -0.262683093547821 },
                     { X = -0.148585826158524, Y = -0.266948223114014 },
                     { X = -0.145031571388245, Y = -0.26908078789711 },
                     { X = -0.142425103004602, Y = -0.261616817235142 },
                     { X = -0.138159990310669, Y = -0.255219131708145 },
                     { X = -0.136501327157021, Y = -0.253797441720963 },
                     { X = -0.13294705748558, Y = -0.253441989421844 },
                     { X = -0.12939278781414, Y = -0.253797441720963 },
                     { X = -0.126549378037453, Y = -0.258062541484833 },
                     { X = -0.126312434673309, Y = -0.264815658330917 },
                     { X = -0.127260237932205, Y = -0.27441218495369 },
                     { X = -0.125364616513252, Y = -0.284364134073257 },
                     { X = -0.122047308166344, Y = -0.286496683026037 },
                     { X = -0.121336452662945, Y = -0.282586991786957 },
                     { X = -0.119203895330429, Y = -0.28045442700386 },
                     { X = -0.115412674844265, Y = -0.283297836780548 },
                     { X = -0.110436707735062, Y = -0.281165271997452 },
                     { X = -0.100484758615494, Y = -0.277611017227173 },
                     { X = -0.0893480559840247, Y = -0.276189310055524 },
                     { X = -0.0879263505339622, Y = -0.276544749736786 },
                     { X = -0.0779744014143944, Y = -0.283297836780548 },
                     { X = -0.0661268457770348, Y = -0.277611017227173 },
                     { X = -0.0568857565522194, Y = -0.277255594730377 },
                     { X = -0.0426686890423298, Y = -0.281876146793365 },
                     { X = -0.034612350165844, Y = -0.286852121353149 },
                     { X = -0.0256082098931074, Y = -0.283653259277344 },
                     { X = -0.0199213828891516, Y = -0.278321862220764 },
                     { X = 0.00661714049056172, Y = -0.285074979066849 },
                     { X = 0.0205972548574209, Y = -0.292538940906525 },
                     { X = 0.0298383492477589, Y = -0.293960639208427 },
                     { X = 0.0329187139868736, Y = -0.276544749736786 },
                     { X = 0.0359990783035755, Y = -0.266592800617218 },
                     { X = 0.0409750491380692, Y = -0.256285429000854 },
                     { X = 0.0457140728831291, Y = -0.254508286714554 },
                     { X = 0.0523487031459808, Y = -0.252731144428253 },
                     { X = 0.0620636977255344, Y = -0.26090595126152 },
                     { X = 0.0649071112275124, Y = -0.269791632890701 },
                     { X = 0.0625376030802727, Y = -0.295737773180008 },
                     { X = 0.0599311403930187, Y = -0.302846312522888 },
                     { X = 0.0601680912077427, Y = -0.312087416648865 },
                     { X = 0.0677505284547806, Y = -0.322394788265228 },
                     { X = 0.0746221095323563, Y = -0.331635862588882 },
                     { X = 0.0741482079029083, Y = -0.336611837148666 },
                     { X = 0.0798350349068642, Y = -0.341232389211655 },
                     { X = 0.0859957635402679, Y = -0.353316903114319 },
                     { X = 0.0843371003866196, Y = -0.379085332155228 },
                     { X = 0.0800719857215881, Y = -0.386904716491699 },
                     { X = 0.0772285684943199, Y = -0.393302381038666 },
                     { X = 0.051045473664999, Y = -0.39827835559845 },
                     { X = -0.110555179417133, Y = -0.40005549788475 },
                     { X = -0.165290877223015, Y = -0.399344652891159 },
                     { X = -0.188038185238838, Y = -0.399700075387955 },
                     { X = -0.192777216434479, Y = -0.383705884218216 },
                     { X = -0.187801241874695, Y = -0.371976792812347 },
                     { X = -0.179744899272919, Y = -0.355982601642609 },
                     { X = -0.178086251020432, Y = -0.349940329790115 },
                     { X = -0.174295023083687, Y = -0.342831820249557 },
                     { X = -0.174058079719543, Y = -0.335723280906677 },
                     { X = -0.167660400271416, Y = -0.335367858409882 },
                     { X = -0.158656254410744, Y = -0.333590716123581 },
                     { X = -0.15486504137516, Y = -0.330391883850098 },
                     { X = -0.1572345495224, Y = -0.319551348686218 },
                     { X = -0.162921369075775, Y = -0.306045144796371 },
                     { X = -0.169792950153351, Y = -0.286852121353149 },
                     { X = -0.173110270450299, Y = -0.270147068560379 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73 }
               } }
         }
      },
      Merge2_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "KaliWide_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1_2",
               Source = "Output",
            },
            Center = Input { Value = { 0.472865872302793, 0.538681294247041 }, },
            Size = Input { Value = 0.588, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 2699.8, 366.646 } },
      },
      Merge1_2 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "KaliMed_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "BrightnessContrast2_1",
               Source = "Output",
            },
            Center = Input { Value = { 0.452126383080843, 0.58199212788358 }, },
            Size = Input { Value = 0.2, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 2703.83, 316.112 } },
      },
      Merge7_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "_MG_7922_DB_painted_2",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 3025.17, 256.148 } },
      },
      BrightnessContrast2_1 = BrightnessContrast {
         Inputs = {
            Gamma = Input { Value = 1.092, },
            Input = Input {
               SourceOp = "KaliCU_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2702.23, 258.93 } },
      },
      Merge6_1 = Merge {
         Inputs = {
            Blend = Input {
               SourceOp = "Merge6_1Blend",
               Source = "Value",
            },
            Background = Input {
               SourceOp = "Transform3_2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Transform3_1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 3133.36, 256.544 } },
      },
      Merge6_1Blend = BezierSpline {
         SplineColor = { Red = 205, Green = 205, Blue = 205 },
         NameSet = true,
         KeyFrames = {
            [105] = { 0, RH = { 112.666666666667, 0.333333333333333 }, Flags = { Linear = true } },
            [128] = { 1, LH = { 120.333333333333, 0.666666666666667 }, Flags = { Linear = true } }
         }
      },
      Transform3_2 = Transform {
         Inputs = {
            Center = Input { Value = { 0.511885, 0.560117 }, },
            Size = Input { Value = 0.81, },
            Input = Input {
               SourceOp = "StatueMorph_081519_422_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3131.94, 206.995 } },
      },
      Transform3_1_1 = Transform {
         Inputs = {
            Center = Input { Value = { 0.511885, 0.560117 }, },
            Size = Input { Value = 0.81, },
            Input = Input {
               SourceOp = "MsKaliMorph_081519_422_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3239.07, 207.585 } },
      },
      MsKaliMorph_081519_422_1 = MediaIn {
         ExtentSet = true,
         NameSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 1, MEDIA_FORMAT_TYPE = "QuickTime", MEDIA_NAME = "MsKaliMorph_081519_422.mov", MEDIA_HEIGHT = 3913, MEDIA_PATH = "/Volumes/Whammy AV/Dropbox/FFAKE/JOBS dropbox/LOCAL/01 current production/131 The Glorias DB-PG DROPBOX/Animation/Morph_081519/MsKaliMorph_081519_422.mov", MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 23, MEDIA_WIDTH = 6000, MEDIA_NUM_FRAMES = 24, MEDIA_MARK_IN = 0, MEDIA_PAR = 1 } },
         Inputs = {
            EffectMask = Input {
               SourceOp = "BSpline6_1_1",
               Source = "Mask",
            },
            GlobalIn = Input { Value = 105, },
            GlobalOut = Input { Value = 128, },
            MediaID = Input { Value = "cfef4af7-8114-4840-b9fd-c60fa90132fc", },
            Layer = Input { Value = "", },
            ClipTimeEnd = Input { Value = 23, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 3240.59, 164.152 } },
      },
      _MG_7922_DB_painted_2 = MediaIn {
         ExtentSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 1, MEDIA_FORMAT_TYPE = "PSD", MEDIA_LAYER_DESC = { { LAYER_IMG_TYPE = "IMG_TYPE_RGBA", LAYER_COMPONENT_COUNT = 4, LAYER_NAME = "Merged", LAYER_XOFFSET = 0, MEDIA_WIDTH = 3023, LAYER_MERGE_TYPE = "NORMAL", LAYER_YOFFSET = 0, MEDIA_HEIGHT = 3785 } }, MEDIA_NAME = "_MG_7922_DB_painted.[06-06].psd", MEDIA_HEIGHT = 3785, MEDIA_PAR = 1, MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 0, MEDIA_WIDTH = 3023, MEDIA_NUM_FRAMES = 1, MEDIA_MARK_IN = 0, MEDIA_PATH = "/Volumes/Whammy AV/Dropbox/FFAKE/JOBS dropbox/LOCAL/01 current production/131 The Glorias DB-PG DROPBOX/Animation/Morph_081519/_MG_7922_DB_painted.[06-06].psd" }, },
         Inputs = {
            GlobalIn = Input { Value = 74, },
            GlobalOut = Input { Value = 128, },
            MediaID = Input { Value = "e7aafa92-3a67-4d01-983d-4bb4a4c514f4", },
            Layer = Input { Value = "", },
            ClipTimeEnd = Input { Value = 0, },
            HoldFirstFrame = Input { Value = 54, },
            Loop = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 3022.83, 167.498 } },
      },
      StatueMorph_081519_422_1 = MediaIn {
         ExtentSet = true,
         NameSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 1, MEDIA_FORMAT_TYPE = "QuickTime", MEDIA_NAME = "StatueMorph_081519_422.mov", MEDIA_HEIGHT = 3913, MEDIA_PAR = 1, MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 23, MEDIA_WIDTH = 6000, MEDIA_NUM_FRAMES = 24, MEDIA_MARK_IN = 0, MEDIA_PATH = "/Volumes/Whammy AV/Dropbox/FFAKE/JOBS dropbox/LOCAL/01 current production/131 The Glorias DB-PG DROPBOX/Animation/Morph_081519/StatueMorph_081519_422.mov" } },
         Inputs = {
            EffectMask = Input {
               SourceOp = "BSpline6_2",
               Source = "Mask",
            },
            GlobalIn = Input { Value = 105, },
            GlobalOut = Input { Value = 128, },
            MediaID = Input { Value = "5691767b-ebe1-4491-9cb1-e576f7394bf6", },
            Layer = Input { Value = "", },
            ClipTimeEnd = Input { Value = 23, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 3130.6, 164.84 } },
      },
      BSpline6_1_1 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.011, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "BSpline6_1_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { }
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3242.6, 125.446 } },
      },
      BSpline6_1_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [105] = { 0, RH = { 105.666666666667, 0.333333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.0837053582072258, Y = 0.279487192630768 },
                     { X = -0.0279017854481936, Y = 0.245299145579338 },
                     { X = 0.0837053582072258, Y = 0.269230782985687 },
                     { X = 0.1484375, Y = 0.231623932719231 },
                     { X = 0.177455350756645, Y = 0.0264957267791033 },
                     { X = 0.143973216414452, Y = -0.202564105391502 },
                     { X = 0.0457589291036129, Y = -0.346153855323792 },
                     { X = -0.0591517873108387, Y = -0.335897445678711 },
                     { X = -0.150669649243355, Y = -0.141025647521019 },
                     { X = -0.1796875, Y = 0.0948717966675758 },
                     { X = -0.152901783585548, Y = 0.245299145579338 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }
               } },
            [107] = { 1, LH = { 106.333333333333, 0.666666666666667 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.0837053582072258, Y = 0.279487192630768 },
                     { X = -0.0279017854481936, Y = 0.245299145579338 },
                     { X = 0.0837053582072258, Y = 0.269230782985687 },
                     { X = 0.1484375, Y = 0.231623932719231 },
                     { X = 0.160963596633707, Y = 0.0241968762043906 },
                     { X = 0.137976214915201, Y = -0.191069852517939 },
                     { X = 0.0457589291036129, Y = -0.346153855323792 },
                     { X = -0.0591517873108387, Y = -0.335897445678711 },
                     { X = -0.150669649243355, Y = -0.141025647521019 },
                     { X = -0.1796875, Y = 0.0948717966675758 },
                     { X = -0.152901783585548, Y = 0.245299145579338 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }
               } }
         }
      },
      BSpline6_2 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.011, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "BSpline6_2Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { }
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3129.94, 122.143 } },
      },
      BSpline6_2Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [105] = { 0, RH = { 105.666666666667, 0.333333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.0837053582072258, Y = 0.279487192630768 },
                     { X = -0.0279017854481936, Y = 0.245299145579338 },
                     { X = 0.0837053582072258, Y = 0.269230782985687 },
                     { X = 0.1484375, Y = 0.231623932719231 },
                     { X = 0.177455350756645, Y = 0.0264957267791033 },
                     { X = 0.143973216414452, Y = -0.202564105391502 },
                     { X = 0.0457589291036129, Y = -0.346153855323792 },
                     { X = -0.0591517873108387, Y = -0.335897445678711 },
                     { X = -0.150669649243355, Y = -0.141025647521019 },
                     { X = -0.1796875, Y = 0.0948717966675758 },
                     { X = -0.152901783585548, Y = 0.245299145579338 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }
               } },
            [107] = { 1, LH = { 106.333333333333, 0.666666666666667 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.0837053582072258, Y = 0.279487192630768 },
                     { X = -0.0279017854481936, Y = 0.245299145579338 },
                     { X = 0.0837053582072258, Y = 0.269230782985687 },
                     { X = 0.1484375, Y = 0.231623932719231 },
                     { X = 0.160963596633707, Y = 0.0241968762043906 },
                     { X = 0.137976214915201, Y = -0.191069852517939 },
                     { X = 0.0457589291036129, Y = -0.346153855323792 },
                     { X = -0.0591517873108387, Y = -0.335897445678711 },
                     { X = -0.150669649243355, Y = -0.141025647521019 },
                     { X = -0.1796875, Y = 0.0948717966675758 },
                     { X = -0.152901783585548, Y = 0.245299145579338 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }
               } }
         }
      },
      KaliWide_1 = MediaIn {
         ExtentSet = true,
         NameSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 0, MEDIA_FORMAT_TYPE = "DNG", MEDIA_LAYER_DESC = {
               }, MEDIA_NAME = "_MG_[7909-7909].dng", MEDIA_HEIGHT = 3648, MEDIA_PATH = "/Volumes/Whammy AV/Dropbox/FFAKE/JOBS dropbox/LOCAL/01 current production/131 The Glorias DB-PG DROPBOX/AE/SOURCE/KALI RAW STILLS/_MG_[7909-7909].dng", MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 0, MEDIA_WIDTH = 5472, MEDIA_NUM_FRAMES = 1, MEDIA_MARK_IN = 0, MEDIA_PAR = 1 } },
         Inputs = {
            GlobalOut = Input { Value = 902, },
            MediaID = Input { Value = "3e946429-1a08-46cc-8e49-9c53f001c42c", },
            Layer = Input { Value = "", },
            ClipTimeEnd = Input { Value = 0, },
            Loop = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 2503.91, 366.745 } },
      },
      BSpline1_1 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.0064, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "BSpline1_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { }
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2493.12, 233.453 } },
      },
      BSpline1_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.172182828187943, Y = 0.2401063144207 },
                     { X = -0.126477541371158, Y = 0.353514471352628 },
                     { X = -0.0878644602048858, Y = 0.426757235676314 },
                     { X = -0.0185185185185185, Y = 0.446839929119905 },
                     { X = 0.057919621749409, Y = 0.443295924394566 },
                     { X = 0.133569739952719, Y = 0.40431187241583 },
                     { X = 0.157998423955871, Y = 0.365327820437094 },
                     { X = 0.166666666666667, Y = 0.293266391021855 },
                     { X = 0.164302602410316, Y = 0.104252807796001 },
                     { X = 0.151694253087044, Y = -0.00147666863631457 },
                     { X = 0.11308116465807, Y = -0.174542233347893 },
                     { X = 0.0736800655722618, Y = -0.241878315806389 },
                     { X = 0.047675333917141, Y = -0.283815711736679 },
                     { X = 0.0169424749910831, Y = -0.295629054307938 },
                     { X = -0.0169424743892829, Y = -0.334613112817484 },
                     { X = -0.0342789590358734, Y = -0.320437103509903 },
                     { X = -0.0587076433002949, Y = -0.279090374708176 },
                     { X = -0.0910165458917618, Y = -0.237743645906448 },
                     { X = -0.12174940854311, Y = -0.16213820874691 },
                     { X = -0.154846340417862, Y = -0.0345540456473827 },
                     { X = -0.155634358525276, Y = 0.108387477695942 },
                     { X = -0.169030732202943, Y = 0.215888951156383 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 }
               } }
         }
      },
      KaliCU_1 = MediaIn {
         ExtentSet = true,
         NameSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 0, MEDIA_FORMAT_TYPE = "DNG", MEDIA_LAYER_DESC = {
               }, MEDIA_NAME = "_MG_[7922-7922].dng", MEDIA_HEIGHT = 3648, MEDIA_PATH = "/Volumes/Whammy AV/Dropbox/FFAKE/JOBS dropbox/LOCAL/01 current production/131 The Glorias DB-PG DROPBOX/AE/SOURCE/KALI RAW STILLS/_MG_[7922-7922].dng", MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 0, MEDIA_WIDTH = 5472, MEDIA_NUM_FRAMES = 1, MEDIA_MARK_IN = 0, MEDIA_PAR = 1 }, },
         Inputs = {
            EffectMask = Input {
               SourceOp = "BSpline1_1",
               Source = "Mask",
            },
            GlobalOut = Input { Value = 902, },
            MediaID = Input { Value = "5bd49724-cdbf-4a08-b116-49cf713b2a24", },
            Layer = Input { Value = "", },
            ClipTimeEnd = Input { Value = 0, },
            Loop = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 2491.63, 256.512 } },
      },
      BSpline2_1 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.0353, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "BSpline2_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { }
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2485.05, 292.012 } },
      },
      BSpline2_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.268018610299902, Y = 0.217478048309077 },
                     { X = -0.291489361702128, Y = -0.0323224261771748 },
                     { X = -0.284042567014694, Y = -0.166400641202927 },
                     { X = -0.27553191781044, Y = -0.298882693052292 },
                     { X = -0.175531908869743, Y = -0.353152424097061 },
                     { X = -0.0648936182260513, Y = -0.405826032161713 },
                     { X = 0.0851063802838326, Y = -0.397845178842545 },
                     { X = 0.159574463963509, Y = -0.236632078886032 },
                     { X = 0.187234044075012, Y = 0.100159615278244 },
                     { X = 0.103191487491131, Y = 0.226256981492043 },
                     { X = -0.0105565614517488, Y = 0.271097631508499 },
                     { X = -0.106828902187288, Y = 0.285117055445545 },
                     { X = -0.173582979351282, Y = 0.240737435340881 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 0.538, 1.538, 2.538, 3.538, 4.538, 5.538, 6.538, 7.538, 8.538, 9.538, 10.538, 11.538, 12, 12.538, 13.538, 14.538, 15.538, 16.538, 17.538 }
               } }
         }
      },
      KaliMed_1 = MediaIn {
         ExtentSet = true,
         NameSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 0, MEDIA_FORMAT_TYPE = "DNG", MEDIA_LAYER_DESC = {
               }, MEDIA_NAME = "_MG_[7908-7908].dng", MEDIA_HEIGHT = 3648, MEDIA_PATH = "/Volumes/Whammy AV/Dropbox/FFAKE/JOBS dropbox/LOCAL/01 current production/131 The Glorias DB-PG DROPBOX/AE/SOURCE/KALI RAW STILLS/_MG_[7908-7908].dng", MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 0, MEDIA_WIDTH = 5472, MEDIA_NUM_FRAMES = 1, MEDIA_MARK_IN = 0, MEDIA_PAR = 1 }, },
         Inputs = {
            EffectMask = Input {
               SourceOp = "BSpline2_1",
               Source = "Mask",
            },
            GlobalOut = Input { Value = 902, },
            MediaID = Input { Value = "a7bd1e04-f852-46c6-84bf-19a8ab6f2931", },
            Layer = Input { Value = "", },
            ClipTimeEnd = Input { Value = 0, },
            Loop = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 2484.44, 313.206 } },
      }
   }
}
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostMon Sep 09, 2019 11:26 pm

@Bryan Ray: I checked your nodes and the renderer is more or less what I did.

@Sander: where would you change render quality? Are talking about bit depth or something else?
Offline

Sander de Regt

  • Posts: 1371
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: 3D Camera and Continous Rasterization Issue

PostTue Sep 10, 2019 7:36 am

Paul,

I didn't realize you were working in Resolve, so the MediaIns don't import in Fusion, so I can't see exactly what it is you're doing, but from the looks of it it might be the Deltakeyer that's messing up your resolution.

Fusion's merges concatenate, so if you put a transform tool inbetween your last merge and your Deltakeyer you can scale back to 5.0 to reverse you first 0.2 merge back to 1.0 size.
Buttttt... as soon as you feed your image into the keyer everything gets flattened. So the 0.2 is stuck. And you can't get that information back anymore.

Technically I hardly see a difference between your setup and doing it in 2D, since you're moving your camera into a flat plane there will be no perspective changes anyway.
But if you want to do it in 3D space, you will have to make seperate image planes for your various images and scale those back in the same way you scaled back your merges and then line those planes up and move the camera towards them. This way you won't lose any resolution.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostTue Sep 17, 2019 1:45 am

After trying the Texture2D node to scale the coordinates, I've come to the conclusion that it won't do what I'm hoping.

My other idea of adding a resize node after my 2D comp but before the 3D section won't work, because any frame size larger than 14Kx10K will hard crash my system (iMac Pro; 64gb RAM) . Is there an actual frame size limit for Fusion? Or is this just the flakiness of beta software (16.1b3)?

In its simplest form, it could be done 2D, but there is 3D lighting and effects I want to add, so this is kind of a roadblock. As I learn Fusion, I'm seeing what its strengths and limitations are. Thanks to Bryan and Sander for their input.
Offline
User avatar

Chad Capeland

  • Posts: 2334
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: 3D Camera and Continous Rasterization Issue

PostTue Sep 17, 2019 2:25 am

paulgolden wrote:After trying the Texture2D node to scale the coordinates, I've come to the conclusion that it won't do what I'm hoping.

My other idea of adding a resize node after my 2D comp but before the 3D section won't work, because any frame size larger than 14Kx10K will hard crash my system (iMac Pro; 64gb RAM) . Is there an actual frame size limit for Fusion? Or is this just the flakiness of beta software (16.1b3)?

In its simplest form, it could be done 2D, but there is 3D lighting and effects I want to add, so this is kind of a roadblock. As I learn Fusion, I'm seeing what its strengths and limitations are. Thanks to Bryan and Sander for their input.


Resolve doesn't support large images. Fusion does. Not sure why they limit Resolve, but you'd need Fusion to get above 16k.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostTue Sep 17, 2019 6:10 pm

Resolve doesn't support large images. Fusion does. Not sure why they limit Resolve, but you'd need Fusion to get above 16k.


Unfortunately, for me, this doesn't appear to be true. In Fusion Studio 16.1, if I use a Resize node and go above 16K (or thereabouts), Fusion Studio quits immediately. There doesn't seem to be anything different between Resolve Studio and Fusion Studio in this regard. I tried it out in a new comp with a single 5K DNG still that I tried to resize to 20K. If I'm doing it wrong, I'd like to know what it is.

Does anyone know if this is RAM related (I have 64gb) in that folks with more RAM can have bigger frame sizes or is it a limitation of Fusion?
Offline
User avatar

Chad Capeland

  • Posts: 2334
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: 3D Camera and Continous Rasterization Issue

PostTue Sep 17, 2019 7:48 pm

Odd. I can resize an image to 2^15x2^15 just fine. Takes 2^14MB of RAM, but that's not an issue.

If you do a Debug: List OpenGL Device Info, what does it list for the max texture size?
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostTue Sep 17, 2019 10:14 pm

Thanks for the tip on the debug. I have been unable to find location where you invoke the Debug in Fusion 16.1.

This seems to be a known issue:
viewtopic.php?f=32&t=96592

Is there another way for me to get that information?
Offline
User avatar

Chad Capeland

  • Posts: 2334
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: 3D Camera and Continous Rasterization Issue

PostWed Sep 18, 2019 12:14 am

shift-RMM on the cache counter in the lower right.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostWed Sep 18, 2019 5:22 pm

Hi Chad:

Found it. Is this what you wanted to know?:

[ GL Texturing ]
Max Texture Units: 8
Max Pow2 Texture Size: 16384
Max RECT Texture Size: 16384
Max Cubemap Texture Size: 16384
Offline
User avatar

Chad Capeland

  • Posts: 2334
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: 3D Camera and Continous Rasterization Issue

PostWed Sep 18, 2019 7:38 pm

paulgolden wrote:Hi Chad:

Found it. Is this what you wanted to know?:

[ GL Texturing ]
Max Texture Units: 8
Max Pow2 Texture Size: 16384
Max RECT Texture Size: 16384
Max Cubemap Texture Size: 16384


That's lower than I was expecting. Might be related. Especially if it's a hardware limitation instead of software.

If anyone else can test this, might give us more to work with.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

paulgolden

  • Posts: 268
  • Joined: Tue Nov 06, 2012 3:16 am
  • Location: portlandia

Re: 3D Camera and Continous Rasterization Issue

PostThu Sep 19, 2019 1:01 am

What's your setup, Chad? I'm running an iMac Pro with 64gb RAM and Radeon Pro Vega 64 (16gb VRAM) graphics. I'm wondering if this is because I'm running Fusion Studio 16.1b3 beta software?

Return to Fusion

Who is online

Users browsing this forum: egious and 2 guests