BARE2D
BARE2D::TexturelessRenderer Class Reference

#include <TexturelessRenderer.hpp>

+ Inheritance diagram for BARE2D::TexturelessRenderer:
+ Collaboration diagram for BARE2D::TexturelessRenderer:

Public Member Functions

 TexturelessRenderer (std::string &fragShader, std::string &vertShader, unsigned int perspectiveWidth=2, unsigned int perspectiveHeight=2)
 
virtual ~TexturelessRenderer ()
 
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, 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
 
GLuint m_texture = 0
 
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 19 of file TexturelessRenderer.hpp.

Constructor & Destructor Documentation

◆ TexturelessRenderer()

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

Definition at line 7 of file TexturelessRenderer.cpp.

References m_camera.

◆ ~TexturelessRenderer()

BARE2D::TexturelessRenderer::~TexturelessRenderer ( )
virtual

Definition at line 17 of file TexturelessRenderer.cpp.

Member Function Documentation

◆ createRenderBatches()

void BARE2D::TexturelessRenderer::createRenderBatches ( )
overrideprotectedvirtual

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

Implements BARE2D::Renderer.

Definition at line 105 of file TexturelessRenderer.cpp.

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

+ Here is the call graph for this function:

◆ draw()

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

Definition at line 88 of file TexturelessRenderer.cpp.

References m_camera, m_glyphs, and m_texture.

◆ getCamera()

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

Definition at line 77 of file TexturelessRenderer.cpp.

References m_camera.

◆ init()

void BARE2D::TexturelessRenderer::init ( )
overridevirtual

◆ preRender()

void BARE2D::TexturelessRenderer::preRender ( )
overridevirtual

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

Reimplemented from BARE2D::Renderer.

Definition at line 81 of file TexturelessRenderer.cpp.

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

+ Here is the call graph for this function:

◆ setCamera()

void BARE2D::TexturelessRenderer::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 73 of file TexturelessRenderer.cpp.

References m_camera.

Field Documentation

◆ m_camera

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

Definition at line 56 of file TexturelessRenderer.hpp.

Referenced by draw(), getCamera(), preRender(), setCamera(), and TexturelessRenderer().

◆ m_fragShader

std::string BARE2D::TexturelessRenderer::m_fragShader
protected

Definition at line 50 of file TexturelessRenderer.hpp.

Referenced by init().

◆ m_glyphs

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

Definition at line 52 of file TexturelessRenderer.hpp.

Referenced by createRenderBatches(), and draw().

◆ m_texture

GLuint BARE2D::TexturelessRenderer::m_texture = 0
protected

Definition at line 54 of file TexturelessRenderer.hpp.

Referenced by createRenderBatches(), draw(), and init().

◆ m_vertShader

std::string BARE2D::TexturelessRenderer::m_vertShader
protected

Definition at line 50 of file TexturelessRenderer.hpp.

Referenced by init().


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