Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Unmaintained
KDE Workspace
Commits
81f5706f
Commit
81f5706f
authored
Jan 09, 2011
by
Martin Flöser
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Combine custom vertex with built-in fragment shader.
parent
08f4191a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
0 deletions
+29
-0
kwin/lib/kwinglutils.cpp
kwin/lib/kwinglutils.cpp
+22
-0
kwin/lib/kwinglutils.h
kwin/lib/kwinglutils.h
+7
-0
No files found.
kwin/lib/kwinglutils.cpp
View file @
81f5706f
...
...
@@ -1303,6 +1303,28 @@ GLShader *ShaderManager::loadFragmentShader(ShaderType vertex, const QString &fr
return
shader
;
}
GLShader
*
ShaderManager
::
loadVertexShader
(
ShaderType
fragment
,
const
QString
&
vertexFile
)
{
QString
fragmentShader
;
switch
(
fragment
)
{
// Simple and Generic Shader use same fragment Shader
case
SimpleShader
:
case
GenericShader
:
fragmentShader
=
":/resources/scene-fragment.glsl"
;
break
;
case
ColorShader
:
fragmentShader
=
":/resources/scene-color-fragment.glsl"
;
break
;
}
GLShader
*
shader
=
new
GLShader
(
vertexFile
,
fragmentShader
);
if
(
shader
->
isValid
())
{
pushShader
(
shader
);
resetShader
(
fragment
);
popShader
();
}
return
shader
;
}
GLShader
*
ShaderManager
::
loadShaderFromCode
(
const
QString
&
vertexSource
,
const
QString
&
fragmentSource
)
{
GLShader
*
shader
=
new
GLShader
();
...
...
kwin/lib/kwinglutils.h
View file @
81f5706f
...
...
@@ -422,6 +422,13 @@ class KWIN_EXPORT ShaderManager
* @return The created shader
**/
GLShader
*
loadFragmentShader
(
ShaderType
vertex
,
const
QString
&
fragmentFile
);
/**
* Creates a GLShader with a built-in fragment shader and a custom vertex shader.
* @param fragment The generic fragment shader
* @param vertexFile The path to the source code of the vertex shader
* @return The created shader
**/
GLShader
*
loadVertexShader
(
ShaderType
fragment
,
const
QString
&
vertexFile
);
/**
* Creates a GLShader with the specified sources.
* The difference to GLShader is that it does not need to be loaded from files.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment