#define COMMON using namespace Common; namespace Common #ifdef VS_SHADER #define VS using namespace VertexShader; namespace VertexShader #else #define VS namespace VertexShader_DO_NOT_USE #endif #ifdef PS_SHADER #define PS using namespace PixelShader; namespace PixelShader #else #define PS namespace PixelShader_DO_NOT_USE #endif COMMON { struct PS_INPUT { float4 m_vPosition : SV_Position; } } VS { cbuffer CameraInfo { float4x4 m_viewProj; }; struct VS_INPUT { float3 m_vPosition: POSITION; } PS_INPUT vsMain( VS_INPUT i ) { PS_INPUT o; o.m_vPosition = { i.m_vPosition, 1 }; return o; } } PS { float4 psMain( PS_INPUT i ) { return float4(1); } }