Page 1 of 1

3D Camera and Continous Rasterization Issue

PostPosted: Sat Sep 07, 2019 2:28 am
by paulgolden
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...

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Sat Sep 07, 2019 7:45 am
by Sander de Regt
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)

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Sat Sep 07, 2019 2:33 pm
by Bryan Ray
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Sat Sep 07, 2019 8:47 pm
by paulgolden
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Sun Sep 08, 2019 4:54 pm
by Mario Kalogjera
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

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Sun Sep 08, 2019 6:32 pm
by Sander de Regt
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Mon Sep 09, 2019 4:33 am
by paulgolden
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Mon Sep 09, 2019 11:24 pm
by paulgolden
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 } },
      }
   }
}

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Mon Sep 09, 2019 11:26 pm
by paulgolden
@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?

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Tue Sep 10, 2019 7:36 am
by Sander de Regt
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Tue Sep 17, 2019 1:45 am
by paulgolden
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Tue Sep 17, 2019 2:25 am
by Chad Capeland
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Tue Sep 17, 2019 6:10 pm
by paulgolden
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?

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Tue Sep 17, 2019 7:48 pm
by Chad Capeland
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?

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Tue Sep 17, 2019 10:14 pm
by paulgolden
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?

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Wed Sep 18, 2019 12:14 am
by Chad Capeland
shift-RMM on the cache counter in the lower right.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Wed Sep 18, 2019 5:22 pm
by paulgolden
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

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Wed Sep 18, 2019 7:38 pm
by Chad Capeland
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.

Re: 3D Camera and Continous Rasterization Issue

PostPosted: Thu Sep 19, 2019 1:01 am
by paulgolden
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?