Commit graph

7712 commits

Author SHA1 Message Date
Martin Gräßlin
ef7fd87d65 Mirror bottom cube cap in shader. 2011-01-30 14:12:02 +01:00
Martin Gräßlin
75a1ee7aa8 CubeCaps back in GLES mode.
This includes quite some refactoring. For the cube cap a VBO is used
instead of glLists and all the required transformations are moved into
paintCap() which makes paintScreen more clean.
Currently the mirroring of bottom texture is still missing and cylinder
and sphere caps are not yet ported to using VBO.
I wouldn't be surprised if it is broken for legacy GL atm.
2011-01-30 14:12:02 +01:00
Martin Gräßlin
e5b6baeda9 Reflection plane in cube effect and GLSL 2011-01-30 14:12:02 +01:00
Martin Gräßlin
ad070909a3 Reflection plane in Coverswitch and GLES
CoverSwitch uses new concept of combining a custom fragment shader with the
built-in generic vertex shader. This shader is used to render the reflection
plane on top of the reflected windows.
The fragment shader uses two uniform colors for front and back and interpolates
between them based on the texcoords (which are not used for texture lookup).
The reflection plane vertices could be buffered.
2011-01-30 14:12:02 +01:00
Martin Gräßlin
a4e4752109 Combine built-in vertex with custom fragment shader
ShaderManager supports a new concept to load just a fragment shader from file
and use a built-in shader for the vertex shader. This allows an effect to use
a custom fragment shader.
2011-01-30 14:12:02 +01:00
Martin Gräßlin
054c8a62a6 Reflected windows in coverswitch
Reflection plane is still missing
On special request I added showing the reflected windows during the animation when the shader is used
2011-01-30 14:12:02 +01:00
Martin Gräßlin
ec1ec18260 Bring back some configuration interfaces 2011-01-30 14:12:02 +01:00
Martin Gräßlin
82b8faadab Welcome back Cube effect
Currently working:
* cube slide
* basic cube
* rotations
* reflections

Not working:
* Cube Inside effects
* Reflection plane (needs to be done in a shader)
* cube caps
* sphere/cylinder
* filled in areas in multi desktop
2011-01-30 14:12:01 +01:00
Martin Gräßlin
9cfdeb1e2d Set always window transformaton to generic shader 2011-01-30 14:12:01 +01:00
Martin Gräßlin
1ba818044f Read a matrix uniform back from shader.
Might require additions to kwinglutils_func in desktop profile
2011-01-30 14:12:01 +01:00
Martin Gräßlin
33dff065fc MouseMark ported to GLES 2011-01-30 14:12:01 +01:00
Martin Gräßlin
18814c66a3 Coverswitch works on GLES.
No multi-screen, no reflections yet
2011-01-30 14:12:01 +01:00
Martin Gräßlin
5dfa8becb5 FlipSwitch ported to GLES.
Multi-screen mode not yet included
2011-01-30 14:12:01 +01:00
Martin Gräßlin
cab9154723 Simple vertex shaders use projection matrix and offset 2011-01-30 14:12:01 +01:00
Martin Gräßlin
5f9b75b0c0 All KCMs build again 2011-01-30 14:12:01 +01:00
Martin Gräßlin
c24fa39acb CompositingPrefs work with EGL 2011-01-30 14:12:01 +01:00
Martin Gräßlin
5c6e32eaed GLPlatform compiles on EGL 2011-01-30 14:12:01 +01:00
Martin Gräßlin
69044f10c5 GLShader appends the ES specific commands to the shaders 2011-01-30 14:12:01 +01:00
Martin Gräßlin
e4b26daef5 And use shared VBO for windows 2011-01-30 14:12:00 +01:00
Martin Gräßlin
a7dd31ef00 Use shared VBO for paintBackground 2011-01-30 14:12:00 +01:00
Martin Gräßlin
6cb3b95cc1 ResizeEffect uses shared VBO 2011-01-30 14:12:00 +01:00
Martin Gräßlin
17032c66f8 SnapHelper uses shared VBO 2011-01-30 14:12:00 +01:00
Martin Gräßlin
ecc4f83c09 ShowPaint uses the shared buffer 2011-01-30 14:12:00 +01:00
Martin Gräßlin
45f42cdea9 Adding a shared VBO for streaming data. 2011-01-30 14:12:00 +01:00
Martin Gräßlin
a352a0e6a8 Remove implemented TODO marker 2011-01-30 14:12:00 +01:00
Martin Gräßlin
910ba17444 VBO uses ShaderManager to get current bound shader 2011-01-30 14:12:00 +01:00
Martin Gräßlin
753df55973 Set Color as a uniform 2011-01-30 14:12:00 +01:00
Martin Gräßlin
d2cfeef8ae Scene uses ShaderManager 2011-01-30 14:12:00 +01:00
Martin Gräßlin
e2e4fe54ba Effects ported to GLES use ShaderManager 2011-01-30 14:12:00 +01:00
Martin Gräßlin
3c6e7309f2 New ShaderManager
The ShaderManager provides the built-in shaders for scene and effects.
Scene and effects can simply push one of those built-in shaders or a
custom one on a stack ensuring that the previously bound shader will be
rebound when the shader is poped again.

The class will be extended to not only have built-in shaders but also to
load custom shaders and being the only way to bind a shader at all.
2011-01-30 14:11:59 +01:00
Martin Gräßlin
1911a81cd7 Trackmouse ported to GLES 2011-01-30 14:11:59 +01:00
Martin Gräßlin
91f7a70e4f Snaphelper ported to GLES 2011-01-30 14:11:59 +01:00
Martin Gräßlin
db4c81993a Zoom effect ported to GLES 2011-01-30 14:11:59 +01:00
Martin Gräßlin
5c22ffb5f2 Resize effect ported to GLES 2011-01-30 14:11:59 +01:00
Martin Gräßlin
0011a30f5c ShowPaint effect ported to GLES 2011-01-30 14:11:59 +01:00
Martin Gräßlin
a182744648 Fix color rendering 2011-01-30 14:11:59 +01:00
Martin Gräßlin
7d37977558 Boxswitch does not use GL 2011-01-30 14:11:59 +01:00
Martin Gräßlin
dec532245b Add some OpenGL effects not depending on GL 2011-01-30 14:11:59 +01:00
Martin Gräßlin
9bbb852f0c Resolve EGL and GLES function pointers 2011-01-30 14:11:59 +01:00
Martin Gräßlin
70fefbbbae Adding an initEGL method and check for required extension 2011-01-30 14:11:59 +01:00
Martin Gräßlin
d12c4e58fd Support new translate for textures 2011-01-30 14:11:58 +01:00
Martin Gräßlin
e5932ff214 Make it compile again after rebasing on current trunk 2011-01-30 14:11:58 +01:00
Martin Gräßlin
6da912ba9e Remove kcms depending on GLPlatform 2011-01-30 14:11:58 +01:00
Martin Gräßlin
c20adefb82 Less warnings please 2011-01-30 14:11:58 +01:00
Martin Gräßlin
2703a23abf Use color shader to render the background 2011-01-30 14:11:58 +01:00
Martin Gräßlin
ae95ab0c43 Adding color to VBO.
A color can be specified to render the geometry of the VBO.
For legacy painting glColor is used, for shader a uniform is set.
In order to allow rendering without texcoords, it is possible to pass
a null pointer as texcoords.
Shader added to scene which just renders a colored geometry without texturing.
2011-01-30 14:11:58 +01:00
Martin Gräßlin
979490c134 Adding an option to enable building for mobile.
Needs a change to workspace CMakeLists.txt
2011-01-30 14:11:58 +01:00
Martin Gräßlin
f925352e73 Don't crash if scene shader is not available 2011-01-30 14:11:58 +01:00
Martin Gräßlin
d31c00ed0e Better CMake detection for building ES or desktop 2011-01-30 14:11:58 +01:00
Martin Gräßlin
6bad079628 Fix typo 2011-01-30 14:11:58 +01:00