There is no string they are just IDs. The string is converted to an maxon::Id
You can not use fresnel_useior
because this is not the ID of the port. The ID of the port is com.redshift3d.redshift4c4d.nodes.core.fresnel.fresnel_useior
(and yes this is a bit verbose)
The symbol for this ID (at least in c++) should be redshift3d::redshift4c4d::nodes::core::fresnel::fresnel_useior but again they are not exposed.
@ferdinand created a nice c++ example about connecting ports in redshift and using the texture node. You can see there that he first search for the port bundle and then, search for the file port.
// Retrieve the "Filename" port of the texture node.
maxon::GraphNode tex0InportRust = rustTextureNode.GetInputs().FindChild(
maxon::Id("com.redshift3d.redshift4c4d.nodes.core.texturesampler.tex0")) iferr_return;
if (!tex0InportRust.IsValid())
return maxon::UnexpectedError(MAXON_SOURCE_LOCATION, "Failed to access port."_s);
// The "Filename" port is a port bundle which consists out of two sub-ports, the "path" and the
// "layer" port. The texture URL is written into the "path" sub-port.
maxon::GraphNode pathInportRust = tex0InportRust.FindChild(maxon::Id("path")) iferr_return;
if (!pathInportRust.IsValid())
return maxon::UnexpectedError(MAXON_SOURCE_LOCATION, "Failed to access port."_s);
// Set the path of the rust texture node to the URL of the rust texture asset.
pathInportRust.SetDefaultValue(rustTextureUrl) iferr_return;
Cheers,
Manuel