Hello everyone :)
I don’t understand why skiaTexture doesn’t give me the texture output that I’m expecting.
I’ve tried different formats but the output is always different from the input.
For sure I’m missing something… Someone can help me?
I guess this is a transparency issue. looks like your boxes come with transparent background and your “ClearColor” on skia texture draws a white background. Set Clear color alpha to zero.
you don’t need to render the image twice. “SkiaTexture” is a renderer itself. Just input your SKIA elements directly into it. Still, it is interesting why the double renderer construction fails. Can anybody shed some light on this?
Stride and Skia use different graphics devices. The images / textures they produce via nodes like Renderer (Offscreen) or TextureRenderer are bound to their specific devices. Accessing them from another device is not possible. In your example patch we run exactly into that situation, the DrawImage wants to read from an image which belongs to the device of the “Skia world” while it itself is rendering onto a surface of the “Stride world”.
A workaround would be to “download” the image from GPU to CPU accessible memory in between with a node called ToRasterImage. Sadly such a download is rather expensive. There’s more efficient way with the SkImageToVideoStream and then going back with VideoStreamToSkImage, but those nodes will introduce some sort of delay of ~2-3 frames.
The optimal solution would be that both Skia and Stride use the same graphics device, however there are some still unsresolved issues which prevent us from doing that.