55 lines
982 B
Text
55 lines
982 B
Text
|
uniform float4x4 ViewProj;
|
||
|
uniform float4 color = {1.0, 1.0, 1.0, 1.0};
|
||
|
|
||
|
struct SolidVertInOut {
|
||
|
float4 pos : POSITION;
|
||
|
};
|
||
|
|
||
|
SolidVertInOut VSSolid(SolidVertInOut vert_in)
|
||
|
{
|
||
|
SolidVertInOut vert_out;
|
||
|
vert_out.pos = mul(float4(vert_in.pos.xyz, 1.0), ViewProj);
|
||
|
return vert_out;
|
||
|
}
|
||
|
|
||
|
float4 PSSolid(SolidVertInOut vert_in) : TARGET
|
||
|
{
|
||
|
return color;
|
||
|
}
|
||
|
|
||
|
struct SolidColoredVertInOut {
|
||
|
float4 pos : POSITION;
|
||
|
float4 color : COLOR;
|
||
|
};
|
||
|
|
||
|
SolidColoredVertInOut VSSolidColored(SolidColoredVertInOut vert_in)
|
||
|
{
|
||
|
SolidColoredVertInOut vert_out;
|
||
|
vert_out.pos = mul(float4(vert_in.pos.xyz, 1.0), ViewProj);
|
||
|
vert_out.color = vert_in.color;
|
||
|
return vert_out;
|
||
|
}
|
||
|
|
||
|
float4 PSSolidColored(SolidColoredVertInOut vert_in) : TARGET
|
||
|
{
|
||
|
return vert_in.color * color;
|
||
|
}
|
||
|
|
||
|
technique Solid
|
||
|
{
|
||
|
pass
|
||
|
{
|
||
|
vertex_shader = VSSolid(vert_in);
|
||
|
pixel_shader = PSSolid(vert_in);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
technique SolidColored
|
||
|
{
|
||
|
pass
|
||
|
{
|
||
|
vertex_shader = VSSolidColored(vert_in);
|
||
|
pixel_shader = PSSolidColored(vert_in);
|
||
|
}
|
||
|
}
|