Page 1 of 1

Shadow casting breaks and wonky OpenCL (SOLVED)

PostPosted: Mon Feb 20, 2017 10:27 pm
by Marc van Vliet
Hi!

While setting up a simple 3D comp all shadow casting suddenly disappeared. I was jogging some controls and boom, no shadows in viewport or renderer. Tried resetting workstation, reinstalling latest Fusion build (8.2.1.) to no avail.

Another thing that has also bugged me on my other workstation is the fact that I cannot render SSOA on OpenCL. All I get is a black screen, when I switch OpenCL off, I do get a result. I thought my new hardware (i6700k, gtx1080, win10 64bit) would resolve this issue since my old gfx was getting rusty. Software rendering makes SSAO close to unusable for me.

Herse's a simple comp that behaves as described above (no shadow casting/no opencl ssao):

Code: Select all
{
   Tools = ordered() {
      AmbientOcclusion1 = SSAO {
         CtrlWZoom = false,
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     AmbientOcclusion1 = SSAO {
                        CtrlWZoom = false,
                        CustomData = {
                        },
                        Inputs = {
                           Camera = Input {
                              SourceOp = "Camera3D1",
                              Source = "Output",
                           },
                           Input = Input {
                              SourceOp = "Renderer3D1",
                              Source = "Output",
                           },
                        },
                        ViewInfo = OperatorInfo { Pos = { 660, 148.5 } },
                        Name = "AmbientOcclusion1"
                     }
                  }
               },
               [2] = {
                  Tools = ordered() {
                     AmbientOcclusion1 = SSAO {
                        CtrlWZoom = false,
                        CustomData = {
                        },
                        Inputs = {
                           Camera = Input {
                              SourceOp = "Camera3D1",
                              Source = "Output",
                           },
                           CameraSelector = Input { Value = FuID { "Camera3D1" }, },
                           UseOpenCL = Input { Value = 0, },
                           Input = Input {
                              SourceOp = "Renderer3D1",
                              Source = "Output",
                           },
                        },
                        ViewInfo = OperatorInfo { Pos = { 660, 148.5 } },
                     }
                  }
               },
            }
         },
         Inputs = {
            Camera = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
            CameraSelector = Input { Value = FuID { "Camera3D1" }, },
            Input = Input {
               SourceOp = "Renderer3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 660, 148.5 } },
      },
      Renderer3D1 = Renderer3D {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
            RendererType = Input { Value = FuID { "RendererOpenGL" }, },
            ["RendererSoftware.Channels.Nest"] = Input { Value = 1, },
            ["RendererSoftware.Channels.Z"] = Input { Value = 1, },
            ["RendererSoftware.Channels.Normal"] = Input { Value = 1, },
            ["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
            ["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
            ["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
            ["RendererOpenGL.Channels.RGBASS"] = Input { Value = 1, },
            ["RendererOpenGL.Channels.Z"] = Input { Value = 1, },
            ["RendererOpenGL.Channels.ZSS"] = Input { Value = 1, },
            ["RendererOpenGL.Channels.Normal"] = Input { Value = 1, },
            ["RendererOpenGL.Channels.NormalSS"] = Input { Value = 1, },
            ["RendererOpenGL.LightingEnabled"] = Input { Value = 1, },
            ["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 495, 148.5 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Shape3D1",
               Source = "Output",
            },
            SceneInput3 = Input {
               SourceOp = "SpotLight1",
               Source = "Output",
            },
            SceneInput4 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 330, 148.5 } },
      },
      SpotLight1 = LightSpot {
         Inputs = {
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.201608302778642, },
            ["Transform3DOp.Translate.Z"] = Input { Value = 0.383311223438587, },
            ["Transform3DOp.UseTarget"] = Input { Value = 1, },
            ["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 330, 82.5 } },
      },
      Shape3D1 = Shape3D {
         Inputs = {
            ["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 3, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
            ["SurfaceSphereInputs.Radius"] = Input { Value = 0.0952380952380952, },
            ["SurfaceSphereInputs.Lighting.Nest"] = Input { Value = 1, },
            ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 4, }
         },
         ViewInfo = OperatorInfo { Pos = { 220, 181.5 } },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["Transform3DOp.Rotate.X"] = Input { Value = -90, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.ReceivesShadows"] = Input { Value = 0, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 220, 148.5 } },
      },
      Camera3D1 = Camera3D {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = -0.510092719143114, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.427434276901008, },
            ["Transform3DOp.Translate.Z"] = Input { Value = 0.324362713116822, },
            ["Transform3DOp.Rotate.X"] = Input { Value = -41.4000015258789, },
            ["Transform3DOp.Rotate.Y"] = Input { Value = -51.2000007629395, },
            FLength = Input { Value = 18.2123442718302, },
            ["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 3, },
         },
         ViewInfo = OperatorInfo { Pos = { 330, 49.5 } },
      }
   }
}


Any help is highly appreciated =]

Regards,

Marc

Re: Shadow casting breaks and wonky OpenCL

PostPosted: Tue Feb 21, 2017 7:45 pm
by michael vorberg
for the shadow the light needs to be a little bit further away from the object

Re: Shadow casting breaks and wonky OpenCL

PostPosted: Wed Feb 22, 2017 10:41 pm
by Marc van Vliet
Doh, thanks!

Still trouble with OpenCl SSAO =\

Re: Shadow casting breaks and wonky OpenCL

PostPosted: Wed Feb 22, 2017 10:47 pm
by Adelson Munhoz
Maybe you have to set your OpenCL preferences:

Clipboard01.jpg
Clipboard01.jpg (53.78 KiB) Viewed 2218 times

Re: Shadow casting breaks and wonky OpenCL

PostPosted: Fri Feb 24, 2017 5:41 am
by Kel Philm
Interesting, switching caching from Full to Basic seems to make the AO work in Open GL (GTX 1080).

Re: Shadow casting breaks and wonky OpenCL

PostPosted: Fri Feb 24, 2017 5:52 pm
by Chad Capeland
Full caching is very situational. I've seen it dramatically speed things up in what amounts to a benchmark, but in a typical production comp, I've never seen it do anything helpful. Unless you write your own OpenCL tools, there's almost no benefit because users tend not to chain large numbers of OpenCL tools together. Mostly because large numbers of OpenCL tools don't exist yet.

Re: Shadow casting breaks and wonky OpenCL

PostPosted: Mon Feb 27, 2017 12:14 pm
by Marc van Vliet
@Adelson, those settings are correct in my prefs. other OpenCL tools always work fine... :?

Re: Shadow casting breaks and wonky OpenCL

PostPosted: Mon Feb 27, 2017 1:09 pm
by Adelson Munhoz
Hi Marc
I had a similar issue some time ago:

The OpenCL Rays was not working on my Tahiti board (faster but older), just on with my Bonnaire (slower but newer) or when I used the CPU.

I thought that this was due to the OpenCL version (the Tahiti is 1.2 and the Bonnaire is 2.0).

But this was not the case. When I reinstalled the drivers after running an AMD utility called "AMDCleanupUtility.exe", the issue was fixed.

Maybe Nvidia has a similar tool that cleans the registry and the OpenCL cache. Or, alternatively, you can uninstall the drivers and run a utility like CCleaner to cleanup the registry.

Re: Shadow casting breaks and wonky OpenCL (SOLVED)

PostPosted: Mon Feb 27, 2017 10:50 pm
by Marc van Vliet
Working now!

Thank you Adelson, did some reg-cleaning, fresh fusion install, fresh drivers, fiddling with OpenCl settings in Fusion.. =]

Cheers!