How do I pass a value from a program to a variable in.usf?

How are these radius,width and height variables assigned?

#include "/Engine/Public/Platform.ush"

void MainVS(
    in uint GlobalVertexId :SV_VertexID,
	in  float4 InPosition  : ATTRIBUTE0,
	in  float2 InUV   : ATTRIBUTE1,
    out float2 OutTexSrc   :TEXCOORD0,
    out float4 OutPosition :SV_POSITION
    )
{
    OutTexSrc   = InUV;
    OutPosition = InPosition;
}

SamplerState TexSrc;
Texture2D    TexSrcObj;
//
SamplerState TexColorBar;
Texture2D    TexColorBarObj;
//
int   radius;
float width;
float height;

const float PI    = 3.141592653589793;
const float sigma = 3.0f;

float4 GaussianBlur(in float2 UV)
{
	float twoSigmaSqu = 2 * sigma * sigma;
	int r = radius; //int(ceil(sigma * 2.57));
	float allWeight = 0.0f;
	//
	vec4 col = vec4(0.0f, 0.0f, 0.0f, 0.0f);
	for (int iy = -r; iy < (r + 1); iy++)
	{
		for (int ix = -r; ix < (r + 1); ix++)
		{
			float  weight    = 1.0f / (PI * twoSigmaSqu) * exp(-(ix * ix) / twoSigmaSqu);
			float2 offset    = float2(1.0f / width * ix, 1.0f / height * iy);
			float2 uv_offset = OutTexSrcObjUV + offset;
			uv_offset.x = clamp(uv_offset.x, 0.0f, 1.0f);
			uv_offset.y = clamp(uv_offset.y, 0.0f, 1.0f);
			col += float4(Texture2DSample(TexSrcObj,TexSrc,uv_offset).rgb, 1.0f)* weight;
			allWeight += weight;
		}
	}
	col = col / allWeight;
	//灰度图映射颜色条
	col = float4(Texture2DSample(TexColorBarObj,TexColorBar,float2(col.r,1)).rgb,1.0f)
	return col;
}
 

void MainPS(
    in float2 OutTexSrc :TEXCOORD0,
    in float4 SvPosition :SV_POSITION,
    out float4 OutColor :SV_Target0
    )
{
    // 输出置换通道。
    OutColor = GaussianBlur(OutTexSrc);
}

I am learning the shader pipeline, I cannot explain it well, but you can see the official file “PostProcessTestImage.h” and “PostProcessTestImage.cpp”, and based on the “PostProcessTestImage.usf” you can find something like XXXPS::FParameters* PassParameters contain the shader parameters passed from C++