first:Change the cullmode
technique Two_Side
{
pass p0
{
......
CullMode = NONE;
......
}
}
second,In the vertexshader,calculate the Normal :
VERTEX_OUTPUT Two_Side_VS(const VERTEX_INPUT Input)
{
.......
float4 WorldPos = mul(float4(Input.position.xyz,1.0),matWorld);
float3 ViewVec.xyz = vecViewPos - WorldPos;
float3 Normal = mul(float4(Input.normal.xyz,1.0),transpose(matWorldInv));
Normal = mul(ViewVec.xyz,Normal.xyz)>0?Normal,-Normal;//if CCW face is visible,flip Normal
.......
}