15#include "GL_API_Mappings.h"
17#include "GUIImageDataGL.h"
18#include "GUIConfigDebug.h"
20#ifdef GUILIANI_GFXOGLDEBUG
22#define CHECK_GL_ERROR(a) CGfxWrapGL::CheckGLError(__FUNCTION__, a);
24#define CHECK_GL_ERROR(a)
42 eC_Bool
Load(
const char* cVertexShader,
const char* cFragmentShader);
53 eC_UInt m_uiVertexShaderHandle;
54 eC_UInt m_uiFragmentShaderHandle;
55 eC_UInt m_uiShaderProgramID;
76 void CreateScreen(
const eC_UInt &uiWidth,
const eC_UInt &uiHeight);
82 virtual void SetScreenSize(
const eC_UInt &uiWidth,
const eC_UInt &uiHeight);
94 const eC_UByte &ubRed,
95 const eC_UByte &ubGreen,
96 const eC_UByte &ubBlue,
97 const eC_UByte& ubAlpha = 255);
111 const eC_Value& vY2);
123 const eC_Value& vY2);
135 const eC_Value& vY2);
151 const eC_Bool &bFilled);
171 const eC_Value& vStartAngle,
172 const eC_Value& vEndAngle,
173 const eC_Value& vRotationAngle,
174 const eC_Bool &bFilled);
181 const eC_Value& vRingWidth,
182 const eC_Value& vStartAngle,
183 const eC_Value& vEndAngle,
184 const eC_Value& vRotationAngle,
185 const eC_Bool & bFilled);
189 const eC_UInt& uiCount,
190 const eC_Bool& bFilled);
223 void Set2DView(
const eC_UInt uiWidth,
const eC_UInt uiHeight);
231 static eC_Bool
CheckGLError(
const eC_String& kCallingMethod,
const eC_String& kFunction =
"");
273 const eC_Value& vFovy,
274 const eC_Value& vAspect,
275 const eC_Value& vNear,
276 const eC_Value& vFar);
291#if defined (GUILIANI_USE_OGL) && !defined (SYSTEM_NAME_DARWIN)
293 static PFNGLBINDBUFFERPROC glBindBuffer_Guiliani;
294 static PFNGLBUFFERDATAPROC glBufferData_Guiliani;
295 static PFNGLGENBUFFERSPROC glGenBuffers_Guiliani;
296 static PFNGLDELETEBUFFERSPROC glDeleteBuffers_Guiliani;
299 static PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers_Guiliani;
300 static PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer_Guiliani;
301 static PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D_Guiliani;
302 static PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus_Guiliani;
303 static PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers_Guiliani;
305#if GUILIANI_USE_GL_SHADERS == 1
307 static PFNGLBLENDEQUATIONSEPARATEPROC glBlendEquationSeparate_Guiliani;
308 static PFNGLDRAWBUFFERSPROC glDrawBuffers_Guiliani;
309 static PFNGLSTENCILOPSEPARATEPROC glStencilOpSeparate_Guiliani;
310 static PFNGLSTENCILFUNCSEPARATEPROC glStencilFuncSeparate_Guiliani;
311 static PFNGLSTENCILMASKSEPARATEPROC glStencilMaskSeparate_Guiliani;
312 static PFNGLATTACHSHADERPROC glAttachShader_Guiliani;
313 static PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation_Guiliani;
314 static PFNGLCOMPILESHADERPROC glCompileShader_Guiliani;
315 static PFNGLCREATEPROGRAMPROC glCreateProgram_Guiliani;
316 static PFNGLCREATESHADERPROC glCreateShader_Guiliani;
317 static PFNGLDELETEPROGRAMPROC glDeleteProgram_Guiliani;
318 static PFNGLDELETESHADERPROC glDeleteShader_Guiliani;
319 static PFNGLDETACHSHADERPROC glDetachShader_Guiliani;
320 static PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray_Guiliani;
321 static PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray_Guiliani;
322 static PFNGLGETACTIVEATTRIBPROC glGetActiveAttrib_Guiliani;
323 static PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform_Guiliani;
324 static PFNGLGETATTACHEDSHADERSPROC glGetAttachedShaders_Guiliani;
325 static PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation_Guiliani;
326 static PFNGLGETPROGRAMIVPROC glGetProgramiv_Guiliani;
327 static PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog_Guiliani;
328 static PFNGLGETSHADERIVPROC glGetShaderiv_Guiliani;
329 static PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog_Guiliani;
330 static PFNGLGETSHADERSOURCEPROC glGetShaderSource_Guiliani;
331 static PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation_Guiliani;
332 static PFNGLGETUNIFORMFVPROC glGetUniformfv_Guiliani;
333 static PFNGLGETUNIFORMIVPROC glGetUniformiv_Guiliani;
334 static PFNGLGETVERTEXATTRIBDVPROC glGetVertexAttribdv_Guiliani;
335 static PFNGLGETVERTEXATTRIBFVPROC glGetVertexAttribfv_Guiliani;
336 static PFNGLGETVERTEXATTRIBIVPROC glGetVertexAttribiv_Guiliani;
337 static PFNGLGETVERTEXATTRIBPOINTERVPROC glGetVertexAttribPointerv_Guiliani;
338 static PFNGLISPROGRAMPROC glIsProgram_Guiliani;
339 static PFNGLISSHADERPROC glIsShader_Guiliani;
340 static PFNGLLINKPROGRAMPROC glLinkProgram_Guiliani;
341 static PFNGLSHADERSOURCEPROC glShaderSource_Guiliani;
342 static PFNGLUSEPROGRAMPROC glUseProgram_Guiliani;
343 static PFNGLUNIFORM1FPROC glUniform1f_Guiliani;
344 static PFNGLUNIFORM2FPROC glUniform2f_Guiliani;
345 static PFNGLUNIFORM3FPROC glUniform3f_Guiliani;
346 static PFNGLUNIFORM4FPROC glUniform4f_Guiliani;
347 static PFNGLUNIFORM1IPROC glUniform1i_Guiliani;
348 static PFNGLUNIFORM2IPROC glUniform2i_Guiliani;
349 static PFNGLUNIFORM3IPROC glUniform3i_Guiliani;
350 static PFNGLUNIFORM4IPROC glUniform4i_Guiliani;
351 static PFNGLUNIFORM1FVPROC glUniform1fv_Guiliani;
352 static PFNGLUNIFORM2FVPROC glUniform2fv_Guiliani;
353 static PFNGLUNIFORM3FVPROC glUniform3fv_Guiliani;
354 static PFNGLUNIFORM4FVPROC glUniform4fv_Guiliani;
355 static PFNGLUNIFORM1IVPROC glUniform1iv_Guiliani;
356 static PFNGLUNIFORM2IVPROC glUniform2iv_Guiliani;
357 static PFNGLUNIFORM3IVPROC glUniform3iv_Guiliani;
358 static PFNGLUNIFORM4IVPROC glUniform4iv_Guiliani;
359 static PFNGLUNIFORMMATRIX2FVPROC glUniformMatrix2fv_Guiliani;
360 static PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv_Guiliani;
361 static PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv_Guiliani;
362 static PFNGLVALIDATEPROGRAMPROC glValidateProgram_Guiliani;
363 static PFNGLVERTEXATTRIB1DPROC glVertexAttrib1d_Guiliani;
364 static PFNGLVERTEXATTRIB1DVPROC glVertexAttrib1dv_Guiliani;
365 static PFNGLVERTEXATTRIB1FPROC glVertexAttrib1f_Guiliani;
366 static PFNGLVERTEXATTRIB1FVPROC glVertexAttrib1fv_Guiliani;
367 static PFNGLVERTEXATTRIB1SPROC glVertexAttrib1s_Guiliani;
368 static PFNGLVERTEXATTRIB1SVPROC glVertexAttrib1sv_Guiliani;
369 static PFNGLVERTEXATTRIB2DPROC glVertexAttrib2d_Guiliani;
370 static PFNGLVERTEXATTRIB2DVPROC glVertexAttrib2dv_Guiliani;
371 static PFNGLVERTEXATTRIB2FPROC glVertexAttrib2f_Guiliani;
372 static PFNGLVERTEXATTRIB2FVPROC glVertexAttrib2fv_Guiliani;
373 static PFNGLVERTEXATTRIB2SPROC glVertexAttrib2s_Guiliani;
374 static PFNGLVERTEXATTRIB2SVPROC glVertexAttrib2sv_Guiliani;
375 static PFNGLVERTEXATTRIB3DPROC glVertexAttrib3d_Guiliani;
376 static PFNGLVERTEXATTRIB3DVPROC glVertexAttrib3dv_Guiliani;
377 static PFNGLVERTEXATTRIB3FPROC glVertexAttrib3f_Guiliani;
378 static PFNGLVERTEXATTRIB3FVPROC glVertexAttrib3fv_Guiliani;
379 static PFNGLVERTEXATTRIB3SPROC glVertexAttrib3s_Guiliani;
380 static PFNGLVERTEXATTRIB3SVPROC glVertexAttrib3sv_Guiliani;
381 static PFNGLVERTEXATTRIB4NBVPROC glVertexAttrib4Nbv_Guiliani;
382 static PFNGLVERTEXATTRIB4NIVPROC glVertexAttrib4Niv_Guiliani;
383 static PFNGLVERTEXATTRIB4NSVPROC glVertexAttrib4Nsv_Guiliani;
384 static PFNGLVERTEXATTRIB4NUBPROC glVertexAttrib4Nub_Guiliani;
385 static PFNGLVERTEXATTRIB4NUBVPROC glVertexAttrib4Nubv_Guiliani;
386 static PFNGLVERTEXATTRIB4NUIVPROC glVertexAttrib4Nuiv_Guiliani;
387 static PFNGLVERTEXATTRIB4NUSVPROC glVertexAttrib4Nusv_Guiliani;
388 static PFNGLVERTEXATTRIB4BVPROC glVertexAttrib4bv_Guiliani;
389 static PFNGLVERTEXATTRIB4DPROC glVertexAttrib4d_Guiliani;
390 static PFNGLVERTEXATTRIB4DVPROC glVertexAttrib4dv_Guiliani;
391 static PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f_Guiliani;
392 static PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv_Guiliani;
393 static PFNGLVERTEXATTRIB4IVPROC glVertexAttrib4iv_Guiliani;
394 static PFNGLVERTEXATTRIB4SPROC glVertexAttrib4s_Guiliani;
395 static PFNGLVERTEXATTRIB4SVPROC glVertexAttrib4sv_Guiliani;
396 static PFNGLVERTEXATTRIB4UBVPROC glVertexAttrib4ubv_Guiliani;
397 static PFNGLVERTEXATTRIB4UIVPROC glVertexAttrib4uiv_Guiliani;
398 static PFNGLVERTEXATTRIB4USVPROC glVertexAttrib4usv_Guiliani;
399 static PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer_Guiliani;
409#if GUILIANI_USE_GL_SHADERS == 1
413 eC_Bool InitShaders();
420 void MultMatrix(
const Matrix3D_t& avMatrix);
423 void SetOrthoProjection(
const eC_Value& vLeft,
const eC_Value& vRight,
424 const eC_Value& vBottom,
const eC_Value& vTop,
425 const eC_Value& vNear,
const eC_Value& vFar);
428 void SetFrustumProjection(
const eC_Value& vLeft,
const eC_Value& vRight,
429 const eC_Value& vBottom,
const eC_Value& vTop,
430 const eC_Value& vNear,
const eC_Value& vFar);
433 void SetRotation(
const eC_Value& vDegrees, eC_Value vX, eC_Value vY, eC_Value vZ);
436 void SetTranslation(
const eC_Value& vXTranslate,
const eC_Value& vYTranslate,
const eC_Value& vZTranslate);
439 void SetScaling(
const eC_Value& vXScale,
const eC_Value vYScale,
const eC_Value vZScale);
442 void SetUniformScaling(
const eC_Value& vScale);
447 eC_UInt GetShaderID()
const;
452 void SetMatrix(
const Matrix3D_t& avNewMatrix);
457 const Matrix3D_t& GetMatrix()
const;
475 inline void SetMatrixMode(
const MatrixType_t& eNewActiveMatrix)
477 m_eActiveMatrix = eNewActiveMatrix;
495 const eC_Bool& bVertexEnabled,
496 const eC_Bool& bTextureCoordsEnabled);
502 void BindBuffer(
const eC_UInt& eType,
const eC_UInt& uiBuffer);
508 void BindTexture(
const eC_UInt& eType,
const eC_UInt& uiTextureID);
539 const eC_UInt& uiTexID,
540 const eC_UInt& uiXPos,
const eC_UInt& uiYPos,
541 const eC_UInt& uiWidth,
const eC_UInt& uiHeight,
void* pkData) = 0;
561 GUIBitmapPlaneID_t uiNewBitmapID,
563 const eC_Value& vWidth,
const eC_Value& vHeight);
588 const eC_UInt& uiWidth,
589 const eC_UInt& uiHeight,
590 const eC_UInt& eImageType,
604 const eC_UInt &uiSrcX,
const eC_UInt &uiSrcY,
605 const eC_UInt &uiSrcWidth,
const eC_UInt &uiSrcHeight,
606 const eC_Value& vDestX,
const eC_Value& vDestY,
607 const eC_Value& vDestWidth,
const eC_Value& vDestHeight,
608 const eC_UByte &ubAlpha = 255,
609 const eC_Value& vAngle = eC_FromFloat(0),
610 const eC_Value& vRotCenterX = eC_FromFloat(0.5),
const eC_Value& vRotCenterY = eC_FromFloat(0.5));
617 const eC_UInt uiTopBorder,
618 const eC_UInt uiBottomBorder,
619 const eC_UInt uiLeftBorder,
620 const eC_UInt uiRightBorder,
621 const eC_UByte &ubAlpha);
656 const eC_Bool bFilled);
698 const eC_Bool& bEnabled,
699 const eC_Int& iX = 0,
700 const eC_Int& iY = 0,
701 const eC_Int& iWidth = 0,
702 const eC_Int& iHeight = 0
726#if GUILIANI_USE_GL_SHADERS == 1
728 Matrix3D_t m_avProjectionMatrix;
731 Matrix3D_t m_avModelviewMatrix;
742 MatrixType_t m_eActiveMatrix;
744 eC_Int m_iLocTextureEnvMode;
745 eC_Int m_iLocTexSampler;
746 eC_Int m_iLocModelViewMatrix;
747 eC_Int m_iLocProjectionMatrix;
756 eC_Bool m_bVertexEnabled;
757 eC_Bool m_bTextureCoordsEnabled;
760 eC_UInt m_uiCurrentlyBoundBuffer;
763 eC_UInt m_uiCurrentlyBoundTexture;
766 eC_Bool m_bTexturingActive;
783 eC_Value vDestHeight;
786 struct NinePatchBlit_t
790 eImageID = DUMMY_IMAGE;
791 for (eC_UByte index = 0; index < 9; ++index)
792 kCoords[index].Reset();
797 BlitRecord_t kCoords[9];
801 NinePatchBlit_t m_kBlits;
804 eC_Bool m_bScissorEnabled;
807 eC_Int m_iScissorWidth;
808 eC_Int m_iScissorHeight;
ImageResource_t
Enumeration of image resource ids.
Definition: GUIImageResource.h:126
The BitmapPlane Class for GL with pseudo offscreen rendering.
Definition: GUIBitmapPlane_GL.h:21
The bitmap plane base class.
Definition: GUIBitmapPlane.h:152
OpenGL Version of CGUIImageData for textures.
Definition: GUIImageDataGL.h:17
Contains information about an image loaded by CGUIImageLoader.
Definition: GUIImageData.h:29
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
OpenGL graphic wrapper base class. This is the base class for all OpenGL related graphic wrappers (Op...
Definition: GfxWrapGL.h:61
virtual void FilledRect(const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2)
eC_Value m_vNear
near-plane
Definition: GfxWrapGL.h:720
virtual void StoreWrapperState()
virtual void LoadImgImpl(void *pkMemory, const eC_UInt &uiWidth, const eC_UInt &uiHeight, const eC_UInt &eImageType, const ImageResource_t &eID)
eC_Value m_vFovy
fov
Definition: GfxWrapGL.h:718
virtual void Line(const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2)
virtual eC_Value SetLineWidth(const eC_Value &vWidth)
void DeleteTexture(const eC_UInt &uiTextureID)
virtual void RestoreWrapperState()
virtual ~CGfxWrapGL(void)
Destructor.
void SetPerspectiveProjection(const eC_Value &vFovy, const eC_Value &vAspect, const eC_Value &vNear, const eC_Value &vFar)
virtual void SetScreenSize(const eC_UInt &uiWidth, const eC_UInt &uiHeight)
void GenerateTexture(const ImageResource_t &eImageID)
eC_TArray< CGUIImageDataGL * > m_apTextures
used textures
Definition: GfxWrapGL.h:711
virtual void RestoreBackBuffer(const eC_Value vWidth, const eC_Value vHeight)
eC_Value m_vGreen
green
Definition: GfxWrapGL.h:707
void Set2DView(const eC_UInt uiWidth, const eC_UInt uiHeight)
const eC_UInt GetTextureID(const ImageResource_t &eImageID)
void SetClientStates(const eC_Bool &bVertexEnabled, const eC_Bool &bTextureCoordsEnabled)
virtual eC_UInt GetVirtualScreenHeight()
eC_Bool SetNOFImagesImpl(const eC_UInt uiNOFImages)
void SetTexturingActive(const eC_Bool &bTexturingActive)
virtual eC_Bool ImageExists(const ImageResource_t eID) const
virtual eC_Bool InitView()
virtual void BlitImgExtImpl(const ImageResource_t &eID, const eC_UInt &uiSrcX, const eC_UInt &uiSrcY, const eC_UInt &uiSrcWidth, const eC_UInt &uiSrcHeight, const eC_Value &vDestX, const eC_Value &vDestY, const eC_Value &vDestWidth, const eC_Value &vDestHeight, const eC_UByte &ubAlpha=255, const eC_Value &vAngle=eC_FromFloat(0), const eC_Value &vRotCenterX=eC_FromFloat(0.5), const eC_Value &vRotCenterY=eC_FromFloat(0.5))
eC_Value m_vDepthCorrection
depth-corretion
Definition: GfxWrapGL.h:713
virtual void Rect(const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2)
eC_UInt m_uiVertexVBO
vertex buffer object
Definition: GfxWrapGL.h:724
void DisableBlending()
disable blending
virtual void Arc(const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2, const eC_Value &vStartAngle, const eC_Value &vEndAngle, const eC_Value &vRotationAngle, const eC_Bool &bFilled)
virtual void ReadTextureData(const eC_UInt &uiTexID, const eC_UInt &uiXPos, const eC_UInt &uiYPos, const eC_UInt &uiWidth, const eC_UInt &uiHeight, void *pkData)=0
void SetCliprect(const CGUIRect &rkNewClipRect, const eC_Bool &bRotate)
eC_Value GetZCorrection()
void BindTexture(const eC_UInt &eType, const eC_UInt &uiTextureID)
void EnableBlending()
enable blending
virtual eC_Bool DrawToScreen()
virtual void LoadImgImpl(const eC_String &psPath, const ImageResource_t &eID)
virtual eC_UInt GetImgHeightImpl(const ImageResource_t &eID) const
Matrix3D_t m_avTransMat
transition matrix
Definition: GfxWrapGL.h:716
virtual CGUIBitmapPlane * CreateGfxDependentBitmap(GUIBitmapPlaneID_t uiNewBitmapID, const CGUIObject &rkParentObject, const eC_Value &vWidth, const eC_Value &vHeight)
virtual void UnloadImg(const ImageResource_t &eID)
static eC_Bool CheckGLError(const eC_String &kCallingMethod, const eC_String &kFunction="")
void SetMixTextureWithColor(const eC_Bool &bMixWithColor)
virtual eC_UInt GetImageSize(const ImageResource_t &eID) const
void CreateScreen(const eC_UInt &uiWidth, const eC_UInt &uiHeight)
eC_Value m_vAlpha
alpha
Definition: GfxWrapGL.h:709
eC_Bool IsFBOSupported() const
Definition: GfxWrapGL.h:488
eC_Value m_vRed
red
Definition: GfxWrapGL.h:706
virtual void SetForegroundColorImpl(const eC_UByte &ubRed, const eC_UByte &ubGreen, const eC_UByte &ubBlue, const eC_UByte &ubAlpha=255)
virtual eC_UInt GetImgWidthImpl(const ImageResource_t &eID) const
CGUIImageDataGL * GetImageData(const ImageResource_t &eImageID)
virtual void SetCliprect(const CGUIRect &rkNewClipRect)
eC_Value m_vAspect
aspect-ratio
Definition: GfxWrapGL.h:719
virtual void BlitImgExtImpl(const CGUIImageData &kImageData, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY)
Definition: GfxWrapGL.h:612
virtual eC_UInt GetVirtualScreenWidth()
void IncreaseZCorrection()
CGfxWrapGL(void)
Constructor.
virtual void Ellipse(const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2, const eC_Bool &bFilled)
virtual eC_UInt GetPhysicalScreenWidth()
void BindBuffer(const eC_UInt &eType, const eC_UInt &uiBuffer)
virtual eC_Bool DrawToBitmap(GUIBitmapPlaneID_t uiBitmapID)
void SetScissor(const eC_Bool &bEnabled, const eC_Int &iX=0, const eC_Int &iY=0, const eC_Int &iWidth=0, const eC_Int &iHeight=0)
virtual eC_UInt GetPhysicalScreenHeight()
void DrawRect(const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2, const eC_Bool bFilled)
eC_Bool m_bFBOSupported
< Indicates if FrameBufferObjects are supported on this machine
Definition: GfxWrapGL.h:752
eC_Value m_vBlue
blue
Definition: GfxWrapGL.h:708
eC_Value m_vFar
far-plane
Definition: GfxWrapGL.h:721
virtual void Polygon(eC_Value *pvPoints, const eC_UInt &uiCount, const eC_Bool &bFilled)
virtual void BlitImgNinePatch(const ImageResource_t &eID, const CGUIRect &kAbsRect, const eC_UInt uiTopBorder, const eC_UInt uiBottomBorder, const eC_UInt uiLeftBorder, const eC_UInt uiRightBorder, const eC_UByte &ubAlpha)
virtual void Ring(const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2, const eC_Value &vRingWidth, const eC_Value &vStartAngle, const eC_Value &vEndAngle, const eC_Value &vRotationAngle, const eC_Bool &bFilled)
void BlitNinePatchExt()
helper for blitting ninepatch
static const eC_Value cvPixelCenterOffset
Definition: GfxWrapGL.h:70
eC_UInt GetVBO() const
Definition: GfxWrapGL.h:286
class to load and use an OpenGL-shader
Definition: GfxWrapGL.h:29
CGfxWrapGLShader()
Constructor.
eC_Bool Load(const char *cVertexShader, const char *cFragmentShader)
~CGfxWrapGLShader()
Destructor.
eC_UInt GetShaderID() const
Definition: GfxWrapGL.h:47
The graphics wrapper base class.
Definition: GfxWrap.h:88
Represents a double linked list template with header and tail node.
Definition: eC_TList_doubleLinked.h:67