CHAPTER 3 ■ WORKING WITH 2D IMAGES/TEXTURES IN XNA 3.0
258
Now it’s time for the vertex shader, which will make use of the method defined previously:
ExpVertexToPixel ExplosionVS(float3 inPos: POSITION0,
➥
float4 inTexCoord: TEXCOORD0, float4 inExtra: TEXCOORD1)
{
ExpVertexToPixel Output = (ExpVertexToPixel)0;
float3 startingPosition = mul(inPos, xWorld);
float2 texCoords = inTexCoord.xy;
float birthTime = inTexCoord.z;
float maxAge = inTexCoord.w;
float3 moveDirection = inExtra.xyz;
float random = inExtra.w;
}
This vertex shader receives the Vector3 and the two Vector4s you stored for each vertex.
First, the content of this data is stored in some more meaningful variables. The position of the
center of the billboard was stored in the Vector3 ...