cbuffer constants : register(b0) {
	float4x4 mvp;
}
struct vs_in {
	float3 position : position;
	float2 texcoord : texcoord;
	float4 color    : color;
};
struct vs_out {
	float4 position : SV_POSITION;
	float2 texcoord : texcoord;
	float4 color    : color;
};
Texture2D    tex : register(t0);
SamplerState smp : register(s0);
Texture2D    tex2 : register(t1);
SamplerState smp2 : register(s1);
vs_out vs_main(vs_in input) {
	vs_out output;
	output.position = mul(mvp, float4(input.position, 1.0f));
	output.texcoord = input.texcoord;
	output.color = input.color;
	return output;
}
float4 ps_main(vs_out input) : SV_TARGET {
	float4 c = tex.Sample(smp, input.texcoord);
	float4 c2 = tex2.Sample(smp2, input.texcoord);
	return c * input.color * c2;
}