Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://astro.uni-altai.ru/~aw/stellarium/api/classStelQGL1Renderer.html
Дата изменения: Unknown Дата индексирования: Fri Feb 28 07:37:22 2014 Кодировка: Поисковые слова: phoenix |
Stellarium 0.12.3
|
Renderer backend using OpenGL 1.2 with Qt. More...
#include <StelQGL1Renderer.hpp>
Public Member Functions | |
StelQGL1Renderer (QGraphicsView *parent) | |
Construct a StelQGL1Renderer. More... | |
virtual bool | init () |
Initialize the renderer. More... | |
virtual bool | areFloatTexturesSupported () const |
Returns true if floating point textures are supported, false otherwise. More... | |
virtual bool | areNonPowerOfTwoTexturesSupported () const |
Returns true if non-power-of-two textures are supported, false otherwise. More... | |
virtual StelGLSLShader * | createGLSLShader () |
Create a GLSL shader. More... | |
virtual bool | isGLSLSupported () const |
Are GLSL shaders supported? More... | |
Public Member Functions inherited from StelQGLRenderer | |
StelQGLRenderer (QGraphicsView *const parent, const bool pvrSupported) | |
Construct a StelQGLRenderer. More... | |
virtual QImage | screenshot () |
Take a screenshot and return it. More... | |
virtual void | renderFrame (StelRenderClient &renderClient) |
Render a frame. More... | |
virtual void | viewportHasBeenResized (const QSize size) |
Must be called once at startup and on every GL viewport resize, specifying new size. More... | |
virtual QSize | getViewportSize () const |
Get size of the viewport in pixels. More... | |
StelIndexBuffer * | createIndexBuffer (const IndexType type) |
Create an empty index buffer and return a pointer to it. More... | |
virtual void | drawText (const TextParams ¶ms) |
Draw text with specified parameters. More... | |
virtual void | setFont (const QFont &font) |
Set font to use for drawing text. More... | |
virtual void | bindTextureBackend (StelTextureBackend *const textureBackend, const int textureUnit) |
Bind a texture (following draw calls will use this texture on specified texture unit). More... | |
void | ensureTextureNotBound (StelTextureBackend *const textureBackend) |
Must be called by texture backend destructor to ensure we don't keep any pointers to it. More... | |
virtual void | destroyTextureBackend (StelTextureBackend *const textureBackend) |
Destroy a StelTextureBackend. More... | |
virtual void | setGlobalColor (const Vec4f &color) |
Set the global vertex color. More... | |
virtual void | setCulledFaces (const CullFace cullFace) |
Set which faces (triangles) should be culled. More... | |
virtual void | setBlendMode (const BlendMode mode) |
Set blend mode. More... | |
virtual void | setDepthTest (const DepthTest test) |
Set depth test mode. More... | |
virtual void | clearDepthBuffer () |
Clear the depth buffer to zeroes, removing any depth information. More... | |
virtual void | setStencilTest (const StencilTest test) |
Set stencil test mode. More... | |
virtual void | clearStencilBuffer () |
Clear the stencil buffer to zeroes, removing any stencil information. More... | |
virtual void | swapBuffers () |
Swap front and back buffers. More... | |
virtual void | drawRect (const float x, const float y, const float width, const float height, const float angle=0.0f) |
Draw a rectangle to the screen. More... | |
virtual void | drawTexturedRect (const float x, const float y, const float width, const float height, const float angle=0.0f) |
Draw a textured rectangle to the screen. More... | |
virtual StelRendererStatistics & | getStatistics () |
Access statistics data. More... | |
virtual void | makeGLContextCurrent () |
Make Stellarium GL context the currently used GL context. Call this before GL calls. More... | |
QGLContext * | getGLContext () |
Used to access the GL context. More... | |
QGLFunctions & | getGLFunctions () |
Used for GL/GLES-compatible function wrappers and to determine which GL features are available. More... | |
QThread * | getLoaderThread () |
Get a pointer to the thread used for loading graphics data (e.g. textures). More... | |
const Vec4f & | getGlobalColor () const |
Get global vertex color (used for drawing). More... | |
QPaintEngine::Type | qtPaintEngineType () const |
Get the paint engine type used for Qt drawing. More... | |
Public Member Functions inherited from StelRenderer | |
virtual | ~StelRenderer () |
Destructor. More... | |
template<class V > | |
StelVertexBuffer< V > * | createVertexBuffer (const PrimitiveType primitiveType) |
Create an empty vertex buffer and return a pointer to it. More... | |
template<class V > | |
void | drawVertexBuffer (StelVertexBuffer< V > *vertexBuffer, class StelIndexBuffer *indexBuffer=NULL, StelProjectorP projector=StelProjectorP(NULL), bool dontProject=false) |
Draw contents of a vertex buffer. More... | |
template<class V > | |
void | drawVertexBuffer (StelVertexBuffer< V > *vertexBuffer, class StelIndexBuffer *indexBuffer, StelProjector *projector, bool dontProject=false) |
Draw contents of a vertex buffer. More... | |
virtual void | drawLine (const float startX, const float startY, const float endX, const float endY) |
Draw a line with current global color to the screen. More... | |
StelTextureNew * | createTexture (const QString &filename, const TextureParams ¶ms=TextureParams(), const TextureLoadingMode loadingMode=TextureLoadingMode_Normal) |
Create a texture from specified file or URL. More... | |
StelTextureNew * | createTexture (QImage &image, const TextureParams ¶ms=TextureParams()) |
Create a texture from an image. More... | |
StelTextureNew * | createTexture (const void *const data, const QSize size, const TextureDataFormat format, const TextureParams ¶ms=TextureParams()) |
Create a texture from raw data. More... | |
StelTextureNew * | getViewportTexture () |
Get a texture of the viewport, with everything drawn to the viewport so far. More... | |
void | setGlobalColor (const float r, const float g, const float b, const float a=1.0f) |
setGlobalColor overload specifying color channels directly instead of through Vec4f. More... | |
Protected Member Functions | |
virtual StelVertexBufferBackend * | createVertexBufferBackend (const PrimitiveType primitiveType, const QVector< StelVertexAttribute > &attributes) |
Create a vertex buffer backend. More... | |
virtual void | drawVertexBufferBackend (StelVertexBufferBackend *vertexBuffer, StelIndexBuffer *indexBuffer=NULL, StelProjector *projector=NULL, bool dontProject=false) |
Draw contents of a vertex buffer (backend). More... | |
virtual int | getTextureUnitCountBackend () |
Return the number of texture units (implementation). More... | |
virtual void | invariant () const |
Asserts that we're in a valid state. More... | |
Protected Member Functions inherited from StelQGLRenderer | |
virtual StelTextureBackend * | createTextureBackend (const QString &filename, const TextureParams ¶ms, const TextureLoadingMode loadingMode) |
Implementation of createTexture. More... | |
virtual StelTextureBackend * | createTextureBackend (QImage &image, const TextureParams ¶ms) |
Implementation of createTexture loading from image. More... | |
virtual StelTextureBackend * | createTextureBackend (const void *data, const QSize size, const TextureDataFormat format, const TextureParams ¶ms) |
Implementation of createTexture loading from raw data. More... | |
virtual StelTextureBackend * | getViewportTextureBackend () |
Implementation of getViewportTexture. More... | |
void | setupGLState (StelProjector *projector) |
Set up GL state common between the GL1 and GL2 backends before drawing. More... | |
void | restoreGLState (StelProjector *projector) |
Reset GL state after drawing. More... | |
template<class VBufferBackend > | |
void | updateDrawStatistics (VBufferBackend *vertexBuffer, StelQGLIndexBuffer *indexBuffer) |
Update statistics in a drawVertexBufferBackend() call. More... | |
Additional Inherited Members | |
Protected Attributes inherited from StelQGLRenderer | |
QString | glVendorString |
OpenGL vendor string (used to enable/disable features based on driver). More... | |
QString | glRendererString |
OpenGL renderer (usually GPU) string (can be used to enable/disable features based on GPU). More... | |
StelRendererStatistics | statistics |
Statistics collected during program run (such as estimated texture memory usage, etc.). More... | |
QGLFunctions | gl |
Wraps some GL functions for compatibility across GL and GLES. More... | |
Renderer backend using OpenGL 1.2 with Qt.
GL 1.0 is not supported as it doesn't have vertex arrays, and GL 1.1 doesn't have clamp to edge texture wrap mode. That said, pretty much everything supports GL 1.2 (introduced in 1998). The oldest GPUs supporting GL 1.2 are ATI Rage and GeForce 2 (GeForce 1 and TNT2 support GL 1.2 with updated drivers, although some functionality might be software emulated).
Although later GL1 versions and extensions have many useful features (basic shaders, VBOs, etc.), these are not used - with the exception of multitexturing, which is still not mandatory - so compatibility is as high as possible.
Definition at line 49 of file StelQGL1Renderer.hpp.
|
inline |
Construct a StelQGL1Renderer.
parent | Parent widget for the renderer's GL widget. |
Definition at line 55 of file StelQGL1Renderer.hpp.
|
inlinevirtual |
Returns true if floating point textures are supported, false otherwise.
Implements StelRenderer.
Definition at line 89 of file StelQGL1Renderer.hpp.
|
inlinevirtual |
Returns true if non-power-of-two textures are supported, false otherwise.
Implements StelQGLRenderer.
Definition at line 91 of file StelQGL1Renderer.hpp.
|
inlinevirtual |
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 93 of file StelQGL1Renderer.hpp.
|
inlineprotectedvirtual |
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 103 of file StelQGL1Renderer.hpp.
|
inlineprotectedvirtual |
Draw contents of a vertex buffer (backend).
Used by drawVertexBuffer.
Implements StelRenderer.
Definition at line 110 of file StelQGL1Renderer.hpp.
|
inlineprotectedvirtual |
Return the number of texture units (implementation).
Implements StelQGLRenderer.
Definition at line 206 of file StelQGL1Renderer.hpp.
|
inlinevirtual |
Initialize the renderer.
Must be called before any other methods.
Reimplemented from StelQGLRenderer.
Definition at line 69 of file StelQGL1Renderer.hpp.
|
inlineprotectedvirtual |
Asserts that we're in a valid state.
Overriding methods should also call StelQGLRenderer::invariant().
Reimplemented from StelQGLRenderer.
Definition at line 219 of file StelQGL1Renderer.hpp.
|
inlinevirtual |
Are GLSL shaders supported?
Implements StelRenderer.
Definition at line 99 of file StelQGL1Renderer.hpp.