Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
139 stars 2 forks source link

Using Updates Delay causes Render to Texture Asset misalignment #942

Open code807 opened 10 months ago

code807 commented 10 months ago

Describe the bug?

When using a Render to Texture Asset node after an Updates Delay, movement during capture can cause a rendering offset even if the object rendered and the camera are on the same slot. Capturing using the same camera without the Updates Delay node does not exhibit the same behavior.

To Reproduce

Expected behavior

The image should be captured with no skew or offset due to movement if the camera and renderers are on the same slot.

Screenshots

Resonite_mKpqbXd4ft

Resonite Version Number

2023.12.15.22

What Platforms does this occur on?

Windows

What headset if any do you use?

No response

Log Files

DESKTOP-1E2V3A8 - 2023.12.15.22 - 2023-12-19 22_52_30.log

Additional Context

No response

Reporters

code807 LuxKitty Nytra

code807 commented 10 months ago

Possibly related to https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/151

shiftyscales commented 9 months ago

This is almost certainly to be the same issue, @code807. Resolving #151 should implicitly resolve this. There would need to be a mechanism introduced that allows meshes under a common parent to be batched together in a given update.

shiftyscales commented 9 months ago

Based on feedback from Frooxius in #151 this likely is a bug. I believe it is the same underlying issue still, however.

shiftyscales commented 9 months ago

This is definitely a bug, there's no functional/intentional reason to have meshes lag like this and produce inconsistent results.

I've actually looked into this in the past and tried to schedule the rendering to happen at the moment with everything else, to ensure this won't happen, but it didn't help. It is a bit odd, because it should be submitting the rendering at the same time when all meshes were already updated.

I think I have a hunch on what would help fix this though and might need to update where the rendering happens. But we might also need to force the skinned mesh recalculation to happen for these renders, which might trigger more instances of crashes. I can have a look at some point regardless though and see what could help it.