UE4 & Spout problems (black textures, memory share, texture share, OpenGL / DirectX Interop warnings)

Dear Lightact!

I am following Your tutorial and now I am trying to send something from UE4 to Lightact. Everything is setup as in the tutorial video.

But when I press Start button in UE4 I got an error - Cannot create DirectX/OpenGL interop - and I don’t know how to avoid it…

Have You got any tips?
Thanks

Hi @milosz.galit,

I remember seeing this error once before, but I don’t remember what was the cause of it. However, doing a quick Google search brought me to this page.

Can you please let me know what kind of setup you are using? Especially the GPU.

Also, does Spout Demo Receiver/Sender work together as suggested on the page above?

Thanks,
Mitja

Thanks for your answer!

But I had been on the page before I posted here. And I had done everything step by step.

However after few restarts the error disappeared. I don’t know how :slight_smile:. Anyway my canvas in Lightact is always black.

Here is a screen with configuration.


Of course the Render to Canvas node is set - in my example to Canvas 1
And marker covers layer. :slight_smile:

Hi,

I’m glad that it worked. :slight_smile:

It looks like you entered 1920 x 1080 in the Render to canvas node, which I’m not sure its correct. The x & y signify top left corner not the width and height. So in most cases they are both set to 0.

Try connecting a simple Color to texture node to Render to canvas node to test whether the render to canvas is done correctly.

Please also make sure that in the Render to canvas node, parent canvas has to be selected in its properties on the right.

The Color to texture node works!
So there must be some problem with communication between UE4 and LightAct.

Thanks a lot for your quick replies! :slight_smile:

Hi,

Can you try something for me?

If you insert a Texture invert node as shown below
texture%20invert%20node%20using

Does the texture appear (please make sure only A is selected)? Because from the fact that there is 1920 x 1080 px written below Render to canvas node it seems the texture is coming from UE4 but the alpha is 0.

If the above suggestion solved your problem then you probably have SceneColor (HDR) in RGB, Inv Opacity in A selected in the properties of your Scene capture component in UE4.
capture%20source

Cheers,
M

Sadly it is still black…

Interesting.

If you want, feel free to send over the .la project file so I can have a look.

Some other things to check:

  • Can you see UE4 output in the Spout demo receiver program. If you don’t know what that is, you can download it on Spout website.
  • If we focus on what’s displaying below the Render to canvas node for a moment and not what’s on the canvas: do you see anything at all if you play with the checkboxes on the Texture invert node?

The problem is in the UE4, the Spout Demo Receiver receives the black screen too.

Ok, so my project is in the newest UE - 4.20.3. Should I go to 4.19?

Answering your question - when I play with with the checkboxes the Canvas changes his color - with checked Red - it’s Red etc.

OK, I see.

I’m successfully running UE 4.20.2, so I doubt that spout stopped working in UE 4.20.3.

Which UE4 project are you running? Did you try with the UE4 sample project available on our website or did you create one from scratch?

I’m running on my own scratch. I cannot open the Sample Project in Visual Studio 2017 so now I’m downloading the 2015 version. :slight_smile:
And now I will try to build my own scratch in 4.19 :slight_smile:

Good morning!

Sadly, even with VS2015 and UE 4.19.2 I still receive only black color.

Best wishes,
Miłosz

Good morning Milosz,

Just to confirm that spout is working on your computer: could you please confirm that if you run Spout Sender and Spout Receiver demo applications the textures are passed between the 2 apps?

2nd: could you please post a screenshot of your Render target window and the properties of your Scene capture 2D componenet in UE4 as shown below.

scene%20capture%20properties

3rd: please run DirectX Diagnostic Tool and past the screenshot of the first tab please

And lastly, please let me know your system specs - especially the GPU.

Thanks!
Mitja

Well,
1st - There are screenshots where Lightact and Spout Sender/Receiver works.
a. receiving in Lightact

b. receiving in Spout

2nd.
a. screenshot with configuration of my RenderTarget

b. screenshot with Scene Capture Component 2D

3rd. DirectX Diagnostic Tool

4th. System Specs
Win 10 64bit Pro
Intel Core i7-6700HQ
16GB RAM
nVidia GTX1060
And all works on SSD.

Thanks!
Miłosz

After a few more to and fros in PM, what turned out to be the solution was:

I think your spout might be set to Memory share instead of Texture share.

I’ve been able to reproduce your error. In Spout2 folder, where you have Demo/spout receiver/sender programs, there is also a SPOUTDXMODE folder. In there, there is a program called SpoutDXmode.exe. Run it please. It should look like this:
SpoutDXmode

Please make sure you have Texture share enabled and not Memory share.

Because when I looked again at your Spout receiver screenshots, I saw that it says Memoryshare whereas in mine it says Textureshare

spout%20receiver

having the same issues as milosz,
sending and receiving between spout and LA works fine but when I attempt to do so through UE4 (both from scratch following the tutorial video and from the example projects) I get the same error.

I’ve set my Spout settings to what’s described above and here’s my DirectX Diagnostic below:

image

Any help would be thoroughly appreciated!

Edit: Experimenting more with the Example UE4/LA project, it seems as though the shared memory sender is working, since the cube in UE4 is rotating:

(that only works when i disable UE2LA, which causes the error)

however seemingly everything else sent doesn’t work:
image

Hi Sam,

Sorry to hear about your troubles.

I know you said that you’ve got the exact same settings as described above, but could you please post a screenshot of your Spout DX11 Receiver and SpoutDXmode windows?

image

image

You might have seen this, but there is more information in the Spout Troubleshooting user guide.

Lastly, could you please share which GPUs you have in your system?

Thanks!
Mitja

sure thing, thank you for the help!

Here we have Spout receiving from LA:


^ weirdly, info doesn’t show up whether I press spacebar or not in the demo receiver

here are my Spout settings, (called SpoutSettings rather than SpoutDXmode, not sure if that’s relevant):
image

Here’s the current GPU we’re using, although will likely be using a 1070Ti for our upcoming project:
image

So, if I understand correctly, you can send Spout from Lightact to SpoutReceiver.exe, but you cannot send Spout from UE4 to SpoutReceiver.exe? Am I correct?

When you have just UE4 and SpoutReceiver.exe running, does SpoutReceiver.exe actually detect UE4 spout sender? As in, can you select it in the select sender dialog window?

I googled that Interop Spout error you posted earlier and it might be something regarding which GPU UE4 is using. I might be completely wrong here though…

p.s. Both GPUs should be perfectly fine (you could have even something much less powerful). I’m guessing it’s something with GPU or Spout settings or, although less likely, DirectX settings.

Correct! Spout to Spout, and LA to Spout, and seemingly from LA data to UE4 (hence the rotating cube), but no textures from LA2UE/UE2LA.

When running the example UE4 project, I get this:

and the same error, which continues to pop up until I stop UE4
image

(No UE4 sender is detected when UE4 isn’t playing, and when it plays I get the error nonstop so I’m unable to check to see)