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