 fragment_source = ```
 	FRAG_RESULT(0) Vec4 RESULT0;
 
-	f32 sinu(f32 x) {
-		return abs(sin(x));
-	}
-
 	MAIN {
 		Vec3 c = 1.0 - frag_color;
 		RESULT0 = Vec4(c * sinu(0.60 * p_osc.time), 1.0);

	VERT_ATTR(0) Vec2 a_pos;
	VERT_ATTR(1) Vec3 a_color;

	f32 sinu(f32 x) {
		return abs(sin(x));
	}

	MAIN {
		// frag_color = a_color;
		frag_color = Vec3(

]

shared_source = ```
	f32 sinu(f32 x) {
		return abs(sin(x));
	}

	PARAM_BLOCK_FIXED(ColorFactors, 0) {
		f32 rg;
		f32 gb;
