class EE::Graphics::GlobalBatchRenderer

The global Batch Renderer class. This class will be used by the engine for the rendering.

#include <globalbatchrenderer.hpp>

class GlobalBatchRenderer: public EE::Graphics::BatchRenderer {
public:
    // construction

    ~GlobalBatchRenderer();
};

Inherited Members

public:
    // methods

    static BatchRenderer* New();
    static BatchRenderer* New(const unsigned int& Prealloc);
    void allocVertexs(const unsigned int& size);
    void setTexture(const Texture* texture, Texture::CoordinateType coordinateType = Texture::CoordinateType::Normalized);
    void setBlendMode(const BlendMode& blend);
    void setBatchForceRendering(const bool& force);
    bool getBatchForceRendering() const;
    void draw();
    void drawOpt();
    void setBatchRotation(const Float& Rotation);
    Float getBatchRotation() const;
    void setBatchScale(const Vector2f& Scale);
    void setBatchScale(const Float& Scale);
    Vector2f getBatchScale() const;
    void setBatchPosition(const Vector2f Pos);
    Vector2f getBatchPosition() const;
    void setBatchCenter(const Vector2f Pos);
    Vector2f getBatchCenter() const;

    void batchQuadEx(
        Float x,
        Float y,
        Float width,
        Float height,
        Float angle = 0.0f,
        Vector2f scale = Vector2f::One,
        OriginPoint originPoint = OriginPoint(OriginPoint::OriginCenter)
    );

    void batchQuad(const Float& x, const Float& y, const Float& width, const Float& height);
    void batchQuad(const Rectf& rect);

    void batchQuadFree(
        const Float& x0,
        const Float& y0,
        const Float& x1,
        const Float& y1,
        const Float& x2,
        const Float& y2,
        const Float& x3,
        const Float& y3
    );

    void batchQuadFreeEx(
        const Float& x0,
        const Float& y0,
        const Float& x1,
        const Float& y1,
        const Float& x2,
        const Float& y2,
        const Float& x3,
        const Float& y3,
        const Float& Angle = 0.0f,
        const Float& Scale = 1.0f
    );

    void quadsBegin();
    void quadsSetTexCoord(const Float& tl_u, const Float& tl_v, const Float& br_u, const Float& br_v);
    void quadsSetTexCoord(const Rectf& region);

    void quadsSetTexCoordFree(
        const Float& x0,
        const Float& y0,
        const Float& x1,
        const Float& y1,
        const Float& x2,
        const Float& y2,
        const Float& x3,
        const Float& y3
    );

    void quadsSetColor(const Color& Color);
    void quadsSetColorFree(const Color& Color0, const Color& Color1, const Color& Color2, const Color& Color3);
    void pointsBegin();
    void pointSetColor(const Color& Color);
    void pointSetTexCoord(const Float& x, const Float& y);
    void batchPoint(const Float& x, const Float& y, const PrimitiveType& primitiveType = PRIMITIVE_POINTS);
    void batchPointList(const std::vector<VertexData>& points, const PrimitiveType& primitiveType = PRIMITIVE_POINTS);
    void linesBegin();
    void linesSetColor(const Color& Color);
    void linesSetColorFree(const Color& Color0, const Color& Color1);
    void batchLine(const Float& x0, const Float& y0, const Float& x1, const Float& y1);
    void lineLoopBegin();
    void lineLoopSetColor(const Color& Color);
    void lineLoopSetColorFree(const Color& Color0, const Color& Color1);
    void batchLineLoop(const Float& x0, const Float& y0, const Float& x1, const Float& y1);
    void batchLineLoop(const Float& x0, const Float& y0);
    void batchLineLoop(const Vector2f& vector1, const Vector2f& vector2);
    void batchLineLoop(const Vector2f& vector1);
    void lineStripBegin();
    void lineStripSetColor(const Color& Color);
    void lineStripSetColorFree(const Color& Color0, const Color& Color1);
    void batchLineStrip(const Float& x0, const Float& y0, const Float& x1, const Float& y1);
    void batchLineStrip(const Float& x0, const Float& y0);
    void batchLineStrip(const Vector2f& vector1, const Vector2f& vector2);
    void batchLineStrip(const Vector2f& vector1);
    void triangleFanBegin();
    void triangleFanSetColor(const Color& Color);
    void triangleFanSetColorFree(const Color& Color0, const Color& Color1, const Color& Color2);
    void triangleFanSetTexCoord(const Float& x0, const Float& y0, const Float& x1, const Float& y1, const Float& x2, const Float& y2);
    void batchTriangleFan(const Float& x0, const Float& y0, const Float& x1, const Float& y1, const Float& x2, const Float& y2);
    void batchTriangleFan(const Float& x0, const Float& y0);
    void trianglesBegin();
    void trianglesSetColor(const Color& Color);
    void trianglesSetColorFree(const Color& Color0, const Color& Color1, const Color& Color2);
    void trianglesSetTexCoord(const Float& x0, const Float& y0, const Float& x1, const Float& y1, const Float& x2, const Float& y2);
    void batchTriangle(const Float& x0, const Float& y0, const Float& x1, const Float& y1, const Float& x2, const Float& y2);
    void polygonSetColor(const Color& Color);
    void batchPolygon(const Polygon2f& Polygon);
    void setLineWidth(const Float& lineWidth);
    Float getLineWidth();
    void setPointSize(const Float& pointSize);
    Float getPointSize();
    void batchPolygonByPoint(const Float& x, const Float& y);
    void batchPolygonByPoint(const Vector2f& Vector);
    void setForceBlendModeChange(const bool& Force);
    const bool& getForceBlendModeChange() const;