MrKepzie / Natron

Open-source compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
www.natron.fr
GNU General Public License v2.0
1.49k stars 164 forks source link

ShaderToy nodes render black on project reload #1726

Closed hpetrus closed 6 years ago

hpetrus commented 6 years ago

ShaderToy nodes and PyPlugs render black when a project is reloaded into a fresh Natron session. Dumping cache(s) and moving the time line doesn't fix the problem.

Only deleting the node and replacing it with a fresh one for that session alleviates the problem, but once you save and re-open the project, the same behaviour occurs. You cannot remove the offending node and re-insert it into the graph to get it to work. It must be a new one.

No errors are reported and there are no pop-ups.

OS: Linux Mint 18.3 GPU: 2 x GTX1080 Ti Drivers: nVidia proprietary 390.xx

devernay commented 6 years ago

I cannot reproduce this. Can you please give details about the Natron version you are using, and did you test with the latest snapshot? Does the project render correctly from the command-line ? (using NatronRenderer) Can you post a sample project?

fabiof17 commented 6 years ago

The bug is real. Wether you use the Windows or Linux version.

hpetrus commented 6 years ago

The issue for community plugins is that once you save your project with a shadertoy-using plugin, and then reload your project, the group’s input and output nodes are disconnected. Once you go into the group and reconnect them manually, and save, they load fine again. On Mon, Feb 26, 2018 at 05:17 fabiof17 notifications@github.com wrote:

The bug is real. Wether you use the Windows or Linux version.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MrKepzie/Natron/issues/1726#issuecomment-368453452, or mute the thread https://github.com/notifications/unsubscribe-auth/ADoj_L9dHuyr4UZp68QxVv06Kas2GY8pks5tYoS-gaJpZM4R-lhq .

hpetrus commented 6 years ago

I smashed my head several times before I found that out. Very weird behaviour. On Mon, Feb 26, 2018 at 05:40 HPetrus haigpetrus@gmail.com wrote:

The issue for community plugins is that once you save your project with a shadertoy-using plugin, and then reload your project, the group’s input and output nodes are disconnected. Once you go into the group and reconnect them manually, and save, they load fine again. On Mon, Feb 26, 2018 at 05:17 fabiof17 notifications@github.com wrote:

The bug is real. Wether you use the Windows or Linux version.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MrKepzie/Natron/issues/1726#issuecomment-368453452, or mute the thread https://github.com/notifications/unsubscribe-auth/ADoj_L9dHuyr4UZp68QxVv06Kas2GY8pks5tYoS-gaJpZM4R-lhq .

fabiof17 commented 6 years ago

I had a quick look at the .ntp file. It seems to be missing the description for the Shadertoy node connections. That's why they are brocken once you reopen the project --> BUG :/

devernay commented 6 years ago

so this happens only when the shadertoy is inside a pyplug? can you attach a sample project?

fabiof17 commented 6 years ago

Shadertoy_PyPlug.ntp.tar.gz

The PyPlug used is this one :

https://github.com/NatronVFX/natron-plugins/tree/master/GLSL/Bilateral_GL

devernay commented 6 years ago

This may be caused caused by the fact that changedParam() is never called when loading a PyPlug: https://github.com/MrKepzie/Natron/commit/f526b420128d23e3cca97a32ace04c44c0023b2e https://github.com/MrKepzie/Natron/issues/1637

I'll continue the investigations

devernay commented 6 years ago

fixed by https://github.com/NatronGitHub/Natron/commit/9ae7ce09cebd1ea8c7a0d4a42701d4d6f6665097 (but unfortunately the project has to be re-created)