![]() |
Gamedev Framework (gf) 1.2.0
A C++17 framework for 2D games
|
A render pipeline. More...
#include <gf/RenderPipeline.h>
Public Member Functions | |
RenderPipeline (Window &window) | |
Constructor. More... | |
void | addEffect (Effect &effect) |
Add an effect to the pipeline. More... | |
void | clearEffects () |
Clear the pipeline. More... | |
void | resized () |
Update the size of the target. More... | |
virtual Vector2i | getSize () const override |
Return the size of the rendering region of the target. More... | |
void | display () |
Apply the effects and display what has been rendered. More... | |
![]() | |
RenderTarget (Vector2i size) | |
Constructor. More... | |
virtual | ~RenderTarget () |
Destructor. More... | |
RenderTarget (const RenderTarget &)=delete | |
Deleted copy constructor. More... | |
RenderTarget & | operator= (const RenderTarget &)=delete |
Deleted copy assignment. More... | |
virtual Vector2i | getSize () const =0 |
Return the size of the rendering region of the target. More... | |
virtual void | setActive () |
Activate the render target for rendering. More... | |
Region | getCanonicalScissorBox () |
Get the current canonical scissor box. More... | |
void | setCanonicalScissorBox (const Region &box) |
Define the canonical scissor box. More... | |
RectI | getScissorBox () |
Get the current scissor box. More... | |
void | setScissorBox (const RectI &box) |
Define the scissor box. More... | |
void | clear (const Color4f &color) |
Clear the entire target with a single color. More... | |
void | clear () |
Clear the entire target. More... | |
RangeF | getAliasedLineWidthRange () const |
Get the range for aliased line width. More... | |
float | getLineWidth () const |
Get the line width. More... | |
void | draw (const Vertex *vertices, std::size_t count, PrimitiveType type, const RenderStates &states=RenderStates()) |
Draw primitives defined by an array of vertices. More... | |
void | draw (const Vertex *vertices, const uint16_t *indices, std::size_t count, PrimitiveType type, const RenderStates &states=RenderStates()) |
Draw primitives defined by an array of vertices and their indices. More... | |
void | draw (const VertexBuffer &buffer, const RenderStates &states=RenderStates()) |
Draw a vertex buffer to the render target. More... | |
void | draw (Drawable &drawable, const RenderStates &states=RenderStates()) |
Draw a drawable object to the render target. More... | |
void | customDraw (const void *vertices, std::size_t size, std::size_t count, PrimitiveType type, Span< const RenderAttributeInfo > attributes, const RenderStates &states=RenderStates()) |
Draw primitives defined by an array of custom vertices. More... | |
void | customDraw (const void *vertices, std::size_t size, const uint16_t *indices, std::size_t count, PrimitiveType type, Span< const RenderAttributeInfo > attributes, const RenderStates &states=RenderStates()) |
Draw primitives defined by an array of custom vertices and their indices. More... | |
void | customDraw (const VertexBuffer &buffer, Span< const RenderAttributeInfo > attributes, const RenderStates &states=RenderStates()) |
Draw a custom vertex buffer to the render target. More... | |
void | setView (const View &view) |
Change the current active view. More... | |
const View & | getView () const |
Get the view currently in use in the render target. More... | |
Region | getCanonicalViewport (const View &view) const |
Get the canonical viewport of a view, applied to this render target. More... | |
RectI | getViewport (const View &view) const |
Get the viewport of a view, applied to this render target. More... | |
Vector2f | mapPixelToCoords (Vector2i point, const View &view) const |
Convert a point from target coordinates to world coordinates. More... | |
Vector2f | mapPixelToCoords (Vector2i point) const |
Convert a point from target coordinates to world coordinates, using the current view. More... | |
Vector2i | mapCoordsToPixel (Vector2f point, const View &view) const |
Convert a point from world coordinates to target coordinates. More... | |
Vector2i | mapCoordsToPixel (Vector2f point) const |
Convert a point from world coordinates to target coordinates, using the current view. More... | |
Protected Member Functions | |
virtual void | onFramebufferResize (Vector2i size) |
Callback when the screen has just been resized. More... | |
![]() | |
Image | captureFramebuffer (unsigned name) const |
Capture the given framebuffer. More... | |
A render pipeline.
A render pipeline automates the application of post-processing effects. A good way to use this class is to make a subclass with all the effects you want to add.
gf::RenderPipeline::RenderPipeline | ( | Window & | window | ) |
Constructor.
window | The window to render to |
void gf::RenderPipeline::addEffect | ( | Effect & | effect | ) |
Add an effect to the pipeline.
effect | The effect |
void gf::RenderPipeline::clearEffects | ( | ) |
Clear the pipeline.
void gf::RenderPipeline::display | ( | ) |
Apply the effects and display what has been rendered.
|
overridevirtual |
Return the size of the rendering region of the target.
Implements gf::RenderTarget.
|
protectedvirtual |
Callback when the screen has just been resized.
This function is called by resized() with the correct size.
size | The new framebuffer size |
void gf::RenderPipeline::resized | ( | ) |
Update the size of the target.
This function must be called when the window change its size, before anything is drawn on the target. You can do it in the event processing.