54 lines
1.2 KiB
Plaintext
54 lines
1.2 KiB
Plaintext
sampler samp0_ : register(s0);
|
|
|
|
//2 top-level semantics are provided by the engine in the case of 2D render objects:
|
|
// WORLD:
|
|
// Contains the transformation matrix of the render object.
|
|
// VIEWPROJECTION:
|
|
// Contains the projection*camera matrix, used for correctly tranforming vertices to screen-space coordinates.
|
|
float4x4 g_mWorld : WORLD;
|
|
float4x4 g_mViewProj : VIEWPROJECTION;
|
|
|
|
float frame_;
|
|
|
|
struct VS_INPUT {
|
|
float4 position : POSITION;
|
|
float4 diffuse : COLOR0;
|
|
float2 texCoord : TEXCOORD0;
|
|
};
|
|
struct PS_INPUT {
|
|
float4 position : POSITION;
|
|
float4 diffuse : COLOR0;
|
|
float2 texCoord : TEXCOORD0;
|
|
};
|
|
struct PS_OUTPUT {
|
|
float4 color : COLOR0;
|
|
};
|
|
|
|
PS_INPUT mainVS(VS_INPUT inVs) {
|
|
PS_INPUT outVs;
|
|
|
|
outVs.diffuse = inVs.diffuse;
|
|
outVs.texCoord = inVs.texCoord;
|
|
outVs.position = mul(inVs.position, g_mWorld);
|
|
outVs.position = mul(outVs.position, g_mViewProj);
|
|
outVs.position.z = 1.0f;
|
|
|
|
return outVs;
|
|
}
|
|
|
|
PS_OUTPUT mainPS(PS_INPUT inPs) {
|
|
PS_OUTPUT outPs;
|
|
|
|
outPs.color = tex2D(samp0_, inPs.texCoord - float2(frame_, 0)) * inPs.diffuse;
|
|
|
|
return outPs;
|
|
}
|
|
|
|
technique Render {
|
|
pass P0 {
|
|
VertexShader = compile vs_2_0 mainVS();
|
|
PixelShader = compile ps_2_0 mainPS();
|
|
}
|
|
}
|
|
|