1#ifndef OPENGLINSTANCE_H
2#define OPENGLINSTANCE_H
43 std::string characters,
47 glm::bvec2 centre = glm::bvec2(
false,
false)
53 glClearColor(clearColour.r, clearColour.g, clearColour.b, clearColour.a);
54 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
61 glGetIntegerv(GL_MAX_SAMPLES, &maxSamples);
63 if (samples > maxSamples){samples = maxSamples;}
68 void setClear(glm::vec4 colour) { clearColour = colour; }
71 void setViewport(glm::vec4 view) { glViewport(view.x, view.y, view.z, view.w); }
75 return std::static_pointer_cast<Particles>(std::make_shared<glParticles>(sizeHint));
83 return std::static_pointer_cast<Texture>(std::make_shared<glTexture2DRGB>(imageFile));
85 return std::static_pointer_cast<Texture>(std::make_shared<glTexture2DRGBA>(imageFile));
87 return std::static_pointer_cast<Texture>(std::make_shared<glTexture2DRGB>(imageFile));
96 return std::static_pointer_cast<Texture>(std::make_shared<glTexture2DRGB>(data));
98 return std::static_pointer_cast<Texture>(std::make_shared<glTexture2DRGBA>(data));
100 return std::static_pointer_cast<Texture>(std::make_shared<glTexture2DRGB>(data));
106 return std::static_pointer_cast<SpriteRenderer>
108 std::make_shared<glSpriteRenderer>
117 return std::static_pointer_cast<ShapeRenderer>
119 std::make_shared<glShapeRenderer>
134 glm::vec4 clearColour = glm::vec4(1.0f, 1.0f, 1.0f, 1.0f);
Definition openGLInstance.h:18
void clear()
Definition openGLInstance.h:50
~OpenGLInstance()
Definition openGLInstance.h:34
std::shared_ptr< SpriteRenderer > createSpriteRenderer(size_t sizeHint)
Definition openGLInstance.h:104
std::shared_ptr< ShapeRenderer > createShapeRenderer(size_t sizeHint)
Definition openGLInstance.h:115
std::shared_ptr< Texture > createTexture(std::filesystem::path imageFile, Texture::Type type)
Definition openGLInstance.h:78
void setClear(glm::vec4 colour)
Definition openGLInstance.h:68
void setTextProjection(glm::mat4 proj)
Definition openGLInstance.h:70
void finish()
Definition openGLInstance.h:39
void setMSAA(uint8_t samples)
Definition openGLInstance.h:58
std::shared_ptr< Particles > createParticles(size_t sizeHint)
Definition openGLInstance.h:73
void endFrame()
Definition openGLInstance.h:37
void setProjection(glm::mat4 proj)
Definition openGLInstance.h:69
void beginFrame()
Definition openGLInstance.h:36
void text(std::string characters, glm::vec2 position, float scale, glm::vec4 colour, glm::bvec2 centre=glm::bvec2(false, false))
Definition openGLInstance.cpp:7
OpenGLInstance(glm::ivec2 res, uint8_t msaa=0)
Definition openGLInstance.h:22
void setViewport(glm::vec4 view)
Definition openGLInstance.h:71
std::shared_ptr< Texture > createTexture(std::vector< std::byte > data, Texture::Type type)
Definition openGLInstance.h:91
Definition glTextRenderer.h:15
void setProjection(glm::mat4 p)
Definition glTextRenderer.h:38
void clear()
Definition glTextRenderer.h:48
Definition glDrawFramebuffer.h:13
void bind()
Definition glDrawFramebuffer.h:43
void setMSAA(uint8_t samples)
Definition glDrawFramebuffer.h:80
void destroy()
Definition glDrawFramebuffer.h:30
void setResolution(glm::vec2 res)
Definition glDrawFramebuffer.h:74
void blit()
Definition glDrawFramebuffer.h:53
void setClear(glm::vec4 c)
Definition glDrawFramebuffer.h:66
Type
Definition texture.h:21
bool closing
Definition jGL.h:65