7#ifndef CORE_GGLENGINERENDERER_H
8#define CORE_GGLENGINERENDERER_H
45 void bufSubData(GLuint buffer,
int offset,
int size,
const void* data)
override;
46 void setBufferData(GLuint buffer,
const void* data,
size_t size,
int usage)
override;
47 void setBufferRange(
int index, GLuint buffer,
int offset,
int size)
override;
64 void setVertexAttribPointer(
int index,
int size,
int type,
bool normalized,
int stride,
const void* pointer)
override;
89 GLuint
loadProgram(
const char* vertexSource,
const char* fragmentSource,
const char* geometrySource)
override;
91 void setBool(GLuint uniformloc,
bool value)
override;
92 void setInt(GLuint uniformloc,
int value)
override;
94 void setFloat(GLuint uniformloc,
float value)
override;
95 void setVec2(GLuint uniformloc,
const glm::vec2& value)
override;
96 void setVec2(GLuint uniformloc,
float x,
float y)
override;
97 void setVec3(GLuint uniformloc,
const glm::vec3& value)
override;
98 void setVec3(GLuint uniformloc,
float x,
float y,
float z)
override;
99 void setVec4(GLuint uniformloc,
const glm::vec4& value)
override;
100 void setVec4(GLuint uniformloc,
float x,
float y,
float z,
float w)
override;
101 void setMat2(GLuint uniformloc,
const glm::mat2& mat)
override;
102 void setMat3(GLuint uniformloc,
const glm::mat3& mat)
override;
103 void setMat4(GLuint uniformloc,
const glm::mat4& mat)
override;
109 void attachUbo(GLuint
id,
int bindingpoint,
const std::string& uboName)
override {
110 unsigned int blockIndex;
111 G_CHECK_GL2(blockIndex, glGetUniformBlockIndex(
id, uboName.c_str()));
112 G_CHECK_GL(glUniformBlockBinding(
id, blockIndex, bindingpoint));
150 void texImage2D(GLenum target, GLint internalFormat,
int width,
int height, GLint format, GLint type,
void* data)
override;
151 void setWrapping(GLenum target, GLint wrapS, GLint wrapT)
override;
152 void setWrapping(GLenum target, GLint wrapS, GLint wrapT, GLint wrapR)
override;
154 void setFiltering(GLenum target, GLint minFilter, GLint magFilter)
override;
156 void setWrappingAndFiltering(GLenum target, GLint wrapS, GLint wrapT, GLint wrapR, GLint minFilter, GLint magFilter)
override;
171 void createQuad(GLuint& inQuadVAO, GLuint& inQuadVBO)
override;
181 mutable GLuint currentprogram = 0;
182 void updatePackUnpackAlignment(
int i)
override;
Definition gGLRenderEngine.h:12
void disableVertexAttrib(int index) override
void resetTexture() override
void enableAlphaTest() override
bool isAlphaBlendingEnabled() override
GLuint createFramebuffer() override
GLuint genBuffers() override
void setViewport(int x, int y, int width, int height) override
void takeScreenshot(gImage &img, int x, int y, int width, int height) override
GLuint getUniformLocation(GLuint id, const std::string &name) override
void setReadBufferNone() override
void setMat2(GLuint uniformloc, const glm::mat2 &mat) override
void unbindBuffer(GLenum target) override
void setVec2(GLuint uniformloc, float x, float y) override
void bindVAO(GLuint vao) override
void bindRenderbuffer(GLuint rbo) override
void unbindTexture() override
void pushMatrix() override
void setFiltering(GLenum target, GLint minFilter, GLint magFilter) override
void setBufferRange(int index, GLuint buffer, int offset, int size) override
void setVec3(GLuint uniformloc, float x, float y, float z) override
void disableDepthTest() override
void enableDepthTest() override
void setSwizzleMask(GLint swizzleMask[4]) override
void bindQuadVAO() override
GLuint createRenderbuffer() override
void createFullscreenQuad(GLuint &vao, GLuint &vbo) override
void enableDepthTest(int depthTestType) override
void setDrawBufferNone() override
void deleteBuffer(GLuint &buffer) override
void unbindVAO() override
void bindBuffer(GLenum target, GLuint buffer) override
void attachRenderbufferToFramebuffer(GLenum attachment, GLuint rbo) override
void resetShader(GLuint id, bool loaded) const override
void setUnsignedInt(GLuint uniformloc, unsigned int value) override
void setVec4(GLuint uniformloc, const glm::vec4 &value) override
void setIndexBufferData(GLuint ebo, size_t size, const void *data, int usage) override
gGLRenderEngine()=default
GLuint createVAO() override
int getDepthTestType() override
void setInt(GLuint uniformloc, int value) override
void deleteFullscreenQuad(GLuint &vao, GLuint *vbo) override
void setWrappingAndFiltering(GLenum target, GLint wrapS, GLint wrapT, GLint wrapR, GLint minFilter, GLint magFilter) override
void unbindSkyTexture(int textureSlotNo) override
void setVec4(GLuint uniformloc, float x, float y, float z, float w) override
void setDepthTestFunc(int depthTestType) override
void setRenderbufferStorage(GLenum format, int width, int height) override
void bindTexture(GLuint texId) override
void attachUbo(GLuint id, int bindingpoint, const std::string &uboName) override
Definition gGLRenderEngine.h:109
void disableAlphaTest() override
void setWrappingAndFiltering(GLenum target, GLint wrapS, GLint wrapT, GLint minFilter, GLint magFilter) override
void popMatrix() override
void drawVbo(const gVbo &vbo) override
void checkCompileErrors(GLuint shader, const std::string &type) override
void clearColor(int r, int g, int b, int a=255) override
void setFloat(GLuint uniformloc, float value) override
bool isDepthTestEnabled() override
void setVec2(GLuint uniformloc, const glm::vec2 &value) override
void bufSubData(GLuint buffer, int offset, int size, const void *data) override
void deleteTexture(GLuint &texId) override
void enableAlphaBlending() override
void bindFramebuffer(GLuint fbo) override
void enableDepthTestEqual() override
void setVertexBufferData(GLuint vbo, size_t size, const void *data, int usage) override
void bindTexture(GLuint texId, int textureSlotNo) override
GLuint createTextures() override
void bindSkyTexture(GLuint texId) override
void deleteVAO(GLuint &vao) override
void deleteRenderbuffer(GLuint &rbo) override
void generateMipMap() override
void useShader(GLuint id) const override
void drawFullscreenQuad() override
void drawElements(int drawMode, int count) override
void disableAlphaBlending() override
void unbindSkyTexture() override
void enableCubeMap() override
void readTexturePixels(unsigned char *inPixels, GLuint textureId, int width, int height, GLenum format) override
void bindSkyTexture(GLuint texId, int textureSlot) override
void clearColor(gColor color) override
void bindDefaultFramebuffer() override
void createQuad(GLuint &inQuadVAO, GLuint &inQuadVBO) override
void setMat4(GLuint uniformloc, const glm::mat4 &mat) override
void setMat3(GLuint uniformloc, const glm::mat3 &mat) override
void readTexturePixelsHDR(float *inPixels, GLuint textureId, int width, int height, GLenum format) override
void setWrapping(GLenum target, GLint wrapS, GLint wrapT) override
void generateSkyMipMap() override
void activateTexture(int textureSlotNo=0) override
void setBool(GLuint uniformloc, bool value) override
void setBufferData(GLuint buffer, const void *data, size_t size, int usage) override
GLuint loadProgram(const char *vertexSource, const char *fragmentSource, const char *geometrySource) override
void drawArrays(int drawMode, int count) override
void enableVertexAttrib(int index) override
void texImage2D(GLenum target, GLint internalFormat, int width, int height, GLint format, GLint type, void *data) override
void takeScreenshot(gImage &img) override
void setVec3(GLuint uniformloc, const glm::vec3 &value) override
void setVertexAttribPointer(int index, int size, int type, bool normalized, int stride, const void *pointer) override
void clearScreen(bool color=true, bool depth=true) override
void setWrapping(GLenum target, GLint wrapS, GLint wrapT, GLint wrapR) override
void attachTextureToFramebuffer(GLenum attachment, GLenum textarget, GLuint texId, GLuint level=0) override
void deleteFramebuffer(GLuint &fbo) override
bool isAlphaTestEnabled() override
~gGLRenderEngine() override
void checkFramebufferStatus() override
Definition gRenderer.h:123
static int height
Definition gRenderer.h:523
static int width
Definition gRenderer.h:523
float r
Definition gColor.h:22
float a
Definition gColor.h:22
float b
Definition gColor.h:22
float g
Definition gColor.h:22
#define G_CHECK_GL(fn)
Definition gRenderer.h:65
#define G_CHECK_GL2(value, fn)
Definition gRenderer.h:66