Fu 3D viewer/OpenGL Renderer3D failing with more than one spotlight  [FIXED]

Moderator: Chad

User avatar
SecondMan
Site Admin
Posts: 3473
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 5
Location: Vancouver, Canada
Been thanked: 92 times
Contact:

3D viewer/OpenGL Renderer3D failing with more than one spotlight

#1

Post by SecondMan » Wed Nov 30, 2016 11:30 am

Fusion version:

8.2 build 2

OS and version:

Ubuntu 12.04

Additional relevant system info:

NVIDIA Quadro M4000
driver version: 346.96

Description of the bug:

When adding more than one spotlight in a 3D scene, in the viewer, when turning on Light, the geo disappears and a Renderer3D fails with the following message:

Code: Select all

Renderer3D1:  fatal error - failed to activate mtl "MtlStdGL" on "Shape3D2"
Renderer3D1:  Render aborted.
Renderer3D1 failed at time 0
Severity (Trivial, Minor, Major, Critical)

Critical

Steps to reproduce:

Please see attached flow. This fails as described above. Disconnect one of the SpotLights and the setup works.
  1. {
  2.     Tools = ordered() {
  3.         Shape3D2 = Shape3D {
  4.             Inputs = {
  5.                 ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, },
  6.                 Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
  7.                 ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
  8.                 ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 4, }
  9.             },
  10.             ViewInfo = OperatorInfo { Pos = { 1925, 511.5 } },
  11.         },
  12.         SpotLight2 = LightSpot {
  13.             ViewInfo = OperatorInfo { Pos = { 2035, 577.5 } },
  14.         },
  15.         Merge3D2 = Merge3D {
  16.             Inputs = {
  17.                 SceneInput1 = Input {
  18.                     SourceOp = "Shape3D2",
  19.                     Source = "Output",
  20.                 },
  21.                 SceneInput2 = Input {
  22.                     SourceOp = "SpotLight1",
  23.                     Source = "Output",
  24.                 },
  25.                 SceneInput3 = Input {
  26.                     SourceOp = "SpotLight2",
  27.                     Source = "Output",
  28.                 },
  29.             },
  30.             ViewInfo = OperatorInfo { Pos = { 1925, 577.5 } },
  31.         },
  32.         SpotLight1 = LightSpot {
  33.             CtrlWZoom = false,
  34.             Inputs = {
  35.                 ["Transform3DOp.Translate.X"] = Input { Value = 3.92108682801407, },
  36.                 ["Transform3DOp.Translate.Y"] = Input { Value = 3.78558108360031, },
  37.                 ["Transform3DOp.Translate.Z"] = Input { Value = -3.55113828239133, },
  38.                 ["Transform3DOp.Rotate.X"] = Input { Value = -35, },
  39.                 ["Transform3DOp.Rotate.Y"] = Input { Value = 133.199996948242, },
  40.             },
  41.             ViewInfo = OperatorInfo { Pos = { 1815, 577.5 } },
  42.         },
  43.         Renderer3D1 = Renderer3D {
  44.             Inputs = {
  45.                 Width = Input { Value = 1920, },
  46.                 Height = Input { Value = 1080, },
  47.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  48.                 SceneInput = Input {
  49.                     SourceOp = "Merge3D2",
  50.                     Source = "Output",
  51.                 },
  52.                 RendererType = Input { Value = FuID { "RendererOpenGL" }, },
  53.                 ["RendererOpenGL.LightingEnabled"] = Input { Value = 1, },
  54.             },
  55.             ViewInfo = OperatorInfo { Pos = { 1918, 637 } },
  56.         }
  57.     }
  58. }

User avatar
SecondMan
Site Admin
Posts: 3473
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 5
Location: Vancouver, Canada
Been thanked: 92 times
Contact:

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight

#2

Post by SecondMan » Wed Nov 30, 2016 12:31 pm

I'll try this on my Windows machine later, but if in the meantime someone could confirm this on a different setup, that would be great.

Thanks! :)

User avatar
thibaud
Fusioneer
Posts: 135
Joined: Thu Sep 04, 2014 1:23 am
Been thanked: 2 times
Contact:

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight

#3

Post by thibaud » Wed Nov 30, 2016 1:28 pm

confirmed for me on windows

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

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight

#4

Post by Chad » Wed Nov 30, 2016 4:52 pm

Code: Select all

(418) : error C1306: cannot determine type of interface variable
 418 > 			FuLightData data = Lights[i].Illuminate(f);
Similar error to something I reported a while back when using...
  1. float4 Shade(inout FuFragment f)
  2. {
  3.     return float4(InputMtl.Shade(f).r, InputMtl.Shade(f).g, InputMtl.Shade(f).r, InputMtl.Shade(f).g);
  4. }
... it only errored when using Spotlight3D/Projector3D and I was shading.

User avatar
mindmedicine
Fusioneer
Posts: 60
Joined: Fri Aug 22, 2014 2:34 am
Location: Ghent/Belgium
Contact:

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight

#5

Post by mindmedicine » Fri Jan 13, 2017 3:52 am

Thanks Chad, I was just about to report this myself. (latest 8.2.1 build 6 dec 09)
It makes Fu8 unusable for project I'm working on... back to 6.4 :-(

Is this being addressed by Blackmagic?

Tim

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

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight

#6

Post by Chad » Fri Jan 13, 2017 10:57 am

According to a little birdie at BDP it was fixed when I reported the issue I had. I don't know if the same fix affects the other issue, but the error message is exactly the same.

User avatar
SecondMan
Site Admin
Posts: 3473
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 5
Location: Vancouver, Canada
Been thanked: 92 times
Contact:

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight

#7

Post by SecondMan » Mon Apr 17, 2017 9:49 am

Upped the severity of the bug to Critical - it's really limiting too many use cases.

User avatar
Kristof
Fusionista
Posts: 557
Joined: Thu Aug 07, 2014 1:30 pm
Answers: 1
Been thanked: 18 times

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight

#8

Post by Kristof » Tue Aug 01, 2017 1:55 pm

Still an issue. Fu 9.0 build 13 on Windows 7. My console:

Code: Select all

*** The compile returned an error.
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(448) : error C5118: variable "ShadowMap" type conflicts with semantics "__LOCAL"

 415   		
 416   		for (int i = 0; i < Lights.length; i++)
 417   		{
 418 > 			FuLightData data = Lights[i].Illuminate(f);
 419   			float3 h = normalize(data.LightVector - p);
 420   			float4 coeff = lit(dot(n, data.LightVector), dot(n, h), SpecularExponent);
 421   			aAccum += data.AmbientColor;

 445     f.TangentU       = vf.TangentU;
 446     f.TangentV       = vf.TangentV;
 447   
 448 >   return mtl.Shade(f);
 449   }

3D Viewer:  fatal error - failed to activate mtl "MtlStdGL" on "Shape3D2"
3D Viewer:  Render aborted.

*** The compile returned an error.
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(418) : error C1306: cannot determine type of interface variable
(448) : error C5118: variable "ShadowMap" type conflicts with semantics "__LOCAL"

 415   		
 416   		for (int i = 0; i < Lights.length; i++)
 417   		{
 418 > 			FuLightData data = Lights[i].Illuminate(f);
 419   			float3 h = normalize(data.LightVector - p);
 420   			float4 coeff = lit(dot(n, data.LightVector), dot(n, h), SpecularExponent);
 421   			aAccum += data.AmbientColor;

 445     f.TangentU       = vf.TangentU;
 446     f.TangentV       = vf.TangentV;
 447   
 448 >   return mtl.Shade(f);
 449   }

3D Viewer:  fatal error - failed to activate mtl "MtlStdGL" on "Shape3D2"
3D Viewer:  Render aborted.

User avatar
mindmedicine
Fusioneer
Posts: 60
Joined: Fri Aug 22, 2014 2:34 am
Location: Ghent/Belgium
Contact:

Re: 3D viewer/OpenGL Renderer3D failing with more than one spotlight  [FIXED]

#9

Post by mindmedicine » Mon Sep 18, 2017 1:36 am

Happy to mention that this seems to be fixed in Fu 9.0.1 build 3. :)