• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cbuffer ModelViewProjectionConstantBuffer : register(b0)
2{
3    matrix model;
4    matrix view;
5    matrix projection;
6};
7
8struct VertexInputType
9{
10    float4 position : POSITION;
11    float2 tex : TEXCOORD0;
12};
13
14struct PixelInputType
15{
16    float4 position : SV_POSITION;
17    float2 tex : TEXCOORD0;
18};
19
20
21////////////////////////////////////////////////////////////////////////////////
22// Vertex Shader
23////////////////////////////////////////////////////////////////////////////////
24PixelInputType main(VertexInputType input)
25{
26    PixelInputType output;
27
28    // Change the position vector to be 4 units for proper matrix calculations.
29    input.position.w = 1.0f;
30
31    // Calculate the position of the vertex against the world, view, and projection matrices.
32    output.position = mul(input.position, model);
33    output.position = mul(output.position, view);
34    output.position = mul(output.position, projection);
35    // Store the texture coordinates for the pixel shader.
36    output.tex = input.tex;
37
38    return output;
39}
40