Fu Incorrect camera projection depending on scene or rendered image resolution

Moderator: Chad

User avatar
Chad
Fusionator
Posts: 1409
Joined: Fri Aug 08, 2014 1:11 pm
Been thanked: 14 times

Incorrect camera projection depending on scene or rendered image resolution

#1

Post by Chad » Sun Jul 31, 2016 12:31 pm

Fusion version:
at least 7.7 thru 8.2

OS and version:
Windows 8.1 x64

Additional relevant system info:
K6000 364.72

Description of the bug:
The camera projection is sometimes incorrect depending on the resolution of the image or the size of the scene's AABB.

It's very "corner case" but when it occurs users will likely have a hard time finding or addressing the problem.

Severity (Trivial, Minor, Major, Critical)
Major

Please, if possible, provide a Fusion setup to help demonstrate the behaviour, either as an attachment or between

Code: Select all

 tags:[/b][/color]

[codebox=lua file=Untitled.lua]{
	Tools = ordered() {
		Camera3D2 = Camera3D {
			NameSet = true,
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input { Value = 1, },
				AoV = Input {
					SourceOp = "Camera3D2AngleofView",
					Source = "Value",
				},
				FLength = Input { Value = 17.6578616875363, },
				["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
				ControlVis = Input { Value = 1, },
				ShowViewControls = Input { Value = 0, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 9, },
				["MtlStdInputs.MaterialID"] = Input { Value = 12, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, 610.5 } },
		},
		Camera3D2AngleofView = BezierSpline {
			SplineColor = { Red = 8, Green = 229, Blue = 117 },
			NameSet = true,
			KeyFrames = {
				[1] = { 46.2663308, RH = { 1.33333333333333, 46.3553476333333 }, Flags = { Linear = true } },
				[2] = { 46.5333813, LH = { 1.66666666666667, 46.4443644666667 }, Flags = { Linear = true } }
			}
		},
		Merge3D2 = Merge3D {
			NameSet = true,
			Inputs = {
				SceneInput3 = Input {
					SourceOp = "Camera3D2",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "Shape3D3",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 605, 709.5 } },
		},
		Renderer3D2 = Renderer3D {
			NameSet = true,
			Inputs = {
				GlobalOut = Input { Value = 10, },
				Width = Input {
					SourceOp = "Renderer3D2Width",
					Source = "Value",
				},
				Height = Input {
					SourceOp = "Renderer3D2Height",
					Source = "Value",
				},
				Depth = Input { Value = 4, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Merge3D2",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D2" }, },
				RendererType = Input { Value = FuID { "RendererOpenGL" }, },
				["RendererOpenGL.Texturing"] = Input { Value = 1, },
				["RendererOpenGL.TextureDepth"] = Input { Value = 4, },
			},
			ViewInfo = OperatorInfo { Pos = { 715, 709.5 } },
		},
		Renderer3D2Width = BezierSpline {
			SplineColor = { Red = 225, Green = 255, Blue = 0 },
			NameSet = true,
			KeyFrames = {
				[0] = { 8191, RH = { 0.333333333333333, 8191.33333333333 }, Flags = { Linear = true } },
				[1] = { 8192, LH = { 0.666666666666667, 8191.66666666667 }, RH = { 1.66666666666667, 8192 }, Flags = { Linear = true } },
				[3] = { 8192, LH = { 2.33333333333333, 8192 }, Flags = { Linear = true } }
			}
		},
		Renderer3D2Height = BezierSpline {
			SplineColor = { Red = 0, Green = 255, Blue = 255 },
			NameSet = true,
			KeyFrames = {
				[2] = { 4320, RH = { 2.33333333333333, 4323.66666666667 }, Flags = { Linear = true } },
				[3] = { 4331, LH = { 2.66666666666667, 4327.33333333333 }, Flags = { Linear = true } }
			}
		},
		CustomShader3D1 = Indicated.CustomShaderOperator3D {
			CtrlWZoom = false,
			NameSet = true,
			Inputs = {
				EffectMask = Input {
					CustomData = {
						Metadata = {
							Type = "Material",
							Set = "EffectMask",
						}
					},
				},
				ShaderTextInputs = Input { Value = "FuFloat4 EffectMask;\nbool Debug;\nfloat4x4 Projection;\n\n", },
				ShaderTextBody = Input { Value = "float4 Shade(inout FuFragment f)\r\n{\r\n\r\n// float4x4 Projection is from RenderContextGL3D GetProjection()\r\n\r\nfloat4 proj;\r\n\r\nif (Debug)\r\n{\r\n    proj = mul(Projection,float4(100,100,100,1));\r\n    proj.a = 1;\r\n}\r\nelse\r\n{\r\n    proj = mul(Projection,float4((f.Position),1));\r\n    proj /= proj.a;\r\n}\r\n\r\nreturn proj;\r\n\r\n}", },
				RCGroup = Input { Value = 1, },
				RCMatrices = Input { Value = 256, },
				MaterialGroup = Input { Value = 1, },
				BoolGroup = Input { Value = 1, },
				MaterialID = Input { Value = 1, },
				Debug = Input {
					Value = 1,
					CustomData = {
						Metadata = {
							Set = "Debug",
							Type = "Bool",
						}
					},
				},
			},
			ViewInfo = OperatorInfo {
				Pos = { 385, 676.5 },
				Flags = {
					ShowPic = true
				}
			},
			UserControls = ordered() {
				Debug = {
					IC_ControlPage = 0,
					INPID_InputControl = "CheckboxControl",
					LINKID_DataType = "Number",
				},
				EffectMaskLabel = {
					INPID_InputControl = "LabelControl",
					IC_ControlPage = 1,
					ICS_Name = "EffectMask",
					ICD_Width = 0.9,
					INP_Passive = true,
					INP_External = false,
				},
				EffectMaskDeleteButton = {
					LINKID_DataType = "Number",
					INPID_InputControl = "MultiButtonControl",
					INP_DoNotifyChanged = 1,
					MBTNC_AddButton = "X",
					MBTNC_Type = "Toggle",
					ICD_Width = 0.1,
					INP_External = 0,
					ICS_Name = "",
					IC_ControlPage = 1,
					MBTNC_ButtonHeight = 18,
				},
				DebugLabel = {
					INPID_InputControl = "LabelControl",
					IC_ControlPage = 1,
					ICS_Name = "Debug",
					ICD_Width = 0.9,
					INP_Passive = true,
					INP_External = false,
				},
				DebugDeleteButton = {
					LINKID_DataType = "Number",
					INPID_InputControl = "MultiButtonControl",
					INP_DoNotifyChanged = 1,
					MBTNC_AddButton = "X",
					MBTNC_Type = "Toggle",
					ICD_Width = 0.1,
					INP_External = 0,
					ICS_Name = "",
					IC_ControlPage = 1,
					MBTNC_ButtonHeight = 18,
				}
			}
		},
		Shape3D3 = Shape3D {
			Inputs = {
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 12, },
				["SurfaceSphereInputs.Radius"] = Input { Value = 165, },
				["Transform3DOp.Translate.X"] = Input { Value = -11, },
				["Transform3DOp.Translate.Z"] = Input { Value = -280.11133, },
				MaterialInput = Input {
					SourceOp = "CustomShader3D1",
					Source = "MaterialOutput",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 13, },
				["SurfacePlaneInputs.Width"] = Input { Value = 479.1428571, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 11, }
			},
			ViewInfo = OperatorInfo { Pos = { 495, 709.5 } },
		},
		Renderer3D1 = Renderer3D {
			NameSet = true,
			Inputs = {
				GlobalOut = Input { Value = 10, },
				Width = Input { Value = 16384, },
				Height = Input {
					SourceOp = "Renderer3D1Height",
					Source = "Value",
				},
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Merge3D1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1" }, },
				RendererType = Input { Value = FuID { "RendererOpenGL" }, },
				["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 715, 346.5 } },
		},
		Renderer3D1Height = BezierSpline {
			SplineColor = { Red = 0, Green = 255, Blue = 255 },
			NameSet = true,
			KeyFrames = {
				[0] = { 436, RH = { 0.333333333333333, 436.333333333333 }, Flags = { Linear = true } },
				[1] = { 437, LH = { 0.666666666666667, 436.666666666667 }, Flags = { Linear = true } }
			}
		},
		Camera3D1 = Camera3D {
			NameSet = true,
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input {
					SourceOp = "Camera3D1ZOffset",
					Source = "Value",
				},
				AoV = Input { Value = 4.3713163, },
				FLength = Input { Value = 197.660472878583, },
				["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
				ControlVis = Input { Value = 1, },
				ShowViewControls = Input { Value = 0, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 9, },
				["MtlStdInputs.MaterialID"] = Input { Value = 12, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, 280.5 } },
		},
		Camera3D1ZOffset = BezierSpline {
			SplineColor = { Red = 254, Green = 56, Blue = 46 },
			NameSet = true,
			KeyFrames = {
				[0] = { 0, RH = { 0.333333333333333, 0 }, Flags = { Linear = true } },
				[1] = { 0, LH = { 0.666666666666667, 0 }, RH = { 1.33333333333333, 0 }, Flags = { Linear = true } },
				[2] = { 0, LH = { 1.66666666666667, 0 }, RH = { 2.33333333333333, 0.710708907786253 }, Flags = { Linear = true } },
				[3] = { 2.13212672335876, LH = { 2.66666666666667, 1.42141781557251 }, Flags = { Linear = true } }
			}
		},
		Merge3D1 = Merge3D {
			NameSet = true,
			Inputs = {
				SceneInput2 = Input {
					SourceOp = "Shape3D_Blue",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "Camera3D1",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "Shape3D_Yellow",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 605, 346.5 } },
		},
		Shape3D_Yellow = Shape3D {
			NameSet = true,
			Inputs = {
				["SurfacePlaneInputs.Width"] = Input { Value = 50, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 11, },
				["Transform3DOp.Translate.Z"] = Input { Value = -280.11133, },
				Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0, },
				["MtlStdInputs.MaterialID"] = Input { Value = 13, },
				["SurfaceSphereInputs.Radius"] = Input {
					SourceOp = "Shape3D_YellowRadius",
					Source = "Value",
				},
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 12, }
			},
			ViewInfo = OperatorInfo { Pos = { 495, 412.5 } },
		},
		Shape3D_YellowRadius = BezierSpline {
			SplineColor = { Red = 203, Green = 39, Blue = 245 },
			NameSet = true,
			KeyFrames = {
				[1] = { 165, RH = { 1.33333333333333, 164.666666666667 }, Flags = { Linear = true } },
				[2] = { 164, LH = { 1.66666666666667, 164.333333333333 }, Flags = { Linear = true } }
			}
		},
		Shape3D_Blue = Shape3D {
			NameSet = true,
			Inputs = {
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 8, },
				["Transform3DOp.Translate.Z"] = Input { Value = -10.4970179, },
				Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
				["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0, },
				["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0, },
				["MtlStdInputs.MaterialID"] = Input { Value = 11, },
				["SurfaceSphereInputs.Radius"] = Input { Value = 0.3857143, },
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 10, }
			},
			ViewInfo = OperatorInfo { Pos = { 495, 346.5 } },
		},
		Note2 = Note {
			Inputs = {
				Comments = Input { Value = "View Renderer3D1.\r\n\r\nFrame 0: Expected result.\r\n\r\nFrame 1: Renderer3D2's width is increased to 2^13.  Different projections on left and right halves of image.\r\n\r\nFrame 2: Camera3D2's AoV is increased until plane in no longer clipped on right side.  Expected result.\r\n\r\nFrame3: Renderer3D2's height is increased until the plane is clipped again.  Different projections on left and right halves of image.\r\n\r\n", }
			},
			ViewInfo = StickyNoteInfo {
				Pos = { 825, 612.5 },
				Flags = {
					Expanded = true
				},
				Size = { 196, 201.388 }
			},
		},
		Note1 = Note {
			Inputs = {
				Comments = Input { Value = "View Renderer3D1.\r\n\r\nFrame 0: Expected result.\r\n\r\nFrame 1: Renderer3D1's height is increased by 1.  The image is vertically stretched.\r\n\r\nFrame 2: Shape3D_Yellow's radius is reduced by 1.  Expected result.\r\n\r\nFrame 3: Camera3D1's Z is reduced by 1.5. The image is vertically stretched.\r\n\r\nIt seems to be all or nothing, I don't see a case where there is an in-between projection.  \r\n\r\nOnly happens in OpenGL Renderer.", }
			},
			ViewInfo = StickyNoteInfo {
				Pos = { 825, 247.5 },
				Flags = {
					Expanded = true
				},
				Size = { 216.506, 194.004 }
			},
		},
		Ellipse1 = EllipseMask {
			Inputs = {
				OutputSize = Input { Value = FuID { "Custom" }, },
				MaskWidth = Input { Value = 1920, },
				MaskHeight = Input { Value = 1080, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Center = Input { Value = { 0.380706921944035, 0.5 }, },
				Width = Input { Value = 0.332245610372475, },
				Height = Input { Value = 0.332245610372475, },
			},
			ViewInfo = OperatorInfo { Pos = { 385, 973.5 } },
		},
		Note3 = Note {
			Inputs = {
				Comments = Input { Value = "View Renderer3D3.\n\nFrame 0: Expected result.\n\nFrame 1: Shape3D4's radius is reduced. Expected result.\n\nFrame 2: Shape3D4's radius is reduced. Ellipse is squeezed horizontally.\n\nFrame 3: Shape3D4 is rotated in Z by 35 degrees.  Expected result.\n\nFrame 4: Shape3D4 is rotated in Z by 32 degrees.  Ellipse is squeezed horizontally.\n\nFrame 5: Camera3D3 is translated in Z by 5.  Expected result.\n\nIf I had to guess, watching from the Top view, when the AABB gets clipped horizontally by the camera frustum, it works fine.    Otherwise, the projection is based on the AABB somehow.\n", }
			},
			ViewInfo = StickyNoteInfo {
				Pos = { 825, 1006.5 },
				Flags = {
					Expanded = true
				},
				Size = { 197, 235.3 }
			},
		},
		Camera3D3 = Camera3D {
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input {
					SourceOp = "Camera3D3ZOffset",
					Source = "Value",
				},
				AoV = Input { Value = 27.4, },
				FLength = Input { Value = 11.0602979137621, },
				["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
				FilmBack = Input { Value = 1, },
				FilmGate = Input { Value = FuID { "HD" }, },
				ApertureW = Input { Value = 0.3775, },
				ApertureH = Input { Value = 0.2123, },
				ResolutionGateFit = Input { Value = FuID { "Inside" }, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, },
				["MtlStdInputs.MaterialID"] = Input { Value = 6, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, 1039.5 } },
		},
		Camera3D3ZOffset = BezierSpline {
			SplineColor = { Red = 254, Green = 56, Blue = 46 },
			NameSet = true,
			KeyFrames = {
				[4] = { 5.1, RH = { 4.33333333333333, 4.93333333333333 }, Flags = { Linear = true } },
				[5] = { 4.6, LH = { 4.66666666666667, 4.76666666666667 }, Flags = { Linear = true } }
			}
		},
		CustomShader3D1_9 = Indicated.CustomShaderOperator3D {
			Inputs = {
				ShaderTextInputs = Input { Value = "FuFloat4 EffectMask;\nFuFloat4 BgMtl;\nFuFloat4 FgMtl;\nfloat4x4 Projection;\n\n", },
				ShaderTextBody = Input { Value = "float4 Shade(inout FuFragment f)\r\n{\r\n\r\n// float4x4 Projection is from RenderContextGL3D GetProjection()\r\n\r\nfloat4 proj = mul(Projection,float4((f.Position),1));\r\n\r\nproj /= proj.a;\r\n\r\nf.TexCoord0 = proj.rgb * .5 + .5;\r\n\r\nfloat mask = EffectMask.Shade(f).a;\r\n\r\nfloat4 ret = lerp(BgMtl.Shade(f), FgMtl.Shade(f), mask);\r\n\r\nreturn ret;\r\n\r\n}", },
				RCGroup = Input { Value = 1, },
				RCMatrices = Input { Value = 256, },
				MaterialGroup = Input { Value = 1, },
				MaterialID = Input { Value = 1, },
				EffectMask = Input {
					SourceOp = "Ellipse1",
					Source = "Mask",
					CustomData = {
						Metadata = {
							Type = "Material",
							Set = "EffectMask",
						}
					},
				},
				BgMtl = Input {
					SourceOp = "Blinn1",
					Source = "MaterialOutput",
					CustomData = {
						Metadata = {
							Type = "Material",
							Set = "BgMtl",
						}
					},
				},
				FgMtl = Input {
					SourceOp = "Blinn2",
					Source = "MaterialOutput",
					CustomData = {
						Metadata = {
							Type = "Material",
							Set = "FgMtl",
						}
					},
				},
			},
			ViewInfo = OperatorInfo {
				Pos = { 385, 1072.5 },
				Flags = {
					ShowPic = true
				}
			},
			UserControls = ordered() {
				EffectMask = {
					{
						LINKID_DataType = "MtlGraph3D"
					},
					{
						LINKID_DataType = "Image"
					},
					{
						LINKID_AllowedDataType = "Image"
					},
					{
						LINKID_AllowedDataType = "Mask"
					},
					LINK_Main = 3,
					INP_AcceptsGLImages = true,
					INPID_InputControl = "ImageControl",
					IC_ControlPage = 0,
					INP_Required = false,
					INP_AcceptsMasks = true,
				},
				BgMtl = {
					{
						LINKID_DataType = "MtlGraph3D"
					},
					{
						LINKID_DataType = "Image"
					},
					{
						LINKID_AllowedDataType = "Image"
					},
					{
						LINKID_AllowedDataType = "Mask"
					},
					LINK_Main = 1,
					INP_AcceptsGLImages = true,
					INPID_InputControl = "ImageControl",
					IC_ControlPage = 0,
					INP_Required = false,
					INP_AcceptsMasks = true,
				},
				FgMtl = {
					{
						LINKID_DataType = "MtlGraph3D"
					},
					{
						LINKID_DataType = "Image"
					},
					{
						LINKID_AllowedDataType = "Image"
					},
					{
						LINKID_AllowedDataType = "Mask"
					},
					LINK_Main = 2,
					INP_AcceptsGLImages = true,
					INPID_InputControl = "ImageControl",
					IC_ControlPage = 0,
					INP_Required = false,
					INP_AcceptsMasks = true,
				},
				EffectMaskLabel = {
					INPID_InputControl = "LabelControl",
					IC_ControlPage = 1,
					ICS_Name = "EffectMask",
					ICD_Width = 0.9,
					INP_Passive = true,
					INP_External = false,
				},
				EffectMaskDeleteButton = {
					LINKID_DataType = "Number",
					INPID_InputControl = "MultiButtonControl",
					INP_DoNotifyChanged = 1,
					MBTNC_AddButton = "X",
					MBTNC_Type = "Toggle",
					ICD_Width = 0.1,
					INP_External = 0,
					ICS_Name = "",
					IC_ControlPage = 1,
					MBTNC_ButtonHeight = 18,
				},
				BgMtlLabel = {
					INPID_InputControl = "LabelControl",
					IC_ControlPage = 1,
					ICS_Name = "BgMtl",
					ICD_Width = 0.9,
					INP_Passive = true,
					INP_External = false,
				},
				BgMtlDeleteButton = {
					LINKID_DataType = "Number",
					INPID_InputControl = "MultiButtonControl",
					INP_DoNotifyChanged = 1,
					MBTNC_AddButton = "X",
					MBTNC_Type = "Toggle",
					ICD_Width = 0.1,
					INP_External = 0,
					ICS_Name = "",
					IC_ControlPage = 1,
					MBTNC_ButtonHeight = 18,
				},
				FgMtlLabel = {
					INPID_InputControl = "LabelControl",
					IC_ControlPage = 1,
					ICS_Name = "FgMtl",
					ICD_Width = 0.9,
					INP_Passive = true,
					INP_External = false,
				},
				FgMtlDeleteButton = {
					LINKID_DataType = "Number",
					INPID_InputControl = "MultiButtonControl",
					INP_DoNotifyChanged = 1,
					MBTNC_AddButton = "X",
					MBTNC_Type = "Toggle",
					ICD_Width = 0.1,
					INP_External = 0,
					ICS_Name = "",
					IC_ControlPage = 1,
					MBTNC_ButtonHeight = 18,
				}
			}
		},
		Blinn2 = MtlBlinn {
			Inputs = {
				["Diffuse.Color.Green"] = Input { Value = 0.997167888876068, },
				["Diffuse.Color.Blue"] = Input { Value = 0.55179369829409, },
				MaterialID = Input { Value = 4, },
			},
			ViewInfo = OperatorInfo { Pos = { 220, 1072.5 } },
		},
		Renderer3D3 = Renderer3D {
			Inputs = {
				GlobalOut = Input { Value = 10, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Merge3D3",
					Source = "Output",
				},
				RendererType = Input { Value = FuID { "RendererOpenGL" }, },
				["RendererOpenGL.LightingEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 715, 1105.5 } },
		},
		Merge3D3 = Merge3D {
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "Shape3D4",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "Camera3D3",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "DirectionalLight1",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "AmbientLight1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 605, 1105.5 } },
		},
		Shape3D4 = Shape3D {
			NameSet = true,
			Inputs = {
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
				["Transform3DOp.Rotate.X"] = Input {
					SourceOp = "Shape3D4XRotation",
					Source = "Value",
				},
				["Transform3DOp.Rotate.Z"] = Input {
					SourceOp = "Shape3D4ZRotation",
					Source = "Value",
				},
				Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
				MaterialInput = Input {
					SourceOp = "CustomShader3D1_9",
					Source = "MaterialOutput",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 5, },
				["SurfaceSphereInputs.Radius"] = Input {
					SourceOp = "Shape3D4Radius",
					Source = "Value",
				},
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 2, }
			},
			ViewInfo = OperatorInfo { Pos = { 495, 1105.5 } },
		},
		Shape3D4XRotation = BezierSpline {
			SplineColor = { Red = 255, Green = 128, Blue = 128 },
			NameSet = true,
			KeyFrames = {
				[3] = { 0, RH = { 3.33333333333333, 10.6666666666667 }, Flags = { Linear = true } },
				[4] = { 32, LH = { 3.66666666666667, 21.3333333333333 }, Flags = { Linear = true } }
			}
		},
		Shape3D4ZRotation = BezierSpline {
			SplineColor = { Red = 128, Green = 128, Blue = 255 },
			NameSet = true,
			KeyFrames = {
				[2] = { 0, RH = { 2.33333333333333, 11.6666666666667 }, Flags = { Linear = true } },
				[3] = { 35, LH = { 2.66666666666667, 23.3333333333333 }, Flags = { Linear = true } }
			}
		},
		Shape3D4Radius = BezierSpline {
			SplineColor = { Red = 203, Green = 39, Blue = 245 },
			NameSet = true,
			KeyFrames = {
				[0] = { 4, RH = { 0.333333333333333, 3.1863492 }, Flags = { Linear = true } },
				[1] = { 1.5590476, LH = { 0.666666666666667, 2.3726984 }, RH = { 1.33333333333333, 1.4590476 }, Flags = { Linear = true } },
				[2] = { 1.2590476, LH = { 1.66666666666667, 1.3590476 }, Flags = { Linear = true } }
			}
		},
		Blinn1 = MtlBlinn {
			Inputs = {
				["Diffuse.Color.Green"] = Input { Value = 0.55179369829409, },
				["Diffuse.Color.Blue"] = Input { Value = 0.721745881074082, },
				MaterialID = Input { Value = 3, },
			},
			ViewInfo = OperatorInfo { Pos = { 220, 1138.5 } },
		},
		DirectionalLight1 = LightDirectional {
			Inputs = {
				["Transform3DOp.Rotate.X"] = Input { Value = 23.6363636, },
				["Transform3DOp.Rotate.Y"] = Input { Value = 56.3636364, },
				["Transform3DOp.Rotate.Z"] = Input { Value = 80, },
				Intensity = Input { Value = 0.5, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, 1171.5 } },
		},
		AmbientLight1 = LightAmbient {
			Inputs = {
				Intensity = Input { Value = 0.2, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, 1204.5 } },
		}
	}
}[/codebox]

User avatar
Chad
Fusionator
Posts: 1409
Joined: Fri Aug 08, 2014 1:11 pm
Been thanked: 14 times

Re: Incorrect camera projection depending on scene or rendered image resolution

#2

Post by Chad » Sun Aug 06, 2017 4:38 pm

Still issue with 9.0 build 13
Also tested with GTX 1080, same result