BARE2D
BARE2D::BasicRenderer Class Reference

#include <BasicRenderer.hpp>

+ Inheritance diagram for BARE2D::BasicRenderer:
+ Collaboration diagram for BARE2D::BasicRenderer:

Public Member Functions

 BasicRenderer (std::string &fragShader, std::string &vertShader, unsigned int perspectiveWidth=2, unsigned int perspectiveHeight=2)
 
virtual ~BasicRenderer ()
 
virtual void init () override
 Initializes all necessary bits of the renderer. More...
 
virtual void preRender () override
 Does stuff inside of the render function, within the shader's use. More...
 
virtual void setCamera (std::shared_ptr< Camera2D > camera)
 Sets the camera to a given pointer. This means that the renderer takes ownership. More...
 
std::shared_ptr< Camera2DgetCamera ()
 
virtual void draw (glm::vec4 destRect, glm::vec4 uvRect, GLuint texture, float depth, Colour colour=Colour(255, 255, 255, 255), float angle=0.0f, glm::vec2 COR=glm::vec2(0.5f))
 
- Public Member Functions inherited from BARE2D::Renderer
 Renderer ()
 
virtual ~Renderer ()
 
virtual void begin ()
 Clears the necessary vectors, etc. to prepare for draw() calls, etc. More...
 
virtual void end ()
 Creates the renderbatches, does necessary stuff before render() call. More...
 
virtual void initUniforms ()
 Initializes all uniforms, such as colour attachments, depth attachments, etc. More...
 
virtual void destroy ()
 Frees all necessary memory. More...
 
virtual void render ()
 Actually renders the contents to the screen! More...
 
ShaderProgramgetShader ()
 

Protected Member Functions

virtual void createRenderBatches () override
 Constructs all of the render batches from data given by, say, draw() calls. More...
 
- Protected Member Functions inherited from BARE2D::Renderer
virtual void link (std::initializer_list< std::string > attributes)
 

Protected Attributes

std::string m_fragShader
 
std::string m_vertShader
 
std::vector< Glyph * > m_glyphs
 
std::shared_ptr< Camera2Dm_camera
 
- Protected Attributes inherited from BARE2D::Renderer
ShaderProgram m_shader
 
VAO m_vertexArrayObject
 
std::vector< RenderBatchm_batches
 

Detailed Description

Author
Davis-Dev
Date
10/08/23

Definition at line 18 of file BasicRenderer.hpp.

Constructor & Destructor Documentation

◆ BasicRenderer()

BARE2D::BasicRenderer::BasicRenderer ( std::string &  fragShader,
std::string &  vertShader,
unsigned int  perspectiveWidth = 2,
unsigned int  perspectiveHeight = 2 
)

Definition at line 5 of file BasicRenderer.cpp.

References m_camera.

◆ ~BasicRenderer()

BARE2D::BasicRenderer::~BasicRenderer ( )
virtual

Definition at line 17 of file BasicRenderer.cpp.

Member Function Documentation

◆ createRenderBatches()

void BARE2D::BasicRenderer::createRenderBatches ( )
overrideprotectedvirtual

Constructs all of the render batches from data given by, say, draw() calls.

Implements BARE2D::Renderer.

Reimplemented in BARE2D::BumpyRenderer.

Definition at line 74 of file BasicRenderer.cpp.

References BARE2D::VAO::bindVBO(), BARE2D::Renderer::m_batches, m_glyphs, BARE2D::Renderer::m_vertexArrayObject, and BARE2D::VAO::unbindVBO().

+ Here is the call graph for this function:

◆ draw()

void BARE2D::BasicRenderer::draw ( glm::vec4  destRect,
glm::vec4  uvRect,
GLuint  texture,
float  depth,
Colour  colour = Colour(255, 255, 255, 255),
float  angle = 0.0f,
glm::vec2  COR = glm::vec2(0.5f) 
)
virtual

Reimplemented in BARE2D::BumpyRenderer.

Definition at line 56 of file BasicRenderer.cpp.

References m_camera, and m_glyphs.

Referenced by BARE2D::FontRenderer::draw().

+ Here is the caller graph for this function:

◆ getCamera()

std::shared_ptr< Camera2D > BARE2D::BasicRenderer::getCamera ( )
Returns
Returns the Camera pointer. To be used only to link multiple renderers' cameras.

Definition at line 39 of file BasicRenderer.cpp.

References m_camera.

◆ init()

void BARE2D::BasicRenderer::init ( )
overridevirtual

Initializes all necessary bits of the renderer.

Reimplemented from BARE2D::Renderer.

Definition at line 20 of file BasicRenderer.cpp.

References BARE2D::VAO::addVertexAttribute(), BARE2D::ShaderProgram::compileShaders(), BARE2D::Renderer::init(), BARE2D::Renderer::link(), m_fragShader, BARE2D::Renderer::m_shader, BARE2D::Renderer::m_vertexArrayObject, and m_vertShader.

+ Here is the call graph for this function:

◆ preRender()

void BARE2D::BasicRenderer::preRender ( )
overridevirtual

Does stuff inside of the render function, within the shader's use.

Reimplemented from BARE2D::Renderer.

Reimplemented in BARE2D::BumpyRenderer.

Definition at line 44 of file BasicRenderer.cpp.

References m_camera, BARE2D::Renderer::m_shader, BARE2D::ShaderProgram::setUniform(), and BARE2D::ShaderProgram::setUniformMatrix().

+ Here is the call graph for this function:

◆ setCamera()

void BARE2D::BasicRenderer::setCamera ( std::shared_ptr< Camera2D camera)
virtual

Sets the camera to a given pointer. This means that the renderer takes ownership.

Parameters
cameraThe pointer to the camera.

Definition at line 34 of file BasicRenderer.cpp.

References m_camera.

Field Documentation

◆ m_camera

std::shared_ptr<Camera2D> BARE2D::BasicRenderer::m_camera
protected

◆ m_fragShader

std::string BARE2D::BasicRenderer::m_fragShader
protected

Definition at line 42 of file BasicRenderer.hpp.

Referenced by init().

◆ m_glyphs

std::vector<Glyph*> BARE2D::BasicRenderer::m_glyphs
protected

◆ m_vertShader

std::string BARE2D::BasicRenderer::m_vertShader
protected

Definition at line 42 of file BasicRenderer.hpp.

Referenced by init().


The documentation for this class was generated from the following files: