Commit graph

7902 commits

Author SHA1 Message Date
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
Martin Gräßlin
9b37fc580d Support screen transformations in ES.
paintGenericScreen should be merged back to scene_opengl
2011-01-30 14:11:58 +01:00
Martin Gräßlin
ae81f23fbc Building effects on ES.
Only effects using OpenGL are excluded
2011-01-30 14:11:57 +01:00
Martin Gräßlin
eb7d06d22f Adding a generic scene shader able to handle transformation
Currently only window transformations are supported.
2011-01-30 14:11:57 +01:00
Martin Gräßlin
a2e214d326 Enable PaintClipper on core VBO again.
Need to disable clearing screen on EGL for that.
With Mesa swapping buffer is sufficient, though a better solution will be required for other drivers
2011-01-30 14:11:57 +01:00
Martin Gräßlin
f240fc2196 Support QMatrix4x4 as Uniform value 2011-01-30 14:11:57 +01:00
Martin Gräßlin
ea12f95b27 Support setting y_inverted for Texture.
At least needed for the pixmaps loaded by EGL.
Should be save on GLX as well, if not it needs fixing
2011-01-30 14:11:57 +01:00
Martin Gräßlin
aef6208fdc Fix compiling 2011-01-30 14:11:57 +01:00
Martin Gräßlin
5804417acc And here comes the working OpenGL ES backend 2011-01-30 14:11:57 +01:00
Martin Gräßlin
f5dbeb8fab More ifdefing for ES 2011-01-30 14:11:57 +01:00
Martin Gräßlin
8d7a861928 Fix build system for ES 2011-01-30 14:11:57 +01:00
Martin Gräßlin
537b06a9ee Move glx and egl code into own files 2011-01-30 14:11:57 +01:00
Martin Gräßlin
b8d068088b Fix linker errors in scene 2011-01-30 14:11:56 +01:00
Martin Gräßlin
14522ebecb Fix Linker error with Lanczos filter 2011-01-30 14:11:56 +01:00
Martin Gräßlin
dfde66b4a9 Fix compile error in desktop modus 2011-01-30 14:11:56 +01:00
Martin Gräßlin
0f0509cbd9 Make it compile with EGL 2011-01-30 14:11:56 +01:00
Martin Gräßlin
b145ad6065 Lanczos not available in ES 2011-01-30 14:11:56 +01:00
Martin Gräßlin
5fae85f2a5 Scene OpenGL compiles with ES
It's mostly just ifdef away everything that cannot work.
Needs to be split into a scene_xgl and scene_egl.
2011-01-30 14:11:56 +01:00
Martin Gräßlin
1947f67e80 Temporarily disable building of effects in ES mode 2011-01-30 14:11:56 +01:00
Martin Gräßlin
e25f43ceb0 Attribute stack not available in ES 2011-01-30 14:11:56 +01:00
Martin Gräßlin
70e167aca7 GLPlatform not available in OpenGL ES
Should be replaced by a short implementation
2011-01-30 14:11:56 +01:00
Martin Gräßlin
2db7538891 ShaderEffect not available in OpenGL ES.
Deprecate the ShaderEffect, will probably be dropped in 4.7
2011-01-30 14:11:56 +01:00
Martin Gräßlin
2cf5f79880 Remove some more unsupported functions 2011-01-30 14:11:56 +01:00
Martin Gräßlin
fd8dfa2084 OpenGL ES always supports VBO 2011-01-30 14:11:56 +01:00
Martin Gräßlin
e5640dc655 ES does not support Vertex array - only use core painting 2011-01-30 14:11:56 +01:00
Martin Gräßlin
b13f3f5f11 In ES it's GL_FRAMEBUFFER instead of GL_FRAMEBUFFER_EXT
I hope this does not break in desktop mode.
2011-01-30 14:11:55 +01:00
Martin Gräßlin
90eb1ed1a0 No GL_TEXTURE_RECTANGLE_ARB in ES 2011-01-30 14:11:55 +01:00
Martin Gräßlin
d7321dae71 ES does not support GL_RGBA8 and GL_BGRA for textures 2011-01-30 14:11:55 +01:00
Martin Gräßlin
d4e75aa1da RenderGLGeometry and texture coord normalization are noops in ES 2011-01-30 14:11:55 +01:00
Martin Gräßlin
e87e2b43a2 Use OpenGL ES 2 for mobile 2011-01-30 14:11:55 +01:00
Martin Gräßlin
aefb076a7b OpenGL ES does not support Quads 2011-01-30 14:11:55 +01:00
Martin Gräßlin
faa86c2464 We do not need to resolve extensions in OpenGL ES.
Therefore the kwinglutils_funcs.h includes just GLES/gl.h and
the .cpp does not do anything
2011-01-30 14:11:55 +01:00
Martin Gräßlin
8f2f126c31 CMake check to find OpenGLES 2011-01-30 14:11:55 +01:00
Martin Gräßlin
6cc19ebc7d OpenGL rendering debug
Renders same geometry with polygon mode lines and the shader colorizes the fragments.
Enabled with environment variable KWIN_GL_DEBUG=1
2011-01-30 14:11:55 +01:00
Martin Gräßlin
56ce39def8 Core profile compatible basic scene rendering.
Adds a shader to render an untransformed scene. renderGLGeometry is not used any more and replaced by generated triangles stored in a GLVertexBuffer.
The GLVertexBuffer has a new attribute to decide whether a core profile compatible rendering has to be performed.
Currently windows and EffectFrames can make use of the new shader.
The shader contains a debug mode which colours all rendered fragments in green. It is currently enabled in scene_opengl.
Rendering transformed geometries (without shader) is currently broken.
2011-01-30 14:11:55 +01:00
Hugo Pereira Da Costa
71d4bdd45d added dbus signal+connection to update shadows on fly in demo.
svn path=/trunk/KDE/kdebase/workspace/; revision=1217941
2011-01-29 18:33:01 +00:00
Hugo Pereira Da Costa
fdddfcf9ee Added oxygen-shadow-demo to demonstrate shadow painting, add the possibility to save pixmaps
into files, and for debugging.

svn path=/trunk/KDE/kdebase/workspace/; revision=1217934
2011-01-29 18:12:23 +00:00
Hugo Pereira Da Costa
025e7a5859 Fixed some coding style.
Changed tileset definition so that all shadow pixmaps have same size.

svn path=/trunk/KDE/kdebase/workspace/; revision=1217933
2011-01-29 18:10:00 +00:00
Hugo Pereira Da Costa
5a41506500 Fixed typo on saving offsets.
svn path=/trunk/KDE/kdebase/workspace/; revision=1217908
2011-01-29 14:55:14 +00:00
Script Kiddy
8ac192425f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1217852
2011-01-29 06:08:12 +00:00
Hugo Pereira Da Costa
92bea91686 - moved rendering of antialiased corners from Oxygen::ShadowCache to Oxygen::Client.
- simplified caching of ShadowCache accordingly. Notably, it should make it easier to pass the shadows to kwin.
- removed unnecessary QPainter::save()/restore() calls
- set painter AntiAliasing render hint earlier in Client::paintEvent
- modified drawing of drop target rect accordingly.
- oh. And fixed krazy warnings.

svn path=/trunk/KDE/kdebase/workspace/; revision=1217439
2011-01-27 09:40:48 +00:00
Hugo Pereira Da Costa
37d8ffe6e4 added flag to disable drawing of "corners" in shadows.
svn path=/trunk/KDE/kdebase/workspace/; revision=1217366
2011-01-26 21:28:39 +00:00
Script Kiddy
277816922d SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1217036
2011-01-25 13:53:56 +00:00
Script Kiddy
df48bd6ebb SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1216405
2011-01-23 06:04:10 +00:00
Script Kiddy
6eadf5a025 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1216106
2011-01-21 12:02:04 +00:00
Script Kiddy
a238e774e4 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1215940
2011-01-20 11:53:16 +00:00