mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1023 B
39 lines
1023 B
cbuffer ModelViewProjectionConstantBuffer : register(b0) |
|
{ |
|
matrix model; |
|
matrix view; |
|
matrix projection; |
|
}; |
|
|
|
struct VertexInputType |
|
{ |
|
float4 position : POSITION; |
|
float2 tex : TEXCOORD0; |
|
}; |
|
|
|
struct PixelInputType |
|
{ |
|
float4 position : SV_POSITION; |
|
float2 tex : TEXCOORD0; |
|
}; |
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////// |
|
// Vertex Shader |
|
//////////////////////////////////////////////////////////////////////////////// |
|
PixelInputType main(VertexInputType input) |
|
{ |
|
PixelInputType output; |
|
|
|
// Change the position vector to be 4 units for proper matrix calculations. |
|
input.position.w = 1.0f; |
|
|
|
// Calculate the position of the vertex against the world, view, and projection matrices. |
|
output.position = mul(input.position, model); |
|
output.position = mul(output.position, view); |
|
output.position = mul(output.position, projection); |
|
// Store the texture coordinates for the pixel shader. |
|
output.tex = input.tex; |
|
|
|
return output; |
|
}
|
|
|