Closed dibli-goost closed 1 year ago
This is a known limitation. There's no good way to retrieve shader outputs information from a compiled shader, and there would be no way to differentiate between texture inputs that are meant to be input sockets and those that are meant to be regular material parameters.
Pipelines can choose between a node-based workflow and a code-based workflow, but they are not 100% interchangeable.
When using nodes you can always write a custom function and use it as a single node in the tree. The other option is to implement a custom render node and specify the IO manually, which is what many of the built-in render nodes do: https://github.com/bnpr/Malt/blob/Development/Malt/Nodes/LineRender.py
Malt version
Node Groups
Blender version
Blender 3.4.1
OS
Windows 10
Hardware info
AMD Ryzen Threadripper 1920x 12-Core Processor, 3950 Mhz, 24 Logical Processors | 32GB RAM | Radeon RX 570 Series
Issue description and reproduction steps
When using a GLSL file instead of a node tree on the Screen Pass node, Malt fails to generate Input and Output sockets for the node. It is still generating the parameters on the node however.
I've tried using the auto generated GLSL file for the background screen pass, and an altered version of it with some cleaner looking code. But neither work.
Attachments
GLSL Files Bug.zip