~josephjamesmills/u2t/dailybuilds

« back to all changes in this revision

Viewing changes to shell/3rdparty/shaders/isolate.fsh

  • Committer: Joseph Mills
  • Date: 2013-01-30 22:00:35 UTC
  • Revision ID: josephjamesmills@ubuntu.com-20130130220035-9bt17q998iql9smy
* adding tv guide youtube and netfilxs 
* fixed dash rendering issues 
* removed some doubled files 
* added more translations 
* added framework for previews for news and torrents
* added torrents and news lens to d/control 
* added string validatiors for dconf settings
* ITV.qml: changed "ubuntu tv extra's" to "ubuntu tv extras" 
modified:
  config.h.in
  debian/changelog
  debian/control
  libunity-2d-private/Unity2d/plugin.cpp
  session/2d-ubuntu.session
  shell/3rdparty/ITV/ITV.qml
  shell/3rdparty/qtv-qml/content/PreviewTextRight.qml
  shell/3rdparty/qtv-qml/content/ProgresBar.qml
  shell/3rdparty/qtv-qml/content/ProgresDialog.qml
  shell/3rdparty/qtv-qml/content/SearchBar.qml
  shell/3rdparty/qtv-qml/content/SearchBox.qml
  shell/3rdparty/qtv-qml/content/SearchEntryTVDB.qml
  shell/3rdparty/qtv-qml/content/SerieDelegate.qml
  shell/3rdparty/qtv-qml/content/SerieModel.qml
  shell/3rdparty/qtv-qml/content/SeriesDelegate.qml
  shell/3rdparty/qtv-qml/content/StatusBar.qml
  shell/3rdparty/qtv-qml/content/TextButton.qml
  shell/3rdparty/qtv-qml/main.qml
  shell/common/Background.qml
  shell/common/IconTile.qml
  shell/common/SearchEntry.qml
  shell/common/utils.js
  shell/dash/ButtonBackground.qml
  shell/dash/Dash.qml
  shell/dash/LensBar.qml
  shell/dash/LensButton.qml
  shell/dash/ListViewWithScrollbar.qml
  shell/dash/previews/MythTvPreview.qml
  shell/dash/previews/Previews.qml
  shell/dash/previews/VideoPreview.qml
  shell/dash/renderTypes/RendererCoverFlow.qml
  shell/dash/renderTypes/TileHorizontal.qml
  shell/dash/renderTypes/TileVertical.qml
  shell/launcher/LauncherItem.qml
  shell/launcher/SimpleLauncher.qml
  shell/systeminfo/SettingsMangerParser.qml

added:
  shell/3rdparty/mythweb/
  shell/3rdparty/mythweb/BrowserHeader.qml
  shell/3rdparty/mythweb/BrowserScrollbars.qml
  shell/3rdparty/mythweb/ButtonBackground.qml
  shell/3rdparty/mythweb/FlicableWebView.qml
  shell/3rdparty/mythweb/MythWeb.qml
  shell/3rdparty/shaders/
  shell/3rdparty/shaders/billboard.fsh
  shell/3rdparty/shaders/blackandwhite.fsh
  shell/3rdparty/shaders/emboss.fsh
  shell/3rdparty/shaders/gaussianblur_h.fsh
  shell/3rdparty/shaders/gaussianblur_v.fsh
  shell/3rdparty/shaders/glow.fsh
  shell/3rdparty/shaders/isolate.fsh
  shell/3rdparty/shaders/magnify.fsh
  shell/3rdparty/shaders/pagecurl.fsh
  shell/3rdparty/shaders/pixelate.fsh
  shell/3rdparty/shaders/posterize.fsh
  shell/3rdparty/shaders/ripple.fsh
  shell/3rdparty/shaders/selectionpanel.fsh
  shell/3rdparty/shaders/sepia.fsh
  shell/3rdparty/shaders/sharpen.fsh
  shell/3rdparty/shaders/shockwave.fsh
  shell/3rdparty/shaders/sobeledgedetection1.fsh
  shell/3rdparty/shaders/sobeledgedetection2.fsh
  shell/3rdparty/shaders/tiltshift.fsh
  shell/3rdparty/shaders/toon.fsh
  shell/3rdparty/shaders/vignette.fsh
  shell/3rdparty/shaders/warhol.fsh
  shell/3rdparty/shaders/wobble.fsh
  shell/dash/previews/NewsPreviews.qml
  shell/dash/previews/TorrentsPreview.qml
  shell/shell.qmlproject.user

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 
4
** All rights reserved.
 
5
** Contact: Nokia Corporation (qt-info@nokia.com)
 
6
**
 
7
** This file is part of the Qt Mobility Components.
 
8
**
 
9
** $QT_BEGIN_LICENSE:LGPL$
 
10
** GNU Lesser General Public License Usage
 
11
** This file may be used under the terms of the GNU Lesser General Public
 
12
** License version 2.1 as published by the Free Software Foundation and
 
13
** appearing in the file LICENSE.LGPL included in the packaging of this
 
14
** file. Please review the following information to ensure the GNU Lesser
 
15
** General Public License version 2.1 requirements will be met:
 
16
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
17
**
 
18
** In addition, as a special exception, Nokia gives you certain additional
 
19
** rights. These rights are described in the Nokia Qt LGPL Exception
 
20
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
21
**
 
22
** GNU General Public License Usage
 
23
** Alternatively, this file may be used under the terms of the GNU General
 
24
** Public License version 3.0 as published by the Free Software Foundation
 
25
** and appearing in the file LICENSE.GPL included in the packaging of this
 
26
** file. Please review the following information to ensure the GNU General
 
27
** Public License version 3.0 requirements will be met:
 
28
** http://www.gnu.org/copyleft/gpl.html.
 
29
**
 
30
** Other Usage
 
31
** Alternatively, this file may be used in accordance with the terms and
 
32
** conditions contained in a signed written agreement between you and Nokia.
 
33
**
 
34
**
 
35
**
 
36
**
 
37
**
 
38
** $QT_END_LICENSE$
 
39
**
 
40
****************************************************************************/
 
41
 
 
42
// Based on http://kodemongki.blogspot.com/2011/06/kameraku-custom-shader-effects-example.html
 
43
 
 
44
uniform float targetHue;
 
45
uniform float windowWidth;
 
46
uniform float dividerValue;
 
47
 
 
48
uniform sampler2D source;
 
49
uniform lowp float qt_Opacity;
 
50
varying vec2 qt_TexCoord0;
 
51
 
 
52
void rgb2hsl(vec3 rgb, out float h, out float s, float l)
 
53
{
 
54
    float maxval = max(rgb.r, max(rgb.g, rgb.b));
 
55
    float minval = min(rgb.r, min(rgb.g, rgb.b));
 
56
    float delta = maxval - minval;
 
57
    l = (minval + maxval) / 2.0;
 
58
    s = 0.0;
 
59
    if (l > 0.0 && l < 1.0)
 
60
        s = delta / (l < 0.5 ? 2.0 * l : 2.0 - 2.0 * l);
 
61
    h = 0.0;
 
62
    if (delta > 0.0)
 
63
    {
 
64
        if (rgb.r == maxval && rgb.g != maxval)
 
65
            h += (rgb.g - rgb.b ) / delta;
 
66
        if (rgb.g == maxval && rgb.b != maxval)
 
67
            h += 2.0  + (rgb.b - rgb.r) / delta;
 
68
        if (rgb.b == maxval && rgb.r != maxval)
 
69
            h += 4.0 + (rgb.r - rgb.g) / delta;
 
70
        h *= 60.0;
 
71
    }
 
72
}
 
73
 
 
74
void main()
 
75
{
 
76
    vec2 uv = qt_TexCoord0.xy;
 
77
    vec3 col = texture2D(source, uv).rgb;
 
78
    float h, s, l;
 
79
    rgb2hsl(col, h, s, l);
 
80
    float h2 = (h > targetHue) ? h - 360.0 : h + 360.0;
 
81
    float y = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b;
 
82
    vec3 result;
 
83
    if (uv.x > dividerValue || (abs(h - targetHue) < windowWidth) || (abs(h2 - targetHue) < windowWidth))
 
84
        result = col;
 
85
    else
 
86
        result = vec3(y, y, y);
 
87
    gl_FragColor = qt_Opacity * vec4(result, 1.0);
 
88
}