[attribute]

    vec3 BaseColor;
    vec3 Normal;
    float Metallic;
    float Roughness;

[gbuffer]

    vec4 gb_color_metallic;
    vec4 gb_normal_roughness;

[attribute_to_gbuffer]

    gb_color_metallic   =vec4(BaseColor,Metallic);
    gb_normal_roughness =vec4(Normal,   Roughness);

[gbuffer_to_attribute]

    vec4 gb_cm=texture(gb_color_metallic,FragmentPosition);
    vec4 gb_cr=texture(gb_normal_roughness,FragmentPosition);

    BaseColor =gb_cm.rgb;
    Metallic  =gb_cm.a;

    Normal    =gb_cr.rgb;
    Roughness =gb_cr.a;
