//Effect to render a poygon with no texturing, just solid fill

matrix matWorldViewProj;	//The World*View*Projection matrix

texture texDiffuseMap; //The diffuse colour texture map

VertexShader VS11 =
	decl
	{
		stream 0;
		float v0[3];	//Vertex Position
		d3dcolor v1[1]; //Vertex Colour
	}
	asm
	{
		vs.1.1					//Version 1.1 Vertex Shader
		m4x4	oPos, v0, c0	//Transform vertex to projection space and place in position register
		mov		oD0, v1			//Move vertex colour into colour register
	};
	
PixelShader PS14 =
	asm
	{
		ps.1.4					//Version 1.4 Pixel Shader
		mov r0, v0				//Move input colour into output colour register
	};

PixelShader PS13 =
	asm
	{
		ps.1.3					//Version 1.3 Pixel Shader
		mov r0, v0				//Move input colour into output colour register
	};
	
//First technique is for VS1.1 and PS1.4
technique VS1_1__PS_1_4
{
	pass P0
	{
		//Load matrices
		VertexShaderConstant[0] = <matWorldViewProj>; // World*View*Projection
		
		Texture[0] = NULL;
		
		VertexShader = <VS11>;
		PixelShader = <PS14>;
	}
}

//Second technique is for VS1.1 and PS1.3
technique VS1_1__PS_1_3
{
	pass P0
	{
		//Load matrices
		VertexShaderConstant[0] = <matWorldViewProj>; // World*View*Projection
		
		Texture[0] = NULL;
		
		VertexShader = <VS11>;
		PixelShader = <PS13>;
	}
}

//First technique for no shaders
technique Intel_Default
{
    pass P0
    {
        VertexShader = XYZ | Diffuse;
        
        // textures
        Texture[0] = NULL;
        
        // texture stages
        ColorOp[0]   = SELECTARG2;
        AlphaOp[0]   = SELECTARG2;
    }
}

technique Xaber_Default
{
    pass P0
    {
        VertexShader = XYZ | Diffuse;
        
        // textures
        Texture[0] = NULL;
        
        // texture stages
        ColorOp[0]   = SELECTARG2;
        AlphaOp[0]   = SELECTARG2;
    }
}