MythRenderOpenGL2 Class Reference

#include <mythrender_opengl2.h>

Inheritance diagram for MythRenderOpenGL2:
MythRenderOpenGL MythRender MythRenderOpenGL2ES

List of all members.

Public Member Functions

 MythRenderOpenGL2 (const QGLFormat &format, QPaintDevice *device, RenderType type=kRenderOpenGL2)
 MythRenderOpenGL2 (const QGLFormat &format, RenderType type=kRenderOpenGL2)
virtual uint CreateShaderObject (const QString &vert, const QString &frag)
virtual void DeleteShaderObject (uint obj)
virtual void EnableShaderObject (uint obj)
virtual void SetShaderParams (uint obj, void *vals, const char *uniform)
virtual bool RectanglesAreAccelerated (void)
virtual void PushTransformation (const UIEffects &fx, QPointF &center)
virtual void PopTransformation (void)

Protected Member Functions

virtual ~MythRenderOpenGL2 ()
virtual void DrawBitmapPriv (uint tex, const QRect *src, const QRect *dst, uint prog, int alpha, int red, int green, int blue)
virtual void DrawBitmapPriv (uint *textures, uint texture_count, const QRectF *src, const QRectF *dst, uint prog)
virtual void DrawRectPriv (const QRect &area, const QBrush &fillBrush, const QPen &linePen, int alpha)
virtual void DrawRoundRectPriv (const QRect &area, int cornerRadius, const QBrush &fillBrush, const QPen &linePen, int alpha)
virtual void Init2DState (void)
virtual void InitProcs (void)
virtual void DeleteShaders (void)
virtual bool InitFeatures (void)
virtual void ResetVars (void)
virtual void ResetProcs (void)
virtual void DeleteOpenGLResources (void)
virtual void SetMatrixView (void)
void CreateDefaultShaders (void)
void DeleteDefaultShaders (void)
uint CreateShader (int type, const QString &source)
bool ValidateShaderObject (uint obj)
bool CheckObjectStatus (uint obj)
void OptimiseShaderSource (QString &source)

Protected Attributes

QHash< GLuint, MythGLShaderObjectm_shader_objects
uint m_shaders [kShaderCount]
uint m_active_obj
float m_projection [4][4]
QStack< GLMatrixm_transforms
float m_parameters [4][4]
QString m_qualifiers
QString m_GLSLVersion
MYTH_GLGETSHADERIVPROC m_glGetShaderiv
MYTH_GLCREATESHADERPROC m_glCreateShader
MYTH_GLSHADERSOURCEPROC m_glShaderSource
MYTH_GLCOMPILESHADERPROC m_glCompileShader
MYTH_GLATTACHSHADERPROC m_glAttachShader
MYTH_GLGETSHADERINFOLOGPROC m_glGetShaderInfoLog
MYTH_GLDETACHSHADERPROC m_glDetachShader
MYTH_GLDELETESHADERPROC m_glDeleteShader
MYTH_GLCREATEPROGRAMPROC m_glCreateProgram
MYTH_GLLINKPROGRAMPROC m_glLinkProgram
MYTH_GLUSEPROGRAMPROC m_glUseProgram
MYTH_GLDELETEPROGRAMPROC m_glDeleteProgram
MYTH_GLGETPROGRAMINFOLOGPROC m_glGetProgramInfoLog
MYTH_GLGETPROGRAMIVPROC m_glGetProgramiv
MYTH_GLGETUNIFORMLOCATIONPROC m_glGetUniformLocation
MYTH_GLUNIFORM4FPROC m_glUniform4f
MYTH_GLUNIFORMMATRIX4FVPROC m_glUniformMatrix4fv
MYTH_GLVERTEXATTRIBPOINTERPROC m_glVertexAttribPointer
MYTH_GLENABLEVERTEXATTRIBARRAYPROC m_glEnableVertexAttribArray
MYTH_GLDISABLEVERTEXATTRIBARRAYPROC m_glDisableVertexAttribArray
MYTH_GLBINDATTRIBLOCATIONPROC m_glBindAttribLocation
MYTH_GLVERTEXATTRIB4FPROC m_glVertexAttrib4f

Detailed Description

Definition at line 23 of file mythrender_opengl2.h.


Constructor & Destructor Documentation

MythRenderOpenGL2::MythRenderOpenGL2 ( const QGLFormat &  format,
QPaintDevice *  device,
RenderType  type = kRenderOpenGL2 
)

Definition at line 200 of file mythrender_opengl2.cpp.

MythRenderOpenGL2::MythRenderOpenGL2 ( const QGLFormat &  format,
RenderType  type = kRenderOpenGL2 
)

Definition at line 209 of file mythrender_opengl2.cpp.

MythRenderOpenGL2::~MythRenderOpenGL2 (  )  [protected, virtual]

Definition at line 216 of file mythrender_opengl2.cpp.


Member Function Documentation

uint MythRenderOpenGL2::CreateShaderObject ( const QString &  vert,
const QString &  frag 
) [virtual]

Implements MythRenderOpenGL.

Definition at line 368 of file mythrender_opengl2.cpp.

Referenced by CreateDefaultShaders().

void MythRenderOpenGL2::DeleteShaderObject ( uint  obj  )  [virtual]

Implements MythRenderOpenGL.

Definition at line 402 of file mythrender_opengl2.cpp.

Referenced by CreateShaderObject(), and DeleteDefaultShaders().

void MythRenderOpenGL2::EnableShaderObject ( uint  obj  )  [virtual]

Implements MythRenderOpenGL.

Definition at line 422 of file mythrender_opengl2.cpp.

Referenced by DrawBitmapPriv(), DrawRoundRectPriv(), and SetShaderParams().

void MythRenderOpenGL2::SetShaderParams ( uint  obj,
void *  vals,
const char *  uniform 
) [virtual]

Implements MythRenderOpenGL.

Definition at line 445 of file mythrender_opengl2.cpp.

Referenced by DrawBitmapPriv(), and DrawRoundRectPriv().

virtual bool MythRenderOpenGL2::RectanglesAreAccelerated ( void   )  [inline, virtual]

Reimplemented from MythRenderOpenGL.

Definition at line 35 of file mythrender_opengl2.h.

void MythRenderOpenGL2::PushTransformation ( const UIEffects fx,
QPointF &  center 
) [virtual]

Implements MythRenderOpenGL.

Definition at line 935 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::PopTransformation ( void   )  [virtual]

Implements MythRenderOpenGL.

Definition at line 948 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::DrawBitmapPriv ( uint  tex,
const QRect *  src,
const QRect *  dst,
uint  prog,
int  alpha,
int  red,
int  green,
int  blue 
) [protected, virtual]

Implements MythRenderOpenGL.

Definition at line 457 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::DrawBitmapPriv ( uint textures,
uint  texture_count,
const QRectF *  src,
const QRectF *  dst,
uint  prog 
) [protected, virtual]

Implements MythRenderOpenGL.

Definition at line 502 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::DrawRectPriv ( const QRect &  area,
const QBrush &  fillBrush,
const QPen &  linePen,
int  alpha 
) [protected, virtual]

Implements MythRenderOpenGL.

Definition at line 555 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::DrawRoundRectPriv ( const QRect &  area,
int  cornerRadius,
const QBrush &  fillBrush,
const QPen &  linePen,
int  alpha 
) [protected, virtual]

Implements MythRenderOpenGL.

Definition at line 561 of file mythrender_opengl2.cpp.

Referenced by DrawRectPriv().

void MythRenderOpenGL2::Init2DState ( void   )  [protected, virtual]

Reimplemented from MythRenderOpenGL.

Definition at line 225 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::InitProcs ( void   )  [protected, virtual]

Reimplemented from MythRenderOpenGL.

Reimplemented in MythRenderOpenGL2ES.

Definition at line 314 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::DeleteShaders ( void   )  [protected, virtual]

Implements MythRenderOpenGL.

Definition at line 953 of file mythrender_opengl2.cpp.

Referenced by DeleteOpenGLResources().

bool MythRenderOpenGL2::InitFeatures ( void   )  [protected, virtual]

Reimplemented from MythRenderOpenGL.

Reimplemented in MythRenderOpenGL2ES.

Definition at line 268 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::ResetVars ( void   )  [protected, virtual]

Reimplemented from MythRenderOpenGL.

Definition at line 230 of file mythrender_opengl2.cpp.

Referenced by MythRenderOpenGL2().

void MythRenderOpenGL2::ResetProcs ( void   )  [protected, virtual]

Reimplemented from MythRenderOpenGL.

Definition at line 241 of file mythrender_opengl2.cpp.

Referenced by MythRenderOpenGL2().

void MythRenderOpenGL2::DeleteOpenGLResources ( void   )  [protected, virtual]

Reimplemented from MythRenderOpenGL.

Definition at line 910 of file mythrender_opengl2.cpp.

Referenced by ~MythRenderOpenGL2().

void MythRenderOpenGL2::SetMatrixView ( void   )  [protected, virtual]

Implements MythRenderOpenGL.

Definition at line 918 of file mythrender_opengl2.cpp.

void MythRenderOpenGL2::CreateDefaultShaders ( void   )  [protected]

Definition at line 798 of file mythrender_opengl2.cpp.

Referenced by MythRenderOpenGL2ES::InitFeatures(), and InitFeatures().

void MythRenderOpenGL2::DeleteDefaultShaders ( void   )  [protected]
uint MythRenderOpenGL2::CreateShader ( int  type,
const QString &  source 
) [protected]

Definition at line 823 of file mythrender_opengl2.cpp.

Referenced by CreateShaderObject().

bool MythRenderOpenGL2::ValidateShaderObject ( uint  obj  )  [protected]

Definition at line 851 of file mythrender_opengl2.cpp.

Referenced by CreateShaderObject().

bool MythRenderOpenGL2::CheckObjectStatus ( uint  obj  )  [protected]

Definition at line 868 of file mythrender_opengl2.cpp.

Referenced by ValidateShaderObject().

void MythRenderOpenGL2::OptimiseShaderSource ( QString &  source  )  [protected]

Definition at line 890 of file mythrender_opengl2.cpp.

Referenced by CreateShaderObject().


Member Data Documentation

uint MythRenderOpenGL2::m_shaders[kShaderCount] [protected]

Definition at line 75 of file mythrender_opengl2.h.

Referenced by EnableShaderObject(), and ResetVars().

float MythRenderOpenGL2::m_projection[4][4] [protected]

Definition at line 76 of file mythrender_opengl2.h.

Referenced by DrawBitmapPriv(), DrawRoundRectPriv(), ResetVars(), and SetMatrixView().

float MythRenderOpenGL2::m_parameters[4][4] [protected]

Definition at line 78 of file mythrender_opengl2.h.

Referenced by DrawRoundRectPriv(), and ResetVars().

QString MythRenderOpenGL2::m_qualifiers [protected]

Definition at line 79 of file mythrender_opengl2.h.

Referenced by InitProcs(), and OptimiseShaderSource().

QString MythRenderOpenGL2::m_GLSLVersion [protected]

Definition at line 80 of file mythrender_opengl2.h.

Referenced by InitProcs(), and OptimiseShaderSource().

Definition at line 83 of file mythrender_opengl2.h.

Referenced by CreateShader(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 84 of file mythrender_opengl2.h.

Referenced by CreateShader(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 85 of file mythrender_opengl2.h.

Referenced by CreateShader(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 86 of file mythrender_opengl2.h.

Referenced by CreateShader(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 87 of file mythrender_opengl2.h.

Referenced by InitFeatures(), InitProcs(), ResetProcs(), and ValidateShaderObject().

Definition at line 88 of file mythrender_opengl2.h.

Referenced by CreateShader(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 92 of file mythrender_opengl2.h.

Referenced by CreateShaderObject(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 93 of file mythrender_opengl2.h.

Referenced by InitFeatures(), InitProcs(), ResetProcs(), and ValidateShaderObject().

Definition at line 94 of file mythrender_opengl2.h.

Referenced by EnableShaderObject(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 95 of file mythrender_opengl2.h.

Referenced by DeleteShaderObject(), DeleteShaders(), and InitProcs().

Definition at line 96 of file mythrender_opengl2.h.

Referenced by CheckObjectStatus(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 97 of file mythrender_opengl2.h.

Referenced by CheckObjectStatus(), InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 99 of file mythrender_opengl2.h.

Referenced by InitFeatures(), InitProcs(), ResetProcs(), and SetShaderParams().

Definition at line 100 of file mythrender_opengl2.h.

Referenced by InitFeatures(), InitProcs(), and ResetProcs().

Definition at line 101 of file mythrender_opengl2.h.

Referenced by InitFeatures(), InitProcs(), ResetProcs(), and SetShaderParams().

Definition at line 105 of file mythrender_opengl2.h.

Referenced by InitFeatures(), InitProcs(), ResetProcs(), and ValidateShaderObject().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Fri May 25 06:42:15 2012 for MythTV by  doxygen 1.6.3