#include "Macros.fxh" DECLARE_CUBEMAP(skybox, 0); BEGIN_CONSTANTS float4x4 ViewProjection _vs(c0) _cb(c0); END_CONSTANTS struct VertexShaderInput { float3 Position : POSITION; }; struct VertexShaderOutput { float4 Position : SV_POSITION; float3 TexCoord : TEXCOORD; }; VertexShaderOutput main_vs(VertexShaderInput input) { VertexShaderOutput output; output.Position = mul(float4(input.Position, 1.0), ViewProjection); output.Position = output.Position.xyww; output.TexCoord = input.Position; return output; } float4 main_ps(VertexShaderOutput input) : SV_TARGET0 { return SAMPLE_CUBEMAP(skybox, input.TexCoord); } Technique Skybox { Pass { VertexShader = compile vs_3_0 main_vs(); PixelShader = compile ps_3_0 main_ps(); } }