When using the scenecapture2d to send a texture render target instead of the viewport the colours arn't correct
Closed this issue · 7 comments
BTW - this doesn't seem to happen with the viewport but I'd like to be able to use multiple senders. Also when I look at the rendertarget2D it looks correct so the scencapture2d seems to be capturing things properly.
Ive looked through your code (SpoutBPFunctionLibrary.cpp) and both cases (viewport/texture) seem to be treated in the same way and use the same texture format (87 - DXGI_FORMAT_B8G8R8A8_UNORM). I'm a bit lost as to where the colour change is happening, any ideas?
Good question
yes I also want to capture different views with good image,
im not sure how unreal creates the world, the renderer, viewpot ,etc
I added a new parameter to spoutSender, "targetGamma", at least partly resolves.
I have no idea why the color is different when the pixel format is correct.
http://spout.zeal.co/forums/topic/creating-spout-sender-for-vbs3/#post-1753
Are you able to post the changed you made to spout please? I need to use a new spout version (currently unreleased) that allows for more than 10 senders so I'll need to recompile the dll.
Its weird why the viewport works but not the render texture. I've done a shared memory transfer of the render texture and it works fine so the spout plugin sees the data fine. I'm guessing the viewport must apply some gamma changes as things are drawn.
I think the UGameViewportClient (https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UGameViewportClient/index.html) is how the game once build renders things to the screen but I've been searching for a way to grab this like you do with the editor viewport and am yet to find one.
i changed
#define MaxSenders 10 // Max for list of Sender names
from SpoutSenderNames.h.
to
#define MaxSenders 20 // Max for list of Sender names
and upload the binaries and the code is in Therdparty folder.
use those dll if you want. i try whit touchdesigner overriding the "Spout.dll" and work
The gamma option in SpoutSender blueprint only work when capturing from Texture render target 2D and when the option "capture Source" of SceneCaptureComponent2D is Final Color(LDR with PostProcess).
yes im watching how the scene is captured for the SceneCapture, how make more windows, how split screen..
but I can not find the way that relates the viewport With the scene.
i will continue looking at the code
Changing the maxsenders like this breaks any of the old spout users. The spout developer has send me a new SDK that offers a backwards compatible was to enable more than 10 senders. If you email at sheridanis at gmail I'll send you the new sdk which if testing works out will become spout 2.05
yes of course, thanks.