|
10 years ago | |
---|---|---|
.. | ||
README.md | 10 years ago | |
curtain_effect.md | 10 years ago | |
fragement_shader.md | 10 years ago | |
openglopengl_shader.md | 10 years ago | |
qtqt_graphicseffect_library.md | 10 years ago | |
shader_elements.md | 10 years ago | |
vertex_shader.md | 10 years ago | |
wave_effect.md | 10 years ago |
注意
最后一次构建:2014年1月20日下午18:00。
这章的源代码能够在assetts folder找到。
http://labs.qt.nokia.com/2012/02/02/qt-graphical-effects-in-qt-labs/
http://labs.qt.nokia.com/2011/05/03/qml-shadereffectitem-on-qgraphicsview/
http://qt-project.org/doc/qt-4.8/declarative-shadereffects.html
http://www.opengl.org/registry/doc/GLSLangSpec.4.20.6.clean.pdf
http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf
着色器允许我们利用SceneGraph的接口直接调用在强大的GPU上运行的OpenGL来创建渲染效果。着色器使用ShaderEffect与ShaderEffectSource元素来实现。着色器本身的算法使用OpenGL Shading Language(OpenGL着色语言)来实现。
实际上这意味着你需要混合使用QML代码与着色器代码。执行时,会将着色器代码发送到GPU,并在GPU上编译执行。QML着色器元素(Shader QML Elements)允许你与OpenGL着色器程序的属性交互。
让我们首先来看看OpenGL着色器。