From 950e2ffbe9c3f8312ab18c22ef4548884a296185 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 1 Feb 2011 12:31:10 +0100 Subject: [PATCH] Doc: GLSL shader wizards Reviewed-by: Erik Verbruggen --- doc/images/qtcreator-new-opengl-file.png | Bin 0 -> 30057 bytes doc/qtcreator.qdoc | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 doc/images/qtcreator-new-opengl-file.png diff --git a/doc/images/qtcreator-new-opengl-file.png b/doc/images/qtcreator-new-opengl-file.png new file mode 100644 index 0000000000000000000000000000000000000000..7806a9929c14b9a8f182bbe66abca6b37c5a210d GIT binary patch literal 30057 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 z�cPVz`X8dA4tmqGLywAfmIThg49 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc index b0a97c67205..ab33f57b184 100644 --- a/doc/qtcreator.qdoc +++ b/doc/qtcreator.qdoc @@ -2720,6 +2720,10 @@ \o C++ class, source, or header files + \o GLSL files that define fragment and vertex shaders in the Open GL/ES + 2.0 Shading Language (GLSL/ES) or in the Desktop OpenGL Shading + Language (GLSL) + \o Text files \endlist @@ -2742,6 +2746,24 @@ You can create your own project and class wizards. For more information, see \l{Adding New Custom Wizards}. + \section2 Creating OpenGL Fragment and Vertex Shaders + + Qt provides support for integration with OpenGL implementations on all + platforms, which allows you to display hardware accelerated 3D graphics + alongside a more conventional user interface. For more information, see + \l{http://doc.qt.nokia.com/4.7/qtopengl.html}{QtOpenGL Module}. + + You can use the QGLShader class to compile OpenGL shaders written in the + OpenGL Shading Language (GLSL) and in the OpenGL/ES Shading Language + (GLSL/ES). QGLShader and QGLShaderProgram shelter you from the details of + compiling and linking vertex and fragment shaders. + + You can use Qt Creator code editor to write fragment and vertex shaders + in GLSL or GLSL/ES. The code editor provides syntax highlighting and code + completion for the files. + + \image qtcreator-new-opengl-file.png "New OpenGL file wizard" + \section2 Displaying Additional File Types in Projects Pane Qt Creator determines whether to display files from the project folder