diff options
author | Leander Beernaert <leander.beernaert@qt.io> | 2020-01-16 16:25:06 +0100 |
---|---|---|
committer | Leander Beernaert <leander.beernaert@qt.io> | 2020-01-16 16:25:06 +0100 |
commit | 1d333d3375874efb8d37df37dc5ef561573794ad (patch) | |
tree | 2d8c995f64c05c84c1fcceb2c5cb40fcae69855f /examples/quick/shadereffects | |
parent | b106d86c433706928b0b0c206a0d9f831681e1bf (diff) | |
parent | e79a2658cde899d6ee11ec3c0d0a3768eb2c864b (diff) |
Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: I0c5b939c70bdb91ccdf7068784308416dcaa5736
Diffstat (limited to 'examples/quick/shadereffects')
8 files changed, 0 insertions, 145 deletions
diff --git a/examples/quick/shadereffects/content/shaders/+hlsl/blur.frag b/examples/quick/shadereffects/content/shaders/+hlsl/blur.frag deleted file mode 100644 index 481a238d2a..0000000000 --- a/examples/quick/shadereffects/content/shaders/+hlsl/blur.frag +++ /dev/null @@ -1,18 +0,0 @@ -cbuffer ConstantBuffer : register(b0) -{ - float4x4 qt_Matrix; - float qt_Opacity; - float2 delta; -}; - -Texture2D source : register(t0); -SamplerState sourceSampler : register(s0); - -float4 main(float4 position : SV_POSITION, float2 coord : TEXCOORD0) : SV_TARGET -{ - return (0.0538 * source.Sample(sourceSampler, coord - 3.182 * delta) - + 0.3229 * source.Sample(sourceSampler, coord - 1.364 * delta) - + 0.2466 * source.Sample(sourceSampler, coord) - + 0.3229 * source.Sample(sourceSampler, coord + 1.364 * delta) - + 0.0538 * source.Sample(sourceSampler, coord + 3.182 * delta)) * qt_Opacity; -} diff --git a/examples/quick/shadereffects/content/shaders/+hlsl/colorize.frag b/examples/quick/shadereffects/content/shaders/+hlsl/colorize.frag deleted file mode 100644 index d6e65b6b10..0000000000 --- a/examples/quick/shadereffects/content/shaders/+hlsl/colorize.frag +++ /dev/null @@ -1,17 +0,0 @@ -cbuffer ConstantBuffer : register(b0) -{ - float4x4 qt_Matrix; - float qt_Opacity; - float4 tint; -}; - -Texture2D source : register(t0); -SamplerState sourceSampler : register(s0); - -float4 main(float4 position : SV_POSITION, float2 coord : TEXCOORD0) : SV_TARGET -{ - float4 c = source.Sample(sourceSampler, coord); - float lo = min(min(c.x, c.y), c.z); - float hi = max(max(c.x, c.y), c.z); - return float4(lerp(float3(lo, lo, lo), float3(hi, hi, hi), tint.xyz), c.w) * qt_Opacity; -} diff --git a/examples/quick/shadereffects/content/shaders/+hlsl/genie.vert b/examples/quick/shadereffects/content/shaders/+hlsl/genie.vert deleted file mode 100644 index 40876e7996..0000000000 --- a/examples/quick/shadereffects/content/shaders/+hlsl/genie.vert +++ /dev/null @@ -1,31 +0,0 @@ -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; -} diff --git a/examples/quick/shadereffects/content/shaders/+hlsl/outline.frag b/examples/quick/shadereffects/content/shaders/+hlsl/outline.frag deleted file mode 100644 index b6e7e51f35..0000000000 --- a/examples/quick/shadereffects/content/shaders/+hlsl/outline.frag +++ /dev/null @@ -1,21 +0,0 @@ -cbuffer ConstantBuffer : register(b0) -{ - float4x4 qt_Matrix; - float qt_Opacity; - float2 delta; -}; - -Texture2D source : register(t0); -SamplerState sourceSampler : register(s0); - -float4 main(float4 position : SV_POSITION, float2 coord : TEXCOORD0) : SV_TARGET -{ - float4 tl = source.Sample(sourceSampler, coord - delta); - float4 tr = source.Sample(sourceSampler, coord + float2(delta.x, -delta.y)); - float4 bl = source.Sample(sourceSampler, coord - float2(delta.x, -delta.y)); - float4 br = source.Sample(sourceSampler, coord + delta); - float4 gx = (tl + bl) - (tr + br); - float4 gy = (tl + tr) - (bl + br); - return float4(0.0, 0.0, 0.0, - clamp(dot(sqrt(gx * gx + gy * gy), float4(1.0, 1.0, 1.0, 1.0)), 0.0, 1.0) * qt_Opacity); -} diff --git a/examples/quick/shadereffects/content/shaders/+hlsl/shadow.frag b/examples/quick/shadereffects/content/shaders/+hlsl/shadow.frag deleted file mode 100644 index a86a25e007..0000000000 --- a/examples/quick/shadereffects/content/shaders/+hlsl/shadow.frag +++ /dev/null @@ -1,20 +0,0 @@ -cbuffer ConstantBuffer : register(b0) -{ - float4x4 qt_Matrix; - float qt_Opacity; - float2 offset; - float2 delta; - float darkness; -}; - -Texture2D source : register(t0); -SamplerState sourceSampler : register(s0); -Texture2D shadow : register(t1); -SamplerState shadowSampler : register(s1); - -float4 main(float4 position : SV_POSITION, float2 coord : TEXCOORD0) : SV_TARGET -{ - float4 fg = source.Sample(sourceSampler, coord); - float4 bg = shadow.Sample(shadowSampler, coord + delta); - return (fg + float4(0.0, 0.0, 0.0, darkness * bg.a) * (1.0 - fg.a)) * qt_Opacity; -} diff --git a/examples/quick/shadereffects/content/shaders/+hlsl/wobble.frag b/examples/quick/shadereffects/content/shaders/+hlsl/wobble.frag deleted file mode 100644 index c28612a2fd..0000000000 --- a/examples/quick/shadereffects/content/shaders/+hlsl/wobble.frag +++ /dev/null @@ -1,17 +0,0 @@ -cbuffer ConstantBuffer : register(b0) -{ - float4x4 qt_Matrix; - float qt_Opacity; - float amplitude; - float frequency; - float time; -}; - -Texture2D source : register(t0); -SamplerState sourceSampler : register(s0); - -float4 main(float4 position : SV_POSITION, float2 coord : TEXCOORD0) : SV_TARGET -{ - float2 p = sin(time + frequency * coord); - return source.Sample(sourceSampler, coord + amplitude * float2(p.y, -p.x)) * qt_Opacity; -} diff --git a/examples/quick/shadereffects/doc/src/shadereffects.qdoc b/examples/quick/shadereffects/doc/src/shadereffects.qdoc index d35989c262..d217c956ad 100644 --- a/examples/quick/shadereffects/doc/src/shadereffects.qdoc +++ b/examples/quick/shadereffects/doc/src/shadereffects.qdoc @@ -59,21 +59,6 @@ Direct 3D, or OpenGL. Qt automatically selects the file under the \c qsb selector, for example \c{shaders/+qsb/wobble.frag}, when present. - On the traditional code path, which can mean using OpenGL or Direct3D 12, - file selectors are used to select the correct variant at runtime. Based on - the Qt Quick backend in use, Qt will automatically select either - \c{shaders/wobble.frag} with the GLSL source code or - \c{shaders/+hlsl/wobble.frag} with the HLSL source code. - - \note For simplicity shader source code is used in all variants of the - files. However, with the Direct3D backend of Qt Quick pre-compiled shaders - are also supported. For example, try the following commands in the - \c{content/shaders/+hlsl} directory: \c{move wobble.frag wobble.frag.src} - followed by \c{fxc /E main /T ps_5_0 /Fo wobble.frag wobble.frag.src}. Now - \c wobble.frag contains Direct3D bytecode and that is what gets shipped - with the application instead of the shader source. Further changes are not - necessary, the application will function like before. - You can use any custom property on the ShaderEffect in your shader. This makes animated shader code very easy: \snippet shadereffects/shadereffects.qml properties diff --git a/examples/quick/shadereffects/shadereffects.qrc b/examples/quick/shadereffects/shadereffects.qrc index 762ad0d037..72ad2d9054 100644 --- a/examples/quick/shadereffects/shadereffects.qrc +++ b/examples/quick/shadereffects/shadereffects.qrc @@ -5,22 +5,16 @@ <file>content/qt-logo.png</file> <file>content/Slider.qml</file> <file>content/shaders/wobble.frag</file> - <file>content/shaders/+hlsl/wobble.frag</file> <file>content/shaders/+qsb/wobble.frag</file> <file>content/shaders/blur.frag</file> - <file>content/shaders/+hlsl/blur.frag</file> <file>content/shaders/+qsb/blur.frag</file> <file>content/shaders/shadow.frag</file> - <file>content/shaders/+hlsl/shadow.frag</file> <file>content/shaders/+qsb/shadow.frag</file> <file>content/shaders/outline.frag</file> - <file>content/shaders/+hlsl/outline.frag</file> <file>content/shaders/+qsb/outline.frag</file> <file>content/shaders/colorize.frag</file> - <file>content/shaders/+hlsl/colorize.frag</file> <file>content/shaders/+qsb/colorize.frag</file> <file>content/shaders/genie.vert</file> - <file>content/shaders/+hlsl/genie.vert</file> <file>content/shaders/+qsb/genie.vert</file> </qresource> </RCC> |