16#ifndef AEONGAMES_OPENGLPIPELINE_HPP
17#define AEONGAMES_OPENGLPIPELINE_HPP
21#include "OpenGLVariable.hpp"
22#include "OpenGLUniformBlock.hpp"
23#include "aeongames/Pipeline.hpp"
49 void ReflectAttributes();
50 void ReflectUniforms();
54 std::vector<OpenGLVariable> mAttributes{};
55 std::vector<OpenGLSamplerLocation> mSamplerLocations{};
56 std::vector<OpenGLUniformBlock> mUniformBlocks{};
OpenGLPipeline(const OpenGLRenderer &aOpenGLRenderer, const Pipeline &aPipeline)
Construct from a renderer and pipeline resource.
GLint GetProgramId() const
Get the linked shader program identifier.
const OpenGLUniformBlock * GetUniformBlock(uint32_t name) const
Get a uniform block by its name hash, or nullptr if not found.
const std::vector< OpenGLVariable > & GetVertexAttributes() const
Get the reflected vertex attribute descriptions.
const GLuint GetSamplerLocation(uint32_t name_hash) const
Get the uniform location of a sampler by its name hash.
OpenGL rendering backend implementing the Renderer interface.
Rendering pipeline resource.
<- This is here just for the literals