static ShaderSocketType convert_socket_type(BL::NodeSocket b_socket)
{
	switch (b_socket.type()) {
		case BL::NodeSocket::type_VALUE:
			return SHADER_SOCKET_FLOAT;
		case BL::NodeSocket::type_INT:
			return SHADER_SOCKET_INT;
		case BL::NodeSocket::type_VECTOR:
			return SHADER_SOCKET_VECTOR;
		case BL::NodeSocket::type_RGBA:
			return SHADER_SOCKET_COLOR;
		case BL::NodeSocket::type_STRING:
			return SHADER_SOCKET_STRING;
		case BL::NodeSocket::type_SHADER:
			return SHADER_SOCKET_CLOSURE;
		
		default:
			return SHADER_SOCKET_UNDEFINED;
	}
}
static SocketType::Type convert_socket_type(BL::NodeSocket& b_socket)
{
	switch(b_socket.type()) {
		case BL::NodeSocket::type_VALUE:
			return SocketType::FLOAT;
		case BL::NodeSocket::type_INT:
			return SocketType::INT;
		case BL::NodeSocket::type_VECTOR:
			return SocketType::VECTOR;
		case BL::NodeSocket::type_RGBA:
			return SocketType::COLOR;
		case BL::NodeSocket::type_STRING:
			return SocketType::STRING;
		case BL::NodeSocket::type_SHADER:
			return SocketType::CLOSURE;
		
		default:
			return SocketType::UNDEFINED;
	}
}