Martin Gräßlin
d7665af4f0
Texture width and height is stored in GLShader and the uniform value is set during prepareShaderRenderStates in scene_opengl. So the effects do not have to set the uniform manually. This is useful as other effects can still set this uniform if something different is rendered with a different texture width/height (e.g. shadows or thumbnails). When the window is finally rendered the original value set by the effect is definatelly used.
...
First effect to use this new way to set texture width and height is invert effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=959835
2009-04-27 11:07:15 +00:00
Lucas Murray
d69942d215
Reverted the text part of the previous commit, seems the bug is in Qt
...
(Premultiplied text painting on a non-premultiplied QImage). Fixed text
color of frameless and unstyled frames when using a Plasma theme that
has a non-white primary text color. Updated
GLTexture::convertToGLFormat() to use the latest version from Qt.
svn path=/trunk/KDE/kdebase/workspace/; revision=934008
2009-03-02 06:10:23 +00:00
Luboš Luňák
31e4e950b6
Handle Y inverting properly with normalized coordinates.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=904306
2009-01-01 21:12:34 +00:00
Lucas Murray
6d41a1320e
Moved all debug, warning and error messages into the KWin 1212 area.
...
Replaced deprecated kdDebug() with kDebug().
Removed empty debug messages.
svn path=/trunk/KDE/kdebase/workspace/; revision=885620
2008-11-17 15:04:52 +00:00
Luboš Luňák
8e5f95a9d6
Make a more explicit distinction between using normalized and non-normalized
...
texture coordinates - it cost me hours to find out why something was misdrawing :(.
svn path=/trunk/KDE/kdebase/workspace/; revision=854546
2008-08-29 18:54:28 +00:00
Luboš Luňák
f77561ce65
Don't discard window texture when only the shape changes but the window
...
geometry actually stays the same. Avoids large number of rebinds (with no
strict binding) with the launch feedback icon.
svn path=/trunk/KDE/kdebase/workspace/; revision=787948
2008-03-20 10:05:41 +00:00
Luboš Luňák
cff2b0e6cd
Abstract paint clipping into PaintClipper helper class that allows
...
stacking of clipping regions.
(http://lists.kde.org/?l=kwin&m=120138051215450&w=2 )
BUG: 156798
svn path=/trunk/KDE/kdebase/workspace/; revision=779045
2008-02-25 11:32:21 +00:00
Luboš Luňák
110f76ecd8
Change some of the debug messages to warnings, so compositing setup failures
...
show up also in release builds.
svn path=/trunk/KDE/kdebase/workspace/; revision=762175
2008-01-16 12:44:45 +00:00
Luboš Luňák
bb433ac40e
No longer include config*.h files in installed headers.
...
Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=749628
2007-12-17 14:14:53 +00:00
Luboš Luňák
01bf6cbb4c
License cleanup - add headers where missing, be explicit about GPL
...
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Rivo Laks
85e31c0010
Reserve 80 items instead of creating them.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=741041
2007-11-24 16:51:48 +00:00
Rivo Laks
e0c50df7e3
Preallocate those vectors as well, just like mattr did with the ones in the shadow effect.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=741018
2007-11-24 16:03:19 +00:00
Rivo Laks
cc2600100c
Add a method to render round box with a dark edge and use it for alt-tab's frame.
...
Now the frame has a slight edge/border around it which makes it look much better IMHO.
svn path=/trunk/KDE/kdebase/workspace/; revision=704310
2007-08-24 15:44:52 +00:00
Thiago Macieira
d2aee14a35
Remove use of k_funcinfo
...
svn path=/trunk/KDE/kdebase/workspace/; revision=702583
2007-08-20 21:33:48 +00:00
Laurent Montel
994c800d79
Adapt to new KWarning/kFatal/kDebug api
...
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Rivo Laks
42a4d364c2
Add a generic function to render a box with rounded corners.
...
Algorithm is basically same as for shadow, perhaps even shadow will use it.
svn path=/trunk/KDE/kdebase/workspace/; revision=683514
2007-07-04 20:33:35 +00:00
Rivo Laks
65bc41c518
Argh.. fix typo
...
svn path=/trunk/KDE/kdebase/workspace/; revision=675479
2007-06-14 10:36:02 +00:00
Rivo Laks
424f906ab2
- Add optional color argument to renderGLGeometry() functions. If specified, it's used as vertex colors
...
array when rendering.
- Rearrange some renderGLGeometry() parameters.
- Don't use opengl arrays and glDrawArrays() when rendering a small number of vertices since in this
case overhead of enabling/disabling the array is too big. Use immediate mode instead in such case.
svn path=/trunk/KDE/kdebase/workspace/; revision=675467
2007-06-14 10:05:51 +00:00
Pino Toscano
38267e8ac6
less qt3support
...
svn path=/trunk/KDE/kdebase/workspace/; revision=672194
2007-06-06 10:37:37 +00:00
Luboš Luňák
eb4fb38657
Have a separate list for glx extensions, to avoid mistakes - now initGL()
...
is called after initGLX(), so the glx extensions are reset.
svn path=/trunk/KDE/kdebase/workspace/; revision=669818
2007-05-30 13:55:29 +00:00
Luboš Luňák
6e8ca14379
Svnrevertlast, the file as a whole should be opengl-only.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661861
2007-05-06 20:39:09 +00:00
Aaron J. Seigo
da80cba35c
compile fixes; and now to find out why it thinks i don't have gl installed ;)
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661574
2007-05-06 00:17:21 +00:00
David Faure
38099ef7e5
Major config.h cleanup, moved much stuff to config-X11.h and to config-fish.h
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661060
2007-05-04 13:51:35 +00:00
Luboš Luňák
f52b8e48cd
branches/work/kwin_composite becomes new trunk kwin.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993
Remove kwin, kwin_composite will become new trunk kwin, missing merges
...
from trunk will be merged in.
svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Rivo Laks
a94aa904b0
Well, actually GLRenderTarget doesn't require NPOT textures (it works with rectangle textures as well).
...
That also means that those effects which do require NPOT have to check for it themselves.
svn path=/branches/work/kwin_composite/; revision=659155
2007-04-29 15:39:33 +00:00
Rivo Laks
f00d1745ed
Add static GLRenderTarget::supported() and make effects use it instead of checking for FBO extension
...
themselves.
Fix memory leak in Test_FBO effect.
svn path=/branches/work/kwin_composite/; revision=658804
2007-04-28 14:38:06 +00:00
Rivo Laks
24c8663923
Add GLShader dtor (fixes memory leak).
...
Also fix multiple memory leaks in effects.
svn path=/branches/work/kwin_composite/; revision=658761
2007-04-28 13:19:36 +00:00
Rivo Laks
6e62dcb922
Add GLTexture::setWrapMode() call to set texture's OpenGL wrap mode.
...
Liquid demo effect now sets wrap mode to CLAMP to ensure that the texture won't wrap at edges
of the screen, which would make other side of the screen visible there.
svn path=/branches/work/kwin_composite/; revision=658748
2007-04-28 12:25:54 +00:00
Laurent Montel
67f6750ab3
Remove not necessary include
...
svn path=/trunk/KDE/kdebase/workspace/; revision=656776
2007-04-22 11:14:24 +00:00
Luboš Luňák
ffc75a2214
GLTexture::render(), to render to a given QRect
...
svn path=/branches/work/kwin_composite/; revision=656521
2007-04-21 16:12:03 +00:00
Luboš Luňák
cd98bc12d5
Shared implementation of rendering gl geometry.
...
svn path=/branches/work/kwin_composite/; revision=656516
2007-04-21 16:02:19 +00:00
Rivo Laks
ec29f33832
Make enable/disableUnnormalizedTexCoords() work with custom textures (e.g. rendertarget ones).
...
Make texture dirty when enabling rendertarget.
svn path=/branches/work/kwin_composite/; revision=656496
2007-04-21 15:04:37 +00:00
Rivo Laks
cc1a7a9eca
Add GLRenderTarget class.
...
The render target is used to render the scene (or part of it) onto texture. This texture can then be used
e.g. to do some postprocessing.
Demo effect coming soon.
Move checkGLError() to kwineffects.*
Add GLTexture ctor which takes width and height and creates an empty texture (to be used with
GLRenderTarget to render onto it)
svn path=/branches/work/kwin_composite/; revision=655489
2007-04-18 15:22:13 +00:00
Rivo Laks
0353f3376e
Make effects actual plugins, so it's possible to load them on runtime.
...
There's also a kwineffects library now, containing the effects API, which makes it possible to write
third-party effects.
API isn't complete yet and for now just two effects have been converted but I'm working on it :-)
svn path=/branches/work/kwin_composite/; revision=652226
2007-04-10 13:02:08 +00:00