My Project
|
opengl/directX renderer More...
#include <PaintEngineGPU.h>
Public Member Functions | |
void | Cleanup () |
void | InitDeviceObjects () |
void | RestoreDeviceObjects () |
void | InvalidateDeviceObjects () |
void | DeleteDeviceObjects () |
void | Init () |
virtual bool | begin (CPaintDevice *pdev) |
virtual bool | end () |
virtual void | Flush () |
flush sprite | |
virtual CPainterState * | createState (CPainterState *orig) const |
virtual void | updateState (const CPaintEngineState &state) |
virtual void | setState (CPainterState *s) |
virtual void | ApplyStateChanges () |
apply transform and blending mode, etc before drawing. More... | |
CPaintEngineGPUState * | GetState () |
const CPaintEngineGPUState * | GetState () const |
virtual void | drawPixmap (const QRectF &r, const TextureEntity &pm, const QRectF &sr) |
CSpriteRenderer * | GetSprite () |
get the global sprite object used to draw texture and images | |
virtual bool | IsScissorRectSupported () const |
virtual bool | IsStencilSupported () const |
virtual void | clip (const QRect &rect, ClipOperation op=ReplaceClip) |
virtual void | SetUse3DTransform (bool bUse3DSpaceTransform) |
by default, transforms are in 2d screen space. More... | |
virtual bool | IsUse3DTransform () |
return false by default. More... | |
virtual void | drawLines (const QLine *lines, int lineCount) |
virtual void | drawLines (const QLineF *lines, int lineCount) |
virtual void | drawLines (const Vector3 *vertices, int lineCount) |
virtual void | drawPolygon (const QPointF *points, int pointCount, PolygonDrawMode mode) |
virtual void | drawPolygon (const QPoint *points, int pointCount, PolygonDrawMode mode) |
virtual void | drawTriangles (const Vector3 *vertices, int nTriangleCount) |
virtual HRESULT | DrawRect (const RECT *rect, Color color, float depth) |
virtual HRESULT | DrawQuad (TextureEntity *pTexture, const RECT *pSrcRect, const Vector3 *vCenter, const Vector3 *pPosition, Color c) |
virtual HRESULT | drawText (SpriteFontEntity *pFont, const char *strText, int nCount, RECT *rect, DWORD dwTextFormat, DWORD textColor) |
virtual HRESULT | drawText (SpriteFontEntity *pFont, const char16_t *strText, int nCount, RECT *rect, DWORD dwTextFormat, DWORD textColor) |
![]() | |
CPainterState * | GetState () |
const CPainterState * | GetState () const |
bool | isActive () const |
void | setActive (bool newState) |
virtual void | drawRects (const QRect *rects, int rectCount) |
virtual void | drawRects (const QRectF *rects, int rectCount) |
virtual void | drawEllipse (const QRectF &r) |
virtual void | drawEllipse (const QRect &r) |
virtual void | drawPath (const CPainterPath &path) |
virtual void | drawPoints (const QPointF *points, int pointCount) |
virtual void | drawPoints (const QPoint *points, int pointCount) |
virtual void | drawTextItem (const QPointF &p, const CTextItem &textItem) |
virtual void | drawImage (const QRectF &r, const ImageEntity &pm, const QRectF &sr) |
void | setPaintDevice (CPaintDevice *device) |
CPaintDevice * | paintDevice () const |
void | setSystemClip (const QRegion &baseClip) |
QRegion | systemClip () const |
void | setSystemRect (const QRect &rect) |
QRect | systemRect () const |
virtual QPoint | coordinateOffset () const |
bool | testDirty (DirtyFlags df) |
void | setDirty (DirtyFlags df) |
void | clearDirty (DirtyFlags df) |
CPainter * | painter () const |
Static Public Member Functions | |
static CPaintEngineGPU * | GetInstance () |
static void | DestroyInstance () |
Protected Attributes | |
CSpriteRenderer * | m_pSprite |
bool | m_bInitialized |
bool | m_bUse3DTransform |
bool | m_compositionModeDirty |
bool | m_matrixDirty |
bool | m_worldViewProjectMatDirty |
bool | m_worldViewMatDirty |
Matrix4 | m_matWorldViewProject |
Matrix4 | m_matWorldView |
Vector3 | m_vWorldScaling |
![]() | |
CPaintDevice * | pdev |
CPaintEngineState * | state |
bool | active: 1 |
bool | selfDestruct: 1 |
bool | hasSystemTransform: 1 |
bool | hasSystemViewport: 1 |
QRegion | m_systemClip |
QRect | m_systemRect |
QRegion | systemViewport |
QTransform | systemTransform |
CPaintDevice * | currentClipDevice |
Static Protected Attributes | |
static bool | s_IsScissorRectSupported = false |
static bool | s_IsStencilSupported = false |
Friends | |
class | CPainter |
Additional Inherited Members | |
![]() | |
enum | DirtyFlags { DirtyPen = 0x0001, DirtyBrush = 0x0002, DirtyBrushOrigin = 0x0004, DirtyFont = 0x0008, DirtyBackground = 0x0010, DirtyBackgroundMode = 0x0020, DirtyTransform = 0x0040, DirtyClipRegion = 0x0080, DirtyClipPath = 0x0100, DirtyHints = 0x0200, DirtyCompositionMode = 0x0400, DirtyClipEnabled = 0x0800, DirtyOpacity = 0x1000, AllDirty = 0xffff } |
enum | PolygonDrawMode { OddEvenMode, WindingMode, ConvexMode, PolylineMode } |
opengl/directX renderer
|
virtual |
apply transform and blending mode, etc before drawing.
Reimplemented from ParaEngine::CPaintEngine.
|
virtual |
return false by default.
Reimplemented from ParaEngine::CPaintEngine.
|
virtual |
by default, transforms are in 2d screen space.
However, we can also specify using 3d transform, such as when rendering GUI onto 3D scenes
Reimplemented from ParaEngine::CPaintEngine.