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);
218 void Set2DView(
const eC_UInt uiWidth,
const eC_UInt uiHeight);
226 static eC_Bool
CheckGLError(
const eC_String& kCallingMethod,
const eC_String& kFunction =
"");
268 const eC_Value& vFovy,
269 const eC_Value& vAspect,
270 const eC_Value& vNear,
271 const eC_Value& vFar);
286#if defined (GUILIANI_USE_OGL) && !defined (SYSTEM_NAME_DARWIN)
288 static PFNGLBINDBUFFERPROC glBindBuffer_Guiliani;
289 static PFNGLBUFFERDATAPROC glBufferData_Guiliani;
290 static PFNGLGENBUFFERSPROC glGenBuffers_Guiliani;
291 static PFNGLDELETEBUFFERSPROC glDeleteBuffers_Guiliani;
294 static PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers_Guiliani;
295 static PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer_Guiliani;
296 static PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D_Guiliani;
297 static PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus_Guiliani;
298 static PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers_Guiliani;
300#if GUILIANI_USE_GL_SHADERS == 1
302 static PFNGLBLENDEQUATIONSEPARATEPROC glBlendEquationSeparate_Guiliani;
303 static PFNGLDRAWBUFFERSPROC glDrawBuffers_Guiliani;
304 static PFNGLSTENCILOPSEPARATEPROC glStencilOpSeparate_Guiliani;
305 static PFNGLSTENCILFUNCSEPARATEPROC glStencilFuncSeparate_Guiliani;
306 static PFNGLSTENCILMASKSEPARATEPROC glStencilMaskSeparate_Guiliani;
307 static PFNGLATTACHSHADERPROC glAttachShader_Guiliani;
308 static PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation_Guiliani;
309 static PFNGLCOMPILESHADERPROC glCompileShader_Guiliani;
310 static PFNGLCREATEPROGRAMPROC glCreateProgram_Guiliani;
311 static PFNGLCREATESHADERPROC glCreateShader_Guiliani;
312 static PFNGLDELETEPROGRAMPROC glDeleteProgram_Guiliani;
313 static PFNGLDELETESHADERPROC glDeleteShader_Guiliani;
314 static PFNGLDETACHSHADERPROC glDetachShader_Guiliani;
315 static PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray_Guiliani;
316 static PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray_Guiliani;
317 static PFNGLGETACTIVEATTRIBPROC glGetActiveAttrib_Guiliani;
318 static PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform_Guiliani;
319 static PFNGLGETATTACHEDSHADERSPROC glGetAttachedShaders_Guiliani;
320 static PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation_Guiliani;
321 static PFNGLGETPROGRAMIVPROC glGetProgramiv_Guiliani;
322 static PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog_Guiliani;
323 static PFNGLGETSHADERIVPROC glGetShaderiv_Guiliani;
324 static PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog_Guiliani;
325 static PFNGLGETSHADERSOURCEPROC glGetShaderSource_Guiliani;
326 static PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation_Guiliani;
327 static PFNGLGETUNIFORMFVPROC glGetUniformfv_Guiliani;
328 static PFNGLGETUNIFORMIVPROC glGetUniformiv_Guiliani;
329 static PFNGLGETVERTEXATTRIBDVPROC glGetVertexAttribdv_Guiliani;
330 static PFNGLGETVERTEXATTRIBFVPROC glGetVertexAttribfv_Guiliani;
331 static PFNGLGETVERTEXATTRIBIVPROC glGetVertexAttribiv_Guiliani;
332 static PFNGLGETVERTEXATTRIBPOINTERVPROC glGetVertexAttribPointerv_Guiliani;
333 static PFNGLISPROGRAMPROC glIsProgram_Guiliani;
334 static PFNGLISSHADERPROC glIsShader_Guiliani;
335 static PFNGLLINKPROGRAMPROC glLinkProgram_Guiliani;
336 static PFNGLSHADERSOURCEPROC glShaderSource_Guiliani;
337 static PFNGLUSEPROGRAMPROC glUseProgram_Guiliani;
338 static PFNGLUNIFORM1FPROC glUniform1f_Guiliani;
339 static PFNGLUNIFORM2FPROC glUniform2f_Guiliani;
340 static PFNGLUNIFORM3FPROC glUniform3f_Guiliani;
341 static PFNGLUNIFORM4FPROC glUniform4f_Guiliani;
342 static PFNGLUNIFORM1IPROC glUniform1i_Guiliani;
343 static PFNGLUNIFORM2IPROC glUniform2i_Guiliani;
344 static PFNGLUNIFORM3IPROC glUniform3i_Guiliani;
345 static PFNGLUNIFORM4IPROC glUniform4i_Guiliani;
346 static PFNGLUNIFORM1FVPROC glUniform1fv_Guiliani;
347 static PFNGLUNIFORM2FVPROC glUniform2fv_Guiliani;
348 static PFNGLUNIFORM3FVPROC glUniform3fv_Guiliani;
349 static PFNGLUNIFORM4FVPROC glUniform4fv_Guiliani;
350 static PFNGLUNIFORM1IVPROC glUniform1iv_Guiliani;
351 static PFNGLUNIFORM2IVPROC glUniform2iv_Guiliani;
352 static PFNGLUNIFORM3IVPROC glUniform3iv_Guiliani;
353 static PFNGLUNIFORM4IVPROC glUniform4iv_Guiliani;
354 static PFNGLUNIFORMMATRIX2FVPROC glUniformMatrix2fv_Guiliani;
355 static PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv_Guiliani;
356 static PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv_Guiliani;
357 static PFNGLVALIDATEPROGRAMPROC glValidateProgram_Guiliani;
358 static PFNGLVERTEXATTRIB1DPROC glVertexAttrib1d_Guiliani;
359 static PFNGLVERTEXATTRIB1DVPROC glVertexAttrib1dv_Guiliani;
360 static PFNGLVERTEXATTRIB1FPROC glVertexAttrib1f_Guiliani;
361 static PFNGLVERTEXATTRIB1FVPROC glVertexAttrib1fv_Guiliani;
362 static PFNGLVERTEXATTRIB1SPROC glVertexAttrib1s_Guiliani;
363 static PFNGLVERTEXATTRIB1SVPROC glVertexAttrib1sv_Guiliani;
364 static PFNGLVERTEXATTRIB2DPROC glVertexAttrib2d_Guiliani;
365 static PFNGLVERTEXATTRIB2DVPROC glVertexAttrib2dv_Guiliani;
366 static PFNGLVERTEXATTRIB2FPROC glVertexAttrib2f_Guiliani;
367 static PFNGLVERTEXATTRIB2FVPROC glVertexAttrib2fv_Guiliani;
368 static PFNGLVERTEXATTRIB2SPROC glVertexAttrib2s_Guiliani;
369 static PFNGLVERTEXATTRIB2SVPROC glVertexAttrib2sv_Guiliani;
370 static PFNGLVERTEXATTRIB3DPROC glVertexAttrib3d_Guiliani;
371 static PFNGLVERTEXATTRIB3DVPROC glVertexAttrib3dv_Guiliani;
372 static PFNGLVERTEXATTRIB3FPROC glVertexAttrib3f_Guiliani;
373 static PFNGLVERTEXATTRIB3FVPROC glVertexAttrib3fv_Guiliani;
374 static PFNGLVERTEXATTRIB3SPROC glVertexAttrib3s_Guiliani;
375 static PFNGLVERTEXATTRIB3SVPROC glVertexAttrib3sv_Guiliani;
376 static PFNGLVERTEXATTRIB4NBVPROC glVertexAttrib4Nbv_Guiliani;
377 static PFNGLVERTEXATTRIB4NIVPROC glVertexAttrib4Niv_Guiliani;
378 static PFNGLVERTEXATTRIB4NSVPROC glVertexAttrib4Nsv_Guiliani;
379 static PFNGLVERTEXATTRIB4NUBPROC glVertexAttrib4Nub_Guiliani;
380 static PFNGLVERTEXATTRIB4NUBVPROC glVertexAttrib4Nubv_Guiliani;
381 static PFNGLVERTEXATTRIB4NUIVPROC glVertexAttrib4Nuiv_Guiliani;
382 static PFNGLVERTEXATTRIB4NUSVPROC glVertexAttrib4Nusv_Guiliani;
383 static PFNGLVERTEXATTRIB4BVPROC glVertexAttrib4bv_Guiliani;
384 static PFNGLVERTEXATTRIB4DPROC glVertexAttrib4d_Guiliani;
385 static PFNGLVERTEXATTRIB4DVPROC glVertexAttrib4dv_Guiliani;
386 static PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f_Guiliani;
387 static PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv_Guiliani;
388 static PFNGLVERTEXATTRIB4IVPROC glVertexAttrib4iv_Guiliani;
389 static PFNGLVERTEXATTRIB4SPROC glVertexAttrib4s_Guiliani;
390 static PFNGLVERTEXATTRIB4SVPROC glVertexAttrib4sv_Guiliani;
391 static PFNGLVERTEXATTRIB4UBVPROC glVertexAttrib4ubv_Guiliani;
392 static PFNGLVERTEXATTRIB4UIVPROC glVertexAttrib4uiv_Guiliani;
393 static PFNGLVERTEXATTRIB4USVPROC glVertexAttrib4usv_Guiliani;
394 static PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer_Guiliani;
404#if GUILIANI_USE_GL_SHADERS == 1
408 eC_Bool InitShaders();
415 void MultMatrix(
const Matrix3D_t& avMatrix);
418 void SetOrthoProjection(
const eC_Value& vLeft,
const eC_Value& vRight,
419 const eC_Value& vBottom,
const eC_Value& vTop,
420 const eC_Value& vNear,
const eC_Value& vFar);
423 void SetFrustumProjection(
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 SetRotation(
const eC_Value& vDegrees, eC_Value vX, eC_Value vY, eC_Value vZ);
431 void SetTranslation(
const eC_Value& vXTranslate,
const eC_Value& vYTranslate,
const eC_Value& vZTranslate);
434 void SetScaling(
const eC_Value& vXScale,
const eC_Value vYScale,
const eC_Value vZScale);
437 void SetUniformScaling(
const eC_Value& vScale);
442 eC_UInt GetShaderID()
const;
447 void SetMatrix(
const Matrix3D_t& avNewMatrix);
452 const Matrix3D_t& GetMatrix()
const;
470 inline void SetMatrixMode(
const MatrixType_t& eNewActiveMatrix)
472 m_eActiveMatrix = eNewActiveMatrix;
490 const eC_Bool& bVertexEnabled,
491 const eC_Bool& bTextureCoordsEnabled);
497 void BindBuffer(
const eC_UInt& eType,
const eC_UInt& uiBuffer);
503 void BindTexture(
const eC_UInt& eType,
const eC_UInt& uiTextureID);
534 const eC_UInt& uiTexID,
535 const eC_UInt& uiXPos,
const eC_UInt& uiYPos,
536 const eC_UInt& uiWidth,
const eC_UInt& uiHeight,
void* pkData) = 0;
556 GUIBitmapPlaneID_t uiNewBitmapID,
558 const eC_Value& vWidth,
const eC_Value& vHeight);
583 const eC_UInt& uiWidth,
584 const eC_UInt& uiHeight,
585 const eC_UInt& eImageType,
599 const eC_UInt &uiSrcX,
const eC_UInt &uiSrcY,
600 const eC_UInt &uiSrcWidth,
const eC_UInt &uiSrcHeight,
601 const eC_Value& vDestX,
const eC_Value& vDestY,
602 const eC_Value& vDestWidth,
const eC_Value& vDestHeight,
603 const eC_UByte &ubAlpha = 255,
604 const eC_Value& vAngle = eC_FromFloat(0),
605 const eC_Value& vRotCenterX = eC_FromFloat(0.5),
const eC_Value& vRotCenterY = eC_FromFloat(0.5));
612 const eC_UInt uiTopBorder,
613 const eC_UInt uiBottomBorder,
614 const eC_UInt uiLeftBorder,
615 const eC_UInt uiRightBorder,
616 const eC_UByte &ubAlpha);
651 const eC_Bool bFilled);
693 const eC_Bool& bEnabled,
694 const eC_Int& iX = 0,
695 const eC_Int& iY = 0,
696 const eC_Int& iWidth = 0,
697 const eC_Int& iHeight = 0
721#if GUILIANI_USE_GL_SHADERS == 1
723 Matrix3D_t m_avProjectionMatrix;
726 Matrix3D_t m_avModelviewMatrix;
737 MatrixType_t m_eActiveMatrix;
739 eC_Int m_iLocTextureEnvMode;
740 eC_Int m_iLocTexSampler;
741 eC_Int m_iLocModelViewMatrix;
742 eC_Int m_iLocProjectionMatrix;
751 eC_Bool m_bVertexEnabled;
752 eC_Bool m_bTextureCoordsEnabled;
755 eC_UInt m_uiCurrentlyBoundBuffer;
758 eC_UInt m_uiCurrentlyBoundTexture;
761 eC_Bool m_bTexturingActive;
778 eC_Value vDestHeight;
781 struct NinePatchBlit_t
785 eImageID = DUMMY_IMAGE;
786 for (eC_UByte index = 0; index < 9; ++index)
787 kCoords[index].Reset();
792 BlitRecord_t kCoords[9];
796 NinePatchBlit_t m_kBlits;
799 eC_Bool m_bScissorEnabled;
802 eC_Int m_iScissorWidth;
803 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:79
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:715
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:713
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:706
virtual void RestoreBackBuffer(const eC_Value vWidth, const eC_Value vHeight)
eC_Value m_vGreen
green
Definition: GfxWrapGL.h:702
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:708
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:719
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:711
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:704
eC_Bool IsFBOSupported() const
Definition: GfxWrapGL.h:483
eC_Value m_vRed
red
Definition: GfxWrapGL.h:701
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:714
virtual void BlitImgExtImpl(const CGUIImageData &kImageData, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY)
Definition: GfxWrapGL.h:607
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:747
eC_Value m_vBlue
blue
Definition: GfxWrapGL.h:703
eC_Value m_vFar
far-plane
Definition: GfxWrapGL.h:716
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:281
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:84
Represents a double linked list template with header and tail node.
Definition: eC_TList_doubleLinked.h:67