![]() |
Stellarium 0.12.0 | ||
| Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · Renderer · File Structure |
Renderer backend using OpenGL 2.1 or GLSL 2.0 with Qt. More...
#include <StelQGL2Renderer.hpp>
Public Member Functions | |
| StelQGL2Renderer (QGraphicsView *parent, bool pvrSupported) | |
| Construct a StelQGL2Renderer. | |
| virtual bool | init () |
| Initialize the renderer. | |
| virtual bool | areFloatTexturesSupported () const |
| Returns true if floating point textures are supported, false otherwise. | |
| virtual bool | areNonPowerOfTwoTexturesSupported () const |
| Returns true if non-power-of-two textures are supported, false otherwise. | |
| virtual StelGLSLShader * | createGLSLShader () |
| Create a GLSL shader. | |
| virtual bool | isGLSLSupported () const |
| Are GLSL shaders supported? | |
| StelQGLGLSLShader * | getShader (const StelVertexAttribute *const attributes, const int attributeCount) |
| Get shader corresponding to specified vertex format. | |
| void | bindCustomShader (StelQGLGLSLShader *shader) |
| Use a custom shader program, overriding builtin shader programs. | |
| void | releaseCustomShader (StelQGLGLSLShader *shader) |
| Release a custom shader program, allowing use of builtin shader programs. | |
Protected Member Functions | |
| virtual StelVertexBufferBackend * | createVertexBufferBackend (const PrimitiveType primitiveType, const QVector< StelVertexAttribute > &attributes) |
| Create a vertex buffer backend. | |
| virtual void | drawVertexBufferBackend (StelVertexBufferBackend *vertexBuffer, StelIndexBuffer *indexBuffer=NULL, StelProjector *projector=NULL, bool dontProject=false) |
| Draw contents of a vertex buffer (backend). | |
| virtual int | getTextureUnitCountBackend () |
| Return the number of texture units (implementation). | |
| virtual void | invariant () const |
| Asserts that we're in a valid state. | |
Renderer backend using OpenGL 2.1 or GLSL 2.0 with Qt.
Definition at line 40 of file StelQGL2Renderer.hpp.
| StelQGL2Renderer::StelQGL2Renderer | ( | QGraphicsView * | parent, | |
| bool | pvrSupported | |||
| ) | [inline] |
Construct a StelQGL2Renderer.
| parent | Parent widget for the renderer's GL widget. | |
| pvrSupported | Are .pvr (PVRTC - PowerVR hardware) textures supported on this platform? This should be true for mobile platforms with PowerVR GPUs. |
Definition at line 42 of file StelQGL2Renderer.hpp.
| virtual bool StelQGL2Renderer::areFloatTexturesSupported | ( | ) | const [inline, virtual] |
Returns true if floating point textures are supported, false otherwise.
Implements StelRenderer.
Definition at line 281 of file StelQGL2Renderer.hpp.
| virtual bool StelQGL2Renderer::areNonPowerOfTwoTexturesSupported | ( | ) | const [inline, virtual] |
Returns true if non-power-of-two textures are supported, false otherwise.
Implements StelQGLRenderer.
Definition at line 287 of file StelQGL2Renderer.hpp.
| void StelQGL2Renderer::bindCustomShader | ( | StelQGLGLSLShader * | shader | ) | [inline] |
Use a custom shader program, overriding builtin shader programs.
This can only be called when no custom shader is bound already (any previously bound custom shader must be released).
Used by StelQGLGLSLShader.
| shader | Shader to use. |
Definition at line 361 of file StelQGL2Renderer.hpp.
| virtual StelGLSLShader* StelQGL2Renderer::createGLSLShader | ( | ) | [inline, virtual] |
Create a GLSL shader.
This can only be called if isGLSLSupported() is true.
The constructed shader must be deleted before the StelRenderer is destroyed.
Reimplemented from StelRenderer.
Definition at line 289 of file StelQGL2Renderer.hpp.
| virtual StelVertexBufferBackend* StelQGL2Renderer::createVertexBufferBackend | ( | const PrimitiveType | primitiveType, | |
| const QVector< StelVertexAttribute > & | attributes | |||
| ) | [inline, protected, virtual] |
Create a vertex buffer backend.
Used by createVertexBuffer.
This allows each Renderer backend to create its own vertex buffer backend.
| primitiveType | Graphics primitive type stored in the buffer. | |
| attributes | Descriptions of all attributes of the vertex type stored in the buffer. |
Implements StelRenderer.
Definition at line 389 of file StelQGL2Renderer.hpp.
| virtual void StelQGL2Renderer::drawVertexBufferBackend | ( | StelVertexBufferBackend * | vertexBuffer, | |
| StelIndexBuffer * | indexBuffer = NULL, |
|||
| StelProjector * | projector = NULL, |
|||
| bool | dontProject = false | |||
| ) | [inline, protected, virtual] |
Draw contents of a vertex buffer (backend).
Used by drawVertexBuffer.
Implements StelRenderer.
Definition at line 396 of file StelQGL2Renderer.hpp.
| StelQGLGLSLShader* StelQGL2Renderer::getShader | ( | const StelVertexAttribute *const | attributes, | |
| const int | attributeCount | |||
| ) | [inline] |
Get shader corresponding to specified vertex format.
If the user binds a custom shader (StelGLSLShader, in this case StelQGLGLSLShader), this shader is returned instead. (I.e. custom shader programs override builtin ones.)
| attributes | Vertex attributes used in the vertex format. | |
| attributeCount | Number of vertex attributes. |
Definition at line 304 of file StelQGL2Renderer.hpp.
| virtual int StelQGL2Renderer::getTextureUnitCountBackend | ( | ) | [inline, protected, virtual] |
Return the number of texture units (implementation).
Implements StelQGLRenderer.
Definition at line 511 of file StelQGL2Renderer.hpp.
| virtual bool StelQGL2Renderer::init | ( | ) | [inline, virtual] |
Initialize the renderer.
Must be called before any other methods.
Reimplemented from StelQGLRenderer.
Definition at line 64 of file StelQGL2Renderer.hpp.
| virtual void StelQGL2Renderer::invariant | ( | ) | const [inline, protected, virtual] |
Asserts that we're in a valid state.
Overriding methods should also call StelQGLRenderer::invariant().
Reimplemented from StelQGLRenderer.
Definition at line 521 of file StelQGL2Renderer.hpp.
| virtual bool StelQGL2Renderer::isGLSLSupported | ( | ) | const [inline, virtual] |
Are GLSL shaders supported?
Implements StelRenderer.
Definition at line 294 of file StelQGL2Renderer.hpp.
| void StelQGL2Renderer::releaseCustomShader | ( | StelQGLGLSLShader * | shader | ) | [inline] |
Release a custom shader program, allowing use of builtin shader programs.
The released shader must match the currently bound one.
Used by StelQGLGLSLShader.
| shader | Shader assumed to be bound, for error checking. |
Definition at line 376 of file StelQGL2Renderer.hpp.
1.6.3