IMPORTANT UPDATE! May 12 13, 2026



Tomorrow Today Last Wednesday, on the 13th of May, the manual Patrons group (the one that gives you your green username AND access to dedicated Patrons spaces on WSL) will be has been DELETED.

This means that your access to those spaces will be has been revoked until you connect your Patreon account to WSL using the link below, which will give you access to the NEW, future-proof Patrons+++ group.

With the imminent release of ZEPPO BETA 2 - tentatively planned for released Friday today yesterday (!!) - I wouldn't dawdle... with Beta 2 (i.e. all my late nights in the past month), Zeppo has become something truly special, battle-tested and multi-user hardened in an actual production.

Yes, there will be a Reactor release eventually, and no, it won't have all the bells and whistles - those are for Patrons, because they are the ones keeping WSL afloat, which is still only barely these days...

I'd better get back to prepping that done did release then!

Thank you,

Pieter


OpenGL Render with Transparency Sorted (accurate) AND Shadows?

User avatar
KleinerKater
Posts: 21
Joined: 4 years ago
Reactions score: 0

OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#1

Unread post by KleinerKater »

Hello,

I've been reading the forum for some time and found all the answers I was looking for (consering DaVinci Resolve Fusion...) until now.

I'm trying to create some clouds using the Fusion tab in DaVinci Resolve 17.4.4 with the shown fusion composition which leads to the result shown in the picture whi some unsatisfying artefacts where the particles end (highlighted with the red arrows). For rendering I use a Open GL Renderer method and worked out by try and error, that Texture > Transparency > Z Buffer (Fast) leads to the shown result, while Texture > Transparency > Sorted (accurate) leads to more realistic clouds. Unfortunally the Sorted (accurate) does not allow me to use shadows (consol msg: "warning - shadows will be disabled (reason: sorted mode does not support shadows - turn sorted mode off"), which I also need in the project.
Rendertype Software seems also to work for both at the same time with more than two days rendertime for 2 min video.

Can you recommand some settings or am I missing something important? Or is there a way to render with different renders, cut out the result and paste it into another scene? If I had a wish, it would be OpenGL Renderer with Transparency Sorted (accurate) AND Shadows.

I tried my best basicly the whole Saturday without any progress. Looking forward hear some suggesting. Thank you!

Code: Select all

{
	Tools = ordered() {
		Renderer3D1 = Renderer3D {
			CtrlWZoom = false,
			CustomData = {
				ToolVersion = 2,
			},
			Inputs = {
				GlobalOut = Input { Value = 299, },
				Width = Input { Value = 3840, },
				Height = Input { Value = 2160, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Mrg_translate",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1" }, },
				RendererType = Input { Value = FuID { "RendererOpenGL" }, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
				["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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
				["RendererOpenGL.TransparencySorting"] = Input { Value = 1, },
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 1089.33, 178.273 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		},
		Mrg_translate = Merge3D {
			NameSet = true,
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "pRender",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmbientLight1",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "Camera3D1",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "Shape3D1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 938, 175.848 } },
		},
		Camera3D1 = Camera3D {
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input { Value = 5.71950385690398, },
				AoV = Input { Value = 19.2642683071402, },
				["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
				FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
				ApertureW = Input { Value = 0.831496062992126, },
				ApertureH = Input { Value = 0.467716535433071, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
				["MtlStdInputs.MaterialID"] = Input { Value = 2, },
			},
			ViewInfo = OperatorInfo { Pos = { 936.667, 236.454 } },
		},
		pRender = pRender {
			NameSet = true,
			Inputs = {
				_MotionBlurWarning = Input { Disabled = true, },
				GlobalOut = Input { Value = 299, },
				Width = Input { Value = 3840, },
				Height = Input { Value = 2160, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				OutputMode = Input { Disabled = true, },
				PreGenerateFrames = Input { Value = 115, },
				KillParticlesThatLeaveTheView = Input { Value = 1, },
				["MaterialID.Nest"] = Input { Value = 1, },
				["MaterialID.MaterialID"] = Input { Value = 1, },
				["ObjectID.Nest"] = Input { Value = 1, },
				["ObjectID.ObjectID"] = Input { Value = 1, },
				Translation = Input { Value = 1, },
				Rotation = Input { Value = 1, },
				Input = Input {
					SourceOp = "pTurbulence",
					Source = "Output",
				},
				CommentsNest = Input { Value = 0, },
				FrameRenderScriptNest = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 797.376, 174.934 } },
		},
		pTurbulence = pTurbulence {
			ID = 4,
			NameSet = true,
			Inputs = {
				XStrength = Input { Value = 0.2, },
				YStrength = Input { Value = 0.2, },
				StrengthOverLifeLUT = Input {
					SourceOp = "pTurbulenceStrengthOverLifeLUT",
					Source = "Value",
				},
				Density = Input { Value = 75, },
				Input = Input {
					SourceOp = "pEmitter",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 670.15, 178.778 } },
		},
		pTurbulenceStrengthOverLifeLUT = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			NameSet = true,
		},
		AmbientLight1 = LightAmbient {
			ViewInfo = OperatorInfo { Pos = { 884, 115.515 } },
		},
		pEmitter = pEmitter {
			ID = 6,
			NameSet = true,
			Inputs = {
				Number = Input { Value = 0.3, },
				Lifespan = Input { Value = 350, },
				VelocityControls = Input { Value = 1, },
				Velocity = Input { Value = 0.2, },
				VelocityVariance = Input { Value = 0.1, },
				Angle = Input { Value = 180, },
				RotationControls = Input { Value = 1, },
				SpinControls = Input { Value = 1, },
				SpinZVariance = Input { Value = 0.5, },
				Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
				["ParticleStyleBitmap.DropToolsHere"] = Input {
					SourceOp = "FastNoise1_1",
					Source = "Output",
				},
				Region = Input { Value = FuID { "CubeRgn" }, },
				["ParticleStyle.SizeControls"] = Input { Value = 1, },
				["ParticleStyle.Size"] = Input { Value = 2, },
				["ParticleStyle.SizeVariance"] = Input { Value = 0.1, },
				["ParticleStyle.SizeOverLife"] = Input {
					SourceOp = "pEmitterSizeOverLife",
					Source = "Value",
				},
				["ParticleStyle.BlurOverLife"] = Input {
					SourceOp = "pEmitterBlurOverLife2D",
					Source = "Value",
				},
				["CubeRgn.Height"] = Input { Value = 10, },
				["CubeRgn.Depth"] = Input { Value = 10, },
				["CubeRgn.Rotate.Y"] = Input { Value = 90, },
			},
			ViewInfo = OperatorInfo { Pos = { 532.356, 175.289 } },
		},
		pEmitterSizeOverLife = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
		},
		pEmitterBlurOverLife2D = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
		},
		FastNoise1_1 = FastNoise {
			Inputs = {
				GlobalOut = Input { Value = 299, },
				Width = Input { Value = 500, },
				Height = Input { Value = 500, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Detail = Input { Value = 5, },
				Seethe = Input { Value = 0.1, },
				SeetheRate = Input { Value = 0.1, },
				Type = Input { Value = 1, },
				GradientType = Input { Value = 5, },
				Start = Input { Value = { 0.5, 0.5 }, },
				End = Input { Value = { 0.915632754342432, 0.5 }, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.882352941176471, 0.882352941176471, 0.882352941176471, 1 },
							[1] = { 0, 0, 0, 0 }
						}
					},
				},
			},
			ViewInfo = OperatorInfo { Pos = { 411.361, 176.028 } },
		},
		Shape3D1 = Shape3D {
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input { Value = -4.57225446961216, },
				MaterialInput = Input {
					SourceOp = "DaySky1",
					Source = "Output",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 10, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { 928, 47.3636 } },
		},
		DaySky1 = DaySky {
			Inputs = {
				GlobalOut = Input { Value = 299, },
				Width = Input { Value = 3840, },
				Height = Input { Value = 2160, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
			},
			ViewInfo = OperatorInfo { Pos = { 799.333, 44.9394 } },
		}
	},
	ActiveTool = "Renderer3D1"
}

Image
by Midgardsormr » 4 years ago
If the clouds need to neither cast nor receive shadows, then it's pretty easy. Just render it in layers—the clouds by themselves with one Renderer3D, and everything else in another. I think I mislead you a little with the way I set up the camera in my version. I forgot that the proper set-up would be a second, static camera for the image plane instead of an instance. The background would have moved with the camera there. My bad.

In order for the shadows to work at all, you'll need to turn on the Two Sided switch in the Ground's Material tab. Or flip it over. Right now, the normals are facing downward, so shadow rays don't register a hit. The only reason you see its color at all is because of the ambient light. Without that, it would just be black.

You've also got some particles popping into existence. If you turn up the Fade In control in the pEmitter's Style tab, they'll fade in slowly instead of suddenly appearing, which should help that.

Give this a look:

Code: Select all

{
	Tools = ordered() {
		DaySky = DaySky {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
			},
			ViewInfo = OperatorInfo { Pos = { 55, -115.5 } },
		},
		Ground = Shape3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = -1.07251445414342, },
				["Transform3DOp.Translate.Z"] = Input { Value = -2.73891888971204, },
				["Transform3DOp.Rotate.X"] = Input { Value = 90, },
				["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0.517647058823529, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.411764705882353, },
				["MtlStdInputs.UseTwoSidedLighting"] = Input { Value = 1, },
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 20, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.BlendMode.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { 165, -82.5 } },
		},
		Plane = Shape3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = 8.98764427211799, },
				["Transform3DOp.Translate.Z"] = Input { Value = -10.22, },
				MaterialInput = Input {
					SourceOp = "DaySky",
					Source = "Output",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 20, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { 165, -115.5 } },
		},
		SkyScraper = Shape3D {
			NameSet = true,
			Inputs = {
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 5, },
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 8, },
				["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 7, },
				["Transform3DOp.Translate.Y"] = Input { Value = -0.378, },
				["Transform3DOp.Translate.Z"] = Input { Value = -5.07, },
				Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
				["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0.756862745098039, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.137254901960784, },
				["MtlStdInputs.Specular.Nest"] = Input { Value = 1, },
				["MtlStdInputs.MaterialID"] = Input { Value = 4, },
				["SurfaceCylinderInputs.Height"] = Input { Value = 15, },
				["SurfaceCylinderInputs.Visibility.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.Matte.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 6, }
			},
			ViewInfo = OperatorInfo { Pos = { 165, -49.5 } },
		},
		Instance_Mrg_translate_1_1 = Merge3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			SourceOp = "Mrg_translate_1_1",
			Inputs = {
				["Transform3DOp.Translation"] = Input { },
				["Transform3DOp.Rotation"] = Input { },
				["Transform3DOp.PivotNest"] = Input { },
				["Transform3DOp.ScaleNest"] = Input { },
				["Transform3DOp.TargetNest"] = Input { },
				SceneInput1 = Input {
					SourceOp = "Camera3D1_1_1",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "SkyScraper",
					Source = "Output",
				},
				CommentsNest = Input { },
				FrameRenderScriptNest = Input { },
				StartRenderScripts = Input { },
				EndRenderScripts = Input { },
				SceneInput3 = Input {
					SourceOp = "SpotLight2",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "AmLightShadow",
					Source = "Output",
				},
				SceneInput5 = Input {
					SourceOp = "Plane",
					Source = "Output",
				},
				SceneInput6 = Input {
					SourceOp = "Ground",
					Source = "Output",
				},
				SceneInput7 = Input {
					SourceOp = "AmbLight_general",
					Source = "Output",
				},
				SceneInput8 = Input { }
			},
			ViewInfo = OperatorInfo { Pos = { 330, -16.5 } },
		},
		background_layer = Renderer3D {
			NameSet = true,
			CustomData = {
				ToolVersion = 2,
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Instance_Mrg_translate_1_1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1_1_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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, -16.5 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		},
		AmbLight_general = LightAmbient {
			NameSet = true,
			Inputs = {
				Intensity = Input { Value = 0.2, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 16.5 } },
		},
		SpotLight2 = LightSpot {
			Inputs = {
				["Transform3DOp.Translate.X"] = Input { Value = -21.4191256189316, },
				["Transform3DOp.Translate.Y"] = Input { Value = 8.9288939801351, },
				["Transform3DOp.Translate.Z"] = Input { Value = -3.88157251605628, },
				["Transform3DOp.UseTarget"] = Input { Value = 1, },
				["Transform3DOp.Target.Y"] = Input { Value = 1.28859926368877, },
				["Transform3DOp.Target.Z"] = Input { Value = -4.78, },
				["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowsEnabled"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowMapSize"] = Input { Value = 8192, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 49.5 } },
		},
		AmLightShadow = LightAmbient {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				Intensity = Input { Value = 0.488, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 82.5 } },
		},
		Camera3D1_1_1 = Camera3D {
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.X"] = Input {
					SourceOp = "Camera3D1_1_1XOffset",
					Source = "Value",
				},
				["Transform3DOp.Translate.Y"] = Input {
					SourceOp = "Camera3D1_1_1YOffset",
					Source = "Value",
				},
				["Transform3DOp.Translate.Z"] = Input {
					SourceOp = "Camera3D1_1_1ZOffset",
					Source = "Value",
				},
				["Transform3DOp.UseTarget"] = Input { Value = 1, },
				["Transform3DOp.Target.Y"] = Input {
					SourceOp = "Camera3D1_1_1YTargetPosition",
					Source = "Value",
				},
				AoV = Input { Value = 19.2642683071402, },
				["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
				FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
				ApertureW = Input { Value = 0.831496062992126, },
				ApertureH = Input { Value = 0.467716535433071, },
				IDepth = Input { Value = 4.9, },
				["SurfacePlaneInputs.Visibility.IsUnseenByCameras"] = Input { Value = 1, },
				["SurfacePlaneInputs.Lighting.IsShadowReceiver"] = Input { Value = 0, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
				["MtlStdInputs.MaterialID"] = Input { Value = 2, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 115.5 } },
		},
		Camera3D1_1_1XOffset = BezierSpline {
			SplineColor = { Red = 250, Green = 59, Blue = 49 },
			KeyFrames = {
				[0] = { 0, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1YOffset = BezierSpline {
			SplineColor = { Red = 252, Green = 131, Blue = 47 },
			KeyFrames = {
				[0] = { 2.392, RH = { 40, 4.30170808939403 }, Flags = { Linear = true } },
				[120] = { 8.12112426818208, LH = { 80, 6.21141617878805 }, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1ZOffset = BezierSpline {
			SplineColor = { Red = 254, Green = 207, Blue = 46 },
			KeyFrames = {
				[0] = { 5.71950385690398, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1YTargetPosition = BezierSpline {
			SplineColor = { Red = 252, Green = 177, Blue = 201 },
			CtrlWZoom = false,
			KeyFrames = {
				[0] = { 0.899, RH = { 40, 2.76366666666667 }, Flags = { Linear = true } },
				[120] = { 6.493, LH = { 80, 4.62833333333333 }, Flags = { Linear = true } }
			}
		},
		Merge1_1 = Merge {
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				Background = Input {
					SourceOp = "background_layer",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "clouds_layer",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 825, 181.5 } },
		},
		Merge3D2 = Merge3D {
			Inputs = {
				PassThroughLights = Input { Value = 1, },
				SceneInput1 = Input {
					SourceOp = "pRend",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmLightShadow",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 220, 181.5 } },
		},
		pRend = pRender {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				_MotionBlurWarning = Input { Disabled = true, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				OutputMode = Input { Disabled = true, },
				PreGenerateFrames = Input { Value = 115, },
				KillParticlesThatLeaveTheView = Input { Value = 1, },
				["MaterialID.Nest"] = Input { Value = 1, },
				["MaterialID.MaterialID"] = Input { Value = 1, },
				["ObjectID.Nest"] = Input { Value = 1, },
				["ObjectID.ObjectID"] = Input { Value = 1, },
				Translation = Input { Value = 1, },
				Rotation = Input { Value = 1, },
				Input = Input {
					SourceOp = "pTurb",
					Source = "Output",
				},
				CommentsNest = Input { Value = 0, },
				FrameRenderScriptNest = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 181.5 } },
		},
		FastNoise = FastNoise {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				Width = Input { Value = 500, },
				Height = Input { Value = 500, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Detail = Input { Value = 5, },
				Seethe = Input { Value = 0.1, },
				SeetheRate = Input { Value = 0.1, },
				Type = Input { Value = 1, },
				GradientType = Input { Value = 5, },
				Start = Input { Value = { 0.5, 0.5 }, },
				End = Input { Value = { 0.915632754342432, 0.5 }, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.882352941176471, 0.882352941176471, 0.882352941176471, 1 },
							[1] = { 0, 0, 0, 0 }
						}
					},
				},
			},
			ViewInfo = OperatorInfo { Pos = { -220, 181.5 } },
		},
		pTurb = pTurbulence {
			ID = 12,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				XStrength = Input { Value = 0.2, },
				YStrength = Input { Value = 0.2, },
				StrengthOverLifeLUT = Input {
					SourceOp = "pTurbulence_1_1StrengthOverLifeLUT",
					Source = "Value",
				},
				Density = Input { Value = 75, },
				Input = Input {
					SourceOp = "pEmit",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 0, 181.5 } },
		},
		pTurbulence_1_1StrengthOverLifeLUT = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		pEmit = pEmitter {
			ID = 14,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				Number = Input { Value = 1, },
				Lifespan = Input { Value = 350, },
				VelocityControls = Input { Value = 1, },
				Velocity = Input { Value = 0.2, },
				VelocityVariance = Input { Value = 0.1, },
				Angle = Input { Value = 180, },
				RotationControls = Input { Value = 1, },
				SpinControls = Input { Value = 1, },
				SpinZVariance = Input { Value = 0.5, },
				Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
				["ParticleStyleBitmap.DropToolsHere"] = Input {
					SourceOp = "FastNoise",
					Source = "Output",
				},
				Region = Input { Value = FuID { "CubeRgn" }, },
				["ParticleStyle.SizeControls"] = Input { Value = 1, },
				["ParticleStyle.Size"] = Input { Value = 2, },
				["ParticleStyle.SizeVariance"] = Input { Value = 0.1, },
				["ParticleStyle.SizeOverLife"] = Input {
					SourceOp = "pEmitSizeOverLife",
					Source = "Value",
				},
				["ParticleStyle.FadeControls"] = Input { Value = 1, },
				["ParticleStyle.FadeIn"] = Input { Value = 0.061, },
				["ParticleStyle.BlurOverLife"] = Input {
					SourceOp = "pEmitBlurOverLife2D",
					Source = "Value",
				},
				["CubeRgn.Height"] = Input { Value = 10, },
				["CubeRgn.Depth"] = Input { Value = 10, },
				["CubeRgn.Translate.X"] = Input { Value = 2.319, },
				["CubeRgn.Rotate.Y"] = Input { Value = 90, },
			},
			ViewInfo = OperatorInfo { Pos = { -110, 181.5 } },
		},
		pEmitSizeOverLife = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		pEmitBlurOverLife2D = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		Mrg_translate_1_1 = Merge3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				PassThroughLights = Input { Value = 1, },
				SceneInput1 = Input {
					SourceOp = "Merge3D2",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmbLight_general",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "Camera3D1_1_1",
					Source = "Output",
				},
				SceneInput5 = Input {
					SourceOp = "SpotLight2",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 330, 181.5 } },
		},
		clouds_layer = Renderer3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
				ToolVersion = 2,
			},
			Inputs = {
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Mrg_translate_1_1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1_1_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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.TransparencySorting"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, 181.5 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		}
	}
}
Note that you won't be able to get soft shadows from the GL renderer. That's software mode only.
Go to full post

User avatar
Midgardsormr
Fusius Of Borg
Posts: 2985
Joined: 11 years ago
Reactions score: 88
Location: Los Angeles, CA, USA
Real name: Bryan Ray
Mood:
Has thanked: 17 times
Been thanked: 72 times

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#2

Unread post by Midgardsormr »

I don't see any shadow-casting lights in your setup. What is it you want to be casting shadows on, and from where?

You can certainly split your render to two different Renderer3D nodes—one set to Software and the other GL with sorting. The shadows cast from the particles wouldn't work in OpenGL, anyway. It doesn't handle alpha transmission, so you wind up with a lot of rectangular shadows.

Added in 11 minutes 11 seconds:
Something like this:

Code: Select all

{
	Tools = ordered() {
		pRender = pRender {
			NameSet = true,
			Inputs = {
				_MotionBlurWarning = Input { Disabled = true, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				OutputMode = Input { Disabled = true, },
				PreGenerateFrames = Input { Value = 115, },
				KillParticlesThatLeaveTheView = Input { Value = 1, },
				["MaterialID.Nest"] = Input { Value = 1, },
				["MaterialID.MaterialID"] = Input { Value = 1, },
				["ObjectID.Nest"] = Input { Value = 1, },
				["ObjectID.ObjectID"] = Input { Value = 1, },
				Translation = Input { Value = 1, },
				Rotation = Input { Value = 1, },
				Input = Input {
					SourceOp = "pTurbulence",
					Source = "Output",
				},
				CommentsNest = Input { Value = 0, },
				FrameRenderScriptNest = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 0, 16.5 } },
		},
		AmbientLight1 = LightAmbient {
			ViewInfo = OperatorInfo { Pos = { 0, -49.5 } },
		},
		DaySky1 = DaySky {
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
			},
			ViewInfo = OperatorInfo { Pos = { 0, -115.5 } },
		},
		pEmitter = pEmitter {
			ID = 8,
			NameSet = true,
			Inputs = {
				Number = Input { Value = 0.3, },
				Lifespan = Input { Value = 350, },
				VelocityControls = Input { Value = 1, },
				Velocity = Input { Value = 0.2, },
				VelocityVariance = Input { Value = 0.1, },
				Angle = Input { Value = 180, },
				RotationControls = Input { Value = 1, },
				SpinControls = Input { Value = 1, },
				SpinZVariance = Input { Value = 0.5, },
				Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
				["ParticleStyleBitmap.DropToolsHere"] = Input {
					SourceOp = "FastNoise1_1",
					Source = "Output",
				},
				Region = Input { Value = FuID { "CubeRgn" }, },
				["ParticleStyle.SizeControls"] = Input { Value = 1, },
				["ParticleStyle.Size"] = Input { Value = 2, },
				["ParticleStyle.SizeVariance"] = Input { Value = 0.1, },
				["ParticleStyle.SizeOverLife"] = Input {
					SourceOp = "pEmitterSizeOverLife",
					Source = "Value",
				},
				["ParticleStyle.BlurOverLife"] = Input {
					SourceOp = "pEmitterBlurOverLife2D",
					Source = "Value",
				},
				["CubeRgn.Height"] = Input { Value = 10, },
				["CubeRgn.Depth"] = Input { Value = 10, },
				["CubeRgn.Rotate.Y"] = Input { Value = 90, },
			},
			ViewInfo = OperatorInfo { Pos = { -220, 16.5 } },
		},
		pEmitterSizeOverLife = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			NameSet = true,
		},
		pEmitterBlurOverLife2D = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			NameSet = true,
		},
		pTurbulence = pTurbulence {
			ID = 5,
			NameSet = true,
			Inputs = {
				XStrength = Input { Value = 0.2, },
				YStrength = Input { Value = 0.2, },
				StrengthOverLifeLUT = Input {
					SourceOp = "pTurbulenceStrengthOverLifeLUT",
					Source = "Value",
				},
				Density = Input { Value = 75, },
				Input = Input {
					SourceOp = "pEmitter",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { -110, 16.5 } },
		},
		pTurbulenceStrengthOverLifeLUT = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
		},
		FastNoise1_1 = FastNoise {
			Inputs = {
				Width = Input { Value = 500, },
				Height = Input { Value = 500, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Detail = Input { Value = 5, },
				Seethe = Input { Value = 0.1, },
				SeetheRate = Input { Value = 0.1, },
				Type = Input { Value = 1, },
				GradientType = Input { Value = 5, },
				Start = Input { Value = { 0.5, 0.5 }, },
				End = Input { Value = { 0.915632754342432, 0.5 }, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.882352941176471, 0.882352941176471, 0.882352941176471, 1 },
							[1] = { 0, 0, 0, 0 }
						}
					},
				},
			},
			ViewInfo = OperatorInfo { Pos = { -330, 16.5 } },
		},
		Shape3D1 = Shape3D {
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input { Value = -4.57225446961216, },
				MaterialInput = Input {
					SourceOp = "DaySky1",
					Source = "Output",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 10, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { 110, -115.5 } },
		},
		Mrg_translate = Merge3D {
			NameSet = true,
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "pRender",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmbientLight1",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "Camera3D1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 110, 16.5 } },
		},
		clouds_render = Renderer3D {
			NameSet = true,
			CustomData = {
				ToolVersion = 2,
			},
			Inputs = {
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Mrg_translate",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1" }, },
				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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.TransparencySorting"] = Input { Value = 1, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 220, 16.5 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		},
		Camera3D1 = Camera3D {
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input { Value = 5.71950385690398, },
				AoV = Input { Value = 19.2642683071402, },
				["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
				FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
				ApertureW = Input { Value = 0.831496062992126, },
				ApertureH = Input { Value = 0.467716535433071, },
				IDepth = Input { Value = 4.9, },
				["SurfacePlaneInputs.Visibility.IsUnseenByCameras"] = Input { Value = 1, },
				["SurfacePlaneInputs.Lighting.IsShadowReceiver"] = Input { Value = 0, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
				["MtlStdInputs.MaterialID"] = Input { Value = 2, },
			},
			ViewInfo = OperatorInfo { Pos = { 0, 82.5 } },
		},
		Instance_Camera3D1 = Camera3D {
			SourceOp = "Camera3D1",
			Inputs = {
				SceneInput = Input { },
				["Transform3DOp.Translation"] = Input { },
				["Transform3DOp.Rotation"] = Input { },
				["Transform3DOp.PivotNest"] = Input { },
				["Transform3DOp.ScaleNest"] = Input { },
				["Transform3DOp.TargetNest"] = Input { },
				["Stereo.Nest"] = Input { },
				["Stereo.RightCamera"] = Input { },
				FilmBack = Input { },
				ControlVis = Input { },
				["SurfacePlaneInputs.Visibility.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.Matte.Nest"] = Input { },
				["SurfacePlaneInputs.BlendMode.Nest"] = Input { },
				["SurfacePlaneInputs.Controls.Nest"] = Input { },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				ImageInput = Input {
					SourceOp = "clouds_render",
					Source = "Output",
				},
				["MtlStdInputs.Diffuse.Nest"] = Input { },
				["MtlStdInputs.Specular.Nest"] = Input { },
				["MtlStdInputs.Transmittance.Nest"] = Input { },
				["MtlStdInputs.MaterialIDNest"] = Input { },
				CommentsNest = Input { },
				FrameRenderScriptNest = Input { },
				StartRenderScripts = Input { },
				EndRenderScripts = Input { },
			},
			ViewInfo = OperatorInfo { Pos = { 330, 82.5 } },
		},
		Merge3D1 = Merge3D {
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "Shape3D1",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "SpotLight1",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "Instance_Camera3D1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 440, 82.5 } },
		},
		Merge1 = Merge {
			CtrlWZoom = false,
			Inputs = {
				Background = Input {
					SourceOp = "shadows_render",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "clouds_render",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 550, 16.5 } },
		},
		shadows_render = Renderer3D {
			NameSet = true,
			CustomData = {
				ToolVersion = 2,
			},
			Inputs = {
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Merge3D1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Instance_Camera3D1" }, },
				["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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
				["RendererOpenGL.TransparencySorting"] = Input { Value = 2, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 550, 82.5 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		},
		SpotLight1 = LightSpot {
			Inputs = {
				["Transform3DOp.Translate.X"] = Input { Value = 0.232, },
				["Transform3DOp.Translate.Y"] = Input { Value = -0.0191276051424225, },
				["Transform3DOp.Translate.Z"] = Input { Value = 4.34, },
				["Transform3DOp.Rotate.Y"] = Input { Value = 10.4, },
				Intensity = Input { Value = 0.37, },
				ConeAngle = Input { Value = 90, },
				PenumbraAngle = Input { Value = 14.17, },
				["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowsEnabled"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowDensity"] = Input { Value = 0.543, },
				["ShadowLightInputs3D.ShadowMapSize"] = Input { Value = 2977, },
			},
			ViewInfo = OperatorInfo { Pos = { 385, 148.5 } },
		}
	}
}

User avatar
KleinerKater
Posts: 21
Joined: 4 years ago
Reactions score: 0

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#3

Unread post by KleinerKater »

Thanks for the fast answer. I did not include the objects with the shadows in the first page to keep the problem as simple as possible. I toughts I could handle the rest. Turns out it's more difficult. The concept with to two renders did not seem to work with the camera movement as I tought it would.

I attached the code of the same scene, now with the object and light source that is supposed to cast shadows.

The idea is to have cloud in front of a skyscraper. The camera is moving towards the skyscraper or (like in the code-example) up the skyscraper, while the skyscraper casts shadows to the ground. The clouds don't need to cast shadows.

Is there a way to realise that, idealy with OpenGL render? Or is there a better way to creat the fog/clouds than in this example?

Thank you very much.

Code: Select all

{
	Tools = ordered() {
		AmLightShadow = LightAmbient {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				Intensity = Input { Value = 0.488, },
			},
			ViewInfo = OperatorInfo { Pos = { -3141.95, -1081.64 } },
		},
		DaySky = DaySky {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				GlobalOut = Input { Value = 120, },
				Width = Input { Value = 3840, },
				Height = Input { Value = 2160, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
			},
			ViewInfo = OperatorInfo { Pos = { -3005.95, -1198.55 } },
		},
		SkyScraper = Shape3D {
			NameSet = true,
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = -0.378, },
				["Transform3DOp.Translate.Z"] = Input { Value = -5.07, },
				Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
				["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0.756862745098039, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.137254901960784, },
				["MtlStdInputs.Specular.Nest"] = Input { Value = 1, },
				["MtlStdInputs.MaterialID"] = Input { Value = 4, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 5, },
				["SurfaceCylinderInputs.Height"] = Input { Value = 15, },
				["SurfaceCylinderInputs.Visibility.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.Matte.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 6, },
				["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 7, },
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 8, }
			},
			ViewInfo = OperatorInfo { Pos = { -2961.1, -1142.85 } },
		},
		SpotLight2 = LightSpot {
			Inputs = {
				["Transform3DOp.Translate.X"] = Input { Value = -21.4191256189316, },
				["Transform3DOp.Translate.Y"] = Input { Value = 8.9288939801351, },
				["Transform3DOp.Translate.Z"] = Input { Value = -3.88157251605628, },
				["Transform3DOp.UseTarget"] = Input { Value = 1, },
				["Transform3DOp.Target.Y"] = Input { Value = 1.28859926368877, },
				["Transform3DOp.Target.Z"] = Input { Value = -4.78, },
				["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowsEnabled"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowMapSize"] = Input { Value = 8192, },
			},
			ViewInfo = OperatorInfo { Pos = { -3038.43, -1110.13 } },
		},
		AmbLight_general = LightAmbient {
			NameSet = true,
			Inputs = {
				Intensity = Input { Value = 0.2, },
			},
			ViewInfo = OperatorInfo { Pos = { -2801.39, -1144.22 } },
		},
		clouds_render_1 = Renderer3D {
			NameSet = true,
			CustomData = {
				ToolVersion = 2,
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				GlobalOut = Input { Value = 120, },
				Width = Input { Value = 3840, },
				Height = Input { Value = 2160, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Mrg_translate_1_1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1_1_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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.TransparencySorting"] = Input { Value = 1, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { -2747.28, -1031.39 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		},
		Mrg_translate_1_1 = Merge3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "Merge3D2",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmbLight_general",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "Camera3D1_1_1",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "SkyScraper",
					Source = "Output",
				},
				SceneInput5 = Input {
					SourceOp = "SpotLight2",
					Source = "Output",
				},
				SceneInput7 = Input {
					SourceOp = "Plane",
					Source = "Output",
				},
				SceneInput8 = Input {
					SourceOp = "Ground",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { -2890.62, -1030.18 } },
		},
		Ground = Shape3D {
			CtrlWZoom = false,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = -1.07251445414342, },
				["Transform3DOp.Translate.Z"] = Input { Value = -2.73891888971204, },
				["Transform3DOp.Rotate.X"] = Input { Value = 90, },
				["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0.517647058823529, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.411764705882353, },
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 20, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { -2681.39, -1115.13 } },
		},
		Plane = Shape3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = 8.98764427211799, },
				["Transform3DOp.Translate.Z"] = Input { Value = -10.22, },
				MaterialInput = Input {
					SourceOp = "DaySky",
					Source = "Output",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 20, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { -2894.62, -1197.34 } },
		},
		Merge3D2 = Merge3D {
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "pRend",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmLightShadow",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { -3013.28, -1027.76 } },
		},
		pRend = pRender {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				_MotionBlurWarning = Input { Disabled = true, },
				GlobalOut = Input { Value = 120, },
				Width = Input { Value = 3840, },
				Height = Input { Value = 2160, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				OutputMode = Input { Disabled = true, },
				PreGenerateFrames = Input { Value = 115, },
				KillParticlesThatLeaveTheView = Input { Value = 1, },
				["MaterialID.Nest"] = Input { Value = 1, },
				["MaterialID.MaterialID"] = Input { Value = 1, },
				["ObjectID.Nest"] = Input { Value = 1, },
				["ObjectID.ObjectID"] = Input { Value = 1, },
				Translation = Input { Value = 1, },
				Rotation = Input { Value = 1, },
				Input = Input {
					SourceOp = "pTurb",
					Source = "Output",
				},
				CommentsNest = Input { Value = 0, },
				FrameRenderScriptNest = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { -3131.28, -1027.76 } },
		},
		pTurb = pTurbulence {
			ID = 593,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				XStrength = Input { Value = 0.2, },
				YStrength = Input { Value = 0.2, },
				StrengthOverLifeLUT = Input {
					SourceOp = "pTurbulence_1_1StrengthOverLifeLUT",
					Source = "Value",
				},
				Density = Input { Value = 75, },
				Input = Input {
					SourceOp = "pEmit",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { -3243.95, -1031.39 } },
		},
		pTurbulence_1_1StrengthOverLifeLUT = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		pEmit = pEmitter {
			ID = 568,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				Number = Input { Value = 1, },
				Lifespan = Input { Value = 350, },
				VelocityControls = Input { Value = 1, },
				Velocity = Input { Value = 0.2, },
				VelocityVariance = Input { Value = 0.1, },
				Angle = Input { Value = 180, },
				RotationControls = Input { Value = 1, },
				SpinControls = Input { Value = 1, },
				SpinZVariance = Input { Value = 0.5, },
				Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
				["ParticleStyleBitmap.DropToolsHere"] = Input {
					SourceOp = "FastNoise",
					Source = "Output",
				},
				Region = Input { Value = FuID { "CubeRgn" }, },
				["ParticleStyle.SizeControls"] = Input { Value = 1, },
				["ParticleStyle.Size"] = Input { Value = 2, },
				["ParticleStyle.SizeVariance"] = Input { Value = 0.1, },
				["ParticleStyle.SizeOverLife"] = Input {
					SourceOp = "pEmitSizeOverLife",
					Source = "Value",
				},
				["ParticleStyle.BlurOverLife"] = Input {
					SourceOp = "pEmitBlurOverLife2D",
					Source = "Value",
				},
				["CubeRgn.Height"] = Input { Value = 10, },
				["CubeRgn.Depth"] = Input { Value = 10, },
				["CubeRgn.Translate.X"] = Input { Value = 2.319, },
				["CubeRgn.Rotate.Y"] = Input { Value = 90, },
			},
			ViewInfo = OperatorInfo { Pos = { -3355.28, -1031.39 } },
		},
		pEmitSizeOverLife = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		pEmitBlurOverLife2D = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		FastNoise = FastNoise {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				GlobalOut = Input { Value = 120, },
				Width = Input { Value = 500, },
				Height = Input { Value = 500, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Detail = Input { Value = 5, },
				Seethe = Input { Value = 0.1, },
				SeetheRate = Input { Value = 0.1, },
				Type = Input { Value = 1, },
				GradientType = Input { Value = 5, },
				Start = Input { Value = { 0.5, 0.5 }, },
				End = Input { Value = { 0.915632754342432, 0.5 }, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.882352941176471, 0.882352941176471, 0.882352941176471, 1 },
							[1] = { 0, 0, 0, 0 }
						}
					},
				},
			},
			ViewInfo = OperatorInfo { Pos = { -3465.29, -1031.39 } },
		},
		Camera3D1_1_1 = Camera3D {
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.X"] = Input {
					SourceOp = "Camera3D1_1_1XOffset",
					Source = "Value",
				},
				["Transform3DOp.Translate.Y"] = Input {
					SourceOp = "Camera3D1_1_1YOffset",
					Source = "Value",
				},
				["Transform3DOp.Translate.Z"] = Input {
					SourceOp = "Camera3D1_1_1ZOffset",
					Source = "Value",
				},
				["Transform3DOp.UseTarget"] = Input { Value = 1, },
				["Transform3DOp.Target.Y"] = Input {
					SourceOp = "Camera3D1_1_1YTargetPosition",
					Source = "Value",
				},
				AoV = Input { Value = 19.2642683071402, },
				["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
				FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
				ApertureW = Input { Value = 0.831496062992126, },
				ApertureH = Input { Value = 0.467716535433071, },
				IDepth = Input { Value = 4.9, },
				["SurfacePlaneInputs.Visibility.IsUnseenByCameras"] = Input { Value = 1, },
				["SurfacePlaneInputs.Lighting.IsShadowReceiver"] = Input { Value = 0, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
				["MtlStdInputs.MaterialID"] = Input { Value = 2, },
			},
			ViewInfo = OperatorInfo { Pos = { -2976.62, -970.243 } },
		},
		Camera3D1_1_1XOffset = BezierSpline {
			SplineColor = { Red = 250, Green = 59, Blue = 49 },
			NameSet = true,
			KeyFrames = {
				[0] = { 0, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1YOffset = BezierSpline {
			SplineColor = { Red = 252, Green = 131, Blue = 47 },
			NameSet = true,
			KeyFrames = {
				[0] = { 2.392, RH = { 40, 4.30170808939403 }, Flags = { Linear = true } },
				[120] = { 8.12112426818208, LH = { 80, 6.21141617878806 }, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1ZOffset = BezierSpline {
			SplineColor = { Red = 254, Green = 207, Blue = 46 },
			CtrlWZoom = false,
			NameSet = true,
			KeyFrames = {
				[0] = { 5.71950385690398, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1YTargetPosition = BezierSpline {
			SplineColor = { Red = 252, Green = 177, Blue = 201 },
			CtrlWZoom = false,
			NameSet = true,
			KeyFrames = {
				[0] = { 0.899, RH = { 40, 2.76366666666667 }, Flags = { Linear = true } },
				[120] = { 6.493, LH = { 80, 4.62833333333333 }, Flags = { Linear = true } }
			}
		},
		Merge3D1_1 = Merge3D {
			PassThrough = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				SceneInput3 = Input {
					SourceOp = "SpotLight1_1",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "Instance_Camera3D1_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { -2520.63, -964.183 } },
		},
		Instance_Camera3D1_1 = Camera3D {
			PassThrough = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			SourceOp = "Camera3D1_1_1",
			Inputs = {
				SceneInput = Input { },
				["Transform3DOp.Translation"] = Input { },
				["Transform3DOp.Rotation"] = Input { },
				["Transform3DOp.PivotNest"] = Input { },
				["Transform3DOp.ScaleNest"] = Input { },
				["Transform3DOp.TargetNest"] = Input { },
				["Transform3DOp.Import"] = Input { },
				["Stereo.Nest"] = Input { },
				["Stereo.RightCamera"] = Input { },
				FilmBack = Input { },
				ControlVis = Input { },
				Import = Input { },
				["SurfacePlaneInputs.Visibility.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.Matte.Nest"] = Input { },
				["SurfacePlaneInputs.BlendMode.Nest"] = Input { },
				["SurfacePlaneInputs.Controls.Nest"] = Input { },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				ImageInput = Input {
					SourceOp = "clouds_render_1",
					Source = "Output",
				},
				["MtlStdInputs.Diffuse.Nest"] = Input { },
				["MtlStdInputs.Specular.Nest"] = Input { },
				["MtlStdInputs.Transmittance.Nest"] = Input { },
				["MtlStdInputs.MaterialIDNest"] = Input { },
				CommentsNest = Input { },
				FrameRenderScriptNest = Input { },
				StartRenderScripts = Input { },
				EndRenderScripts = Input { },
			},
			ViewInfo = OperatorInfo { Pos = { -2645.28, -966.608 } },
		},
		shadows_render_1 = Renderer3D {
			PassThrough = true,
			NameSet = true,
			CustomData = {
				ToolVersion = 2,
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				GlobalOut = Input { Value = 120, },
				Width = Input { Value = 3840, },
				Height = Input { Value = 2160, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Merge3D1_1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Instance_Camera3D1_1" }, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
				["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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { -2385.29, -964.183 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		},
		Merge1_1 = Merge {
			PassThrough = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				Background = Input {
					SourceOp = "shadows_render_1",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "clouds_render_1",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { -2385.29, -1030.18 } },
		},
		SpotLight1_1 = LightSpot {
			PassThrough = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.X"] = Input { Value = 0.232, },
				["Transform3DOp.Translate.Y"] = Input { Value = -0.0191276051424225, },
				["Transform3DOp.Translate.Z"] = Input { Value = 4.34, },
				["Transform3DOp.Rotate.Y"] = Input { Value = 10.4, },
				Intensity = Input { Value = 0.37, },
				ConeAngle = Input { Value = 90, },
				PenumbraAngle = Input { Value = 14.17, },
				["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowsEnabled"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowDensity"] = Input { Value = 0.543, },
				["ShadowLightInputs3D.ShadowMapSize"] = Input { Value = 2977, },
			},
			ViewInfo = OperatorInfo { Pos = { -2592.95, -900.608 } },
		}
	},
	ActiveTool = "Ground"
}

Image

User avatar
theotheo
Fusionista
Posts: 586
Joined: 11 years ago
Reactions score: 30
Has thanked: 13 times
Been thanked: 47 times

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#4

Unread post by theotheo »

You can project a fake shadow onto the particles in a separate setup and just use it to grade down the clouds probably.

User avatar
Midgardsormr
Fusius Of Borg
Posts: 2985
Joined: 11 years ago
Reactions score: 88
Location: Los Angeles, CA, USA
Real name: Bryan Ray
Mood:
Has thanked: 17 times
Been thanked: 72 times

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#5

Unread post by Midgardsormr »

If the clouds need to neither cast nor receive shadows, then it's pretty easy. Just render it in layers—the clouds by themselves with one Renderer3D, and everything else in another. I think I mislead you a little with the way I set up the camera in my version. I forgot that the proper set-up would be a second, static camera for the image plane instead of an instance. The background would have moved with the camera there. My bad.

In order for the shadows to work at all, you'll need to turn on the Two Sided switch in the Ground's Material tab. Or flip it over. Right now, the normals are facing downward, so shadow rays don't register a hit. The only reason you see its color at all is because of the ambient light. Without that, it would just be black.

You've also got some particles popping into existence. If you turn up the Fade In control in the pEmitter's Style tab, they'll fade in slowly instead of suddenly appearing, which should help that.

Give this a look:

Code: Select all

{
	Tools = ordered() {
		DaySky = DaySky {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
			},
			ViewInfo = OperatorInfo { Pos = { 55, -115.5 } },
		},
		Ground = Shape3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = -1.07251445414342, },
				["Transform3DOp.Translate.Z"] = Input { Value = -2.73891888971204, },
				["Transform3DOp.Rotate.X"] = Input { Value = 90, },
				["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0.517647058823529, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.411764705882353, },
				["MtlStdInputs.UseTwoSidedLighting"] = Input { Value = 1, },
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 20, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.BlendMode.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { 165, -82.5 } },
		},
		Plane = Shape3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = 8.98764427211799, },
				["Transform3DOp.Translate.Z"] = Input { Value = -10.22, },
				MaterialInput = Input {
					SourceOp = "DaySky",
					Source = "Output",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 3, },
				["SurfacePlaneInputs.Width"] = Input { Value = 20, },
				["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.Nest"] = Input { Value = 1, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { 165, -115.5 } },
		},
		SkyScraper = Shape3D {
			NameSet = true,
			Inputs = {
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 5, },
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 8, },
				["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 7, },
				["Transform3DOp.Translate.Y"] = Input { Value = -0.378, },
				["Transform3DOp.Translate.Z"] = Input { Value = -5.07, },
				Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
				["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0.756862745098039, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.137254901960784, },
				["MtlStdInputs.Specular.Nest"] = Input { Value = 1, },
				["MtlStdInputs.MaterialID"] = Input { Value = 4, },
				["SurfaceCylinderInputs.Height"] = Input { Value = 15, },
				["SurfaceCylinderInputs.Visibility.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.Lighting.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.Matte.Nest"] = Input { Value = 1, },
				["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 6, }
			},
			ViewInfo = OperatorInfo { Pos = { 165, -49.5 } },
		},
		Instance_Mrg_translate_1_1 = Merge3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			SourceOp = "Mrg_translate_1_1",
			Inputs = {
				["Transform3DOp.Translation"] = Input { },
				["Transform3DOp.Rotation"] = Input { },
				["Transform3DOp.PivotNest"] = Input { },
				["Transform3DOp.ScaleNest"] = Input { },
				["Transform3DOp.TargetNest"] = Input { },
				SceneInput1 = Input {
					SourceOp = "Camera3D1_1_1",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "SkyScraper",
					Source = "Output",
				},
				CommentsNest = Input { },
				FrameRenderScriptNest = Input { },
				StartRenderScripts = Input { },
				EndRenderScripts = Input { },
				SceneInput3 = Input {
					SourceOp = "SpotLight2",
					Source = "Output",
				},
				SceneInput4 = Input {
					SourceOp = "AmLightShadow",
					Source = "Output",
				},
				SceneInput5 = Input {
					SourceOp = "Plane",
					Source = "Output",
				},
				SceneInput6 = Input {
					SourceOp = "Ground",
					Source = "Output",
				},
				SceneInput7 = Input {
					SourceOp = "AmbLight_general",
					Source = "Output",
				},
				SceneInput8 = Input { }
			},
			ViewInfo = OperatorInfo { Pos = { 330, -16.5 } },
		},
		background_layer = Renderer3D {
			NameSet = true,
			CustomData = {
				ToolVersion = 2,
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Instance_Mrg_translate_1_1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1_1_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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, -16.5 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		},
		AmbLight_general = LightAmbient {
			NameSet = true,
			Inputs = {
				Intensity = Input { Value = 0.2, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 16.5 } },
		},
		SpotLight2 = LightSpot {
			Inputs = {
				["Transform3DOp.Translate.X"] = Input { Value = -21.4191256189316, },
				["Transform3DOp.Translate.Y"] = Input { Value = 8.9288939801351, },
				["Transform3DOp.Translate.Z"] = Input { Value = -3.88157251605628, },
				["Transform3DOp.UseTarget"] = Input { Value = 1, },
				["Transform3DOp.Target.Y"] = Input { Value = 1.28859926368877, },
				["Transform3DOp.Target.Z"] = Input { Value = -4.78, },
				["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowsEnabled"] = Input { Value = 1, },
				["ShadowLightInputs3D.ShadowMapSize"] = Input { Value = 8192, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 49.5 } },
		},
		AmLightShadow = LightAmbient {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				Intensity = Input { Value = 0.488, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 82.5 } },
		},
		Camera3D1_1_1 = Camera3D {
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				["Transform3DOp.Translate.X"] = Input {
					SourceOp = "Camera3D1_1_1XOffset",
					Source = "Value",
				},
				["Transform3DOp.Translate.Y"] = Input {
					SourceOp = "Camera3D1_1_1YOffset",
					Source = "Value",
				},
				["Transform3DOp.Translate.Z"] = Input {
					SourceOp = "Camera3D1_1_1ZOffset",
					Source = "Value",
				},
				["Transform3DOp.UseTarget"] = Input { Value = 1, },
				["Transform3DOp.Target.Y"] = Input {
					SourceOp = "Camera3D1_1_1YTargetPosition",
					Source = "Value",
				},
				AoV = Input { Value = 19.2642683071402, },
				["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
				FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
				ApertureW = Input { Value = 0.831496062992126, },
				ApertureH = Input { Value = 0.467716535433071, },
				IDepth = Input { Value = 4.9, },
				["SurfacePlaneInputs.Visibility.IsUnseenByCameras"] = Input { Value = 1, },
				["SurfacePlaneInputs.Lighting.IsShadowReceiver"] = Input { Value = 0, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
				["MtlStdInputs.MaterialID"] = Input { Value = 2, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 115.5 } },
		},
		Camera3D1_1_1XOffset = BezierSpline {
			SplineColor = { Red = 250, Green = 59, Blue = 49 },
			KeyFrames = {
				[0] = { 0, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1YOffset = BezierSpline {
			SplineColor = { Red = 252, Green = 131, Blue = 47 },
			KeyFrames = {
				[0] = { 2.392, RH = { 40, 4.30170808939403 }, Flags = { Linear = true } },
				[120] = { 8.12112426818208, LH = { 80, 6.21141617878805 }, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1ZOffset = BezierSpline {
			SplineColor = { Red = 254, Green = 207, Blue = 46 },
			KeyFrames = {
				[0] = { 5.71950385690398, Flags = { Linear = true } }
			}
		},
		Camera3D1_1_1YTargetPosition = BezierSpline {
			SplineColor = { Red = 252, Green = 177, Blue = 201 },
			CtrlWZoom = false,
			KeyFrames = {
				[0] = { 0.899, RH = { 40, 2.76366666666667 }, Flags = { Linear = true } },
				[120] = { 6.493, LH = { 80, 4.62833333333333 }, Flags = { Linear = true } }
			}
		},
		Merge1_1 = Merge {
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				Background = Input {
					SourceOp = "background_layer",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "clouds_layer",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 825, 181.5 } },
		},
		Merge3D2 = Merge3D {
			Inputs = {
				PassThroughLights = Input { Value = 1, },
				SceneInput1 = Input {
					SourceOp = "pRend",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmLightShadow",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 220, 181.5 } },
		},
		pRend = pRender {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				_MotionBlurWarning = Input { Disabled = true, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				OutputMode = Input { Disabled = true, },
				PreGenerateFrames = Input { Value = 115, },
				KillParticlesThatLeaveTheView = Input { Value = 1, },
				["MaterialID.Nest"] = Input { Value = 1, },
				["MaterialID.MaterialID"] = Input { Value = 1, },
				["ObjectID.Nest"] = Input { Value = 1, },
				["ObjectID.ObjectID"] = Input { Value = 1, },
				Translation = Input { Value = 1, },
				Rotation = Input { Value = 1, },
				Input = Input {
					SourceOp = "pTurb",
					Source = "Output",
				},
				CommentsNest = Input { Value = 0, },
				FrameRenderScriptNest = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 110, 181.5 } },
		},
		FastNoise = FastNoise {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				Width = Input { Value = 500, },
				Height = Input { Value = 500, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Detail = Input { Value = 5, },
				Seethe = Input { Value = 0.1, },
				SeetheRate = Input { Value = 0.1, },
				Type = Input { Value = 1, },
				GradientType = Input { Value = 5, },
				Start = Input { Value = { 0.5, 0.5 }, },
				End = Input { Value = { 0.915632754342432, 0.5 }, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.882352941176471, 0.882352941176471, 0.882352941176471, 1 },
							[1] = { 0, 0, 0, 0 }
						}
					},
				},
			},
			ViewInfo = OperatorInfo { Pos = { -220, 181.5 } },
		},
		pTurb = pTurbulence {
			ID = 12,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
			Inputs = {
				XStrength = Input { Value = 0.2, },
				YStrength = Input { Value = 0.2, },
				StrengthOverLifeLUT = Input {
					SourceOp = "pTurbulence_1_1StrengthOverLifeLUT",
					Source = "Value",
				},
				Density = Input { Value = 75, },
				Input = Input {
					SourceOp = "pEmit",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 0, 181.5 } },
		},
		pTurbulence_1_1StrengthOverLifeLUT = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		pEmit = pEmitter {
			ID = 14,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				Number = Input { Value = 1, },
				Lifespan = Input { Value = 350, },
				VelocityControls = Input { Value = 1, },
				Velocity = Input { Value = 0.2, },
				VelocityVariance = Input { Value = 0.1, },
				Angle = Input { Value = 180, },
				RotationControls = Input { Value = 1, },
				SpinControls = Input { Value = 1, },
				SpinZVariance = Input { Value = 0.5, },
				Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
				["ParticleStyleBitmap.DropToolsHere"] = Input {
					SourceOp = "FastNoise",
					Source = "Output",
				},
				Region = Input { Value = FuID { "CubeRgn" }, },
				["ParticleStyle.SizeControls"] = Input { Value = 1, },
				["ParticleStyle.Size"] = Input { Value = 2, },
				["ParticleStyle.SizeVariance"] = Input { Value = 0.1, },
				["ParticleStyle.SizeOverLife"] = Input {
					SourceOp = "pEmitSizeOverLife",
					Source = "Value",
				},
				["ParticleStyle.FadeControls"] = Input { Value = 1, },
				["ParticleStyle.FadeIn"] = Input { Value = 0.061, },
				["ParticleStyle.BlurOverLife"] = Input {
					SourceOp = "pEmitBlurOverLife2D",
					Source = "Value",
				},
				["CubeRgn.Height"] = Input { Value = 10, },
				["CubeRgn.Depth"] = Input { Value = 10, },
				["CubeRgn.Translate.X"] = Input { Value = 2.319, },
				["CubeRgn.Rotate.Y"] = Input { Value = 90, },
			},
			ViewInfo = OperatorInfo { Pos = { -110, 181.5 } },
		},
		pEmitSizeOverLife = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		pEmitBlurOverLife2D = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			CtrlWZoom = false,
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				}
			},
		},
		Mrg_translate_1_1 = Merge3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
			},
			Inputs = {
				PassThroughLights = Input { Value = 1, },
				SceneInput1 = Input {
					SourceOp = "Merge3D2",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "AmbLight_general",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "Camera3D1_1_1",
					Source = "Output",
				},
				SceneInput5 = Input {
					SourceOp = "SpotLight2",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 330, 181.5 } },
		},
		clouds_layer = Renderer3D {
			NameSet = true,
			CustomData = {
				Path = {
					Map = {
						["Setting:"] = "C:\\Users\\Jan\\DrData\\40_Fusion-Settings\\20220521_Anfrage_Render\\"
					}
				},
				ToolVersion = 2,
			},
			Inputs = {
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGLUV.ShadowsEnabled"] = Input { Value = 1, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				UseFrameFormatSettings = Input { Value = 1, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Mrg_translate_1_1",
					Source = "Output",
				},
				CameraSelector = Input { Value = FuID { "Camera3D1_1_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.LightingEnabled"] = Input { Value = 1, },
				["RendererOpenGL.TransparencySorting"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 495, 181.5 } },
			SubInputsData = {
				RendererOpenGL = {
					Version = 1
				}
			}
		}
	}
}
Note that you won't be able to get soft shadows from the GL renderer. That's software mode only.

User avatar
KleinerKater
Posts: 21
Joined: 4 years ago
Reactions score: 0

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#6

Unread post by KleinerKater »

Thanks for the detailed response. I will have a look in detail tomorrow, trying to implement it in my project.

User avatar
KleinerKater
Posts: 21
Joined: 4 years ago
Reactions score: 0

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#7

Unread post by KleinerKater »

Worked out really well! Thank you very much. But now I'm curious: How would you implement the shadow, that the clouds cast onto to ground and the skyscraper?
As you discribed, I only got some rectangles that did not look appealing at all....

User avatar
Chad
Fusionator
Posts: 2156
Joined: 11 years ago
Reactions score: 30
Has thanked: 8 times
Been thanked: 30 times

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#8

Unread post by Chad »

One issue is that you have facing plane particles. If your light direction was orthogonal to your camera direction, you wouldn't cast any shadows at all.

User avatar
Midgardsormr
Fusius Of Borg
Posts: 2985
Joined: 11 years ago
Reactions score: 88
Location: Los Angeles, CA, USA
Real name: Bryan Ray
Mood:
Has thanked: 17 times
Been thanked: 72 times

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#9

Unread post by Midgardsormr »

Heh. Well, if the clouds do need to cast shadows, it gets considerably harder. And I don't think I probably ought to steal time from SideFX to do workflow support for BMD, so this will necessarily be brief. :D

With the current setup, as Chad says, your shadow-casting light would have to be fairly close to the camera. The further away it goes, the more distorted the shadow will be due to all of the clouds existing as co-planar cards. Even if they were all facing the light instead of the camera, you'd still be looking at a weird cross-section. So you'd want to make a copy of the entire particle system and position it in front of the light similar to how it's currently positioned in front of the camera.

And you'd need to split it into another render pass. The GL renderer can't cast shadow rays through alpha at all, so shadows from these clouds would have to use the Software renderer. You could use a material override to make everything that catches a shadow white. Then you could multiply that over your geometry render, or invert it and use it as a mask on a color correct.

User avatar
KleinerKater
Posts: 21
Joined: 4 years ago
Reactions score: 0

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#10

Unread post by KleinerKater »

Thank you all for the detailed response and the explanations!

User avatar
Chad
Fusionator
Posts: 2156
Joined: 11 years ago
Reactions score: 30
Has thanked: 8 times
Been thanked: 30 times

Re: OpenGL Render with Transparency Sorted (accurate) AND Shadows?

#11

Unread post by Chad »

You could do half-angle planes, like Krakatoa does. The planes face the half angle vector between the light and the camera. You have to add each light pass together, but hey, we're compositing, so it's fine.