diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-06-28 17:12:09 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-06-29 12:00:09 +0000 |
commit | 15849d78b7cca848b87badcfee33db1db70b8b52 (patch) | |
tree | 1f0055732564f36c0427176f5853c4375ac0b21d /examples/quick/shadereffects/content/shaders/+hlsl/genie.vert | |
parent | f552d99f3d937ee9a8938673cd22246edbe70317 (diff) |
Migrate shadereffects example to be cross-backend
...while demonstrating best practices like file selectors.
Task-number: QTBUG-52914
Change-Id: Ibf7bca77b7b142f5ccb956e05efc5be974d53c79
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'examples/quick/shadereffects/content/shaders/+hlsl/genie.vert')
-rw-r--r-- | examples/quick/shadereffects/content/shaders/+hlsl/genie.vert | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/quick/shadereffects/content/shaders/+hlsl/genie.vert b/examples/quick/shadereffects/content/shaders/+hlsl/genie.vert new file mode 100644 index 0000000000..40876e7996 --- /dev/null +++ b/examples/quick/shadereffects/content/shaders/+hlsl/genie.vert @@ -0,0 +1,31 @@ +cbuffer ConstantBuffer : register(b0) +{ + float4x4 qt_Matrix; + float qt_Opacity; + float bend; + float minimize; + float side; + float width; + float height; +}; + +struct PSInput +{ + float4 position : SV_POSITION; + float2 coord : TEXCOORD0; +}; + +PSInput main(float4 position : POSITION, float2 coord : TEXCOORD0) +{ + PSInput result; + result.coord = coord; + + float4 pos = position; + pos.y = lerp(position.y, height, minimize); + float t = pos.y / height; + t = (3.0 - 2.0 * t) * t * t; + pos.x = lerp(position.x, side * width, t * bend); + result.position = mul(qt_Matrix, pos); + + return result; +} |