Commit Graph

7897 Commits (90f6cbfa5ed7eef4cb10c1cc955c17cd2dec2e2e)

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