[attribute] vec3 BaseColor; vec3 Normal; float Metallic; float Roughness; [gbuffer] vec4 gb_color_metallic; vec4 gb_normal_roughness; [attribute_to_gbuffer] gb_color_metallic.rgb =BaseColor; gb_color_metallic.a =Metallic; gb_normal_roughness.rgb =Normal; gb_normal_roughness.a =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;