static float4 v1; static float4 v2; namespace N1 { float4 getVec() { return v1; } } namespace N2 { static float gf; float4 getVec() { return v2; } namespace N3 { float4 getVec() { return v2; } class C1 { static float4 getVec() { return v2; } }; } } float4 main() : SV_Target0 { return N1::getVec() + N2::getVec() + N2::N3::getVec() + N2::N3::C1::getVec() * N2::gf; }