50     virtual void bind() 
const = 0;
 
   54     virtual size_t size() 
const = 0;
 
   79     virtual void bind() 
const = 0;
 
  121     virtual void resize(
unsigned int width, 
unsigned int height) = 0;
 
  168     virtual void set_value(
const std::string& name, 
float value) = 0;
 
  170     virtual void set_value(
const std::string& name, 
int value) = 0;
 
  172     virtual void set_value(
const std::string& name, Uint32 value) = 0;
 
  174     virtual void set_value(
const std::string& name, glm::mat4 value, Uint32 count = 1) =0;
 
  176     virtual void set_value(
const std::string& name, 
const int* value, Uint32 count = 1) =0;
 
  178     virtual void set_value(
const std::string& name, 
const float* value, Uint32 count = 1) =0;
 
  180     virtual void set_value(
const std::string& name, glm::vec2 value, Uint32 count = 1) =0;
 
  182     virtual void set_value(
const std::string& name, glm::vec3 value, Uint32 count = 1) =0;
 
  184     virtual void set_value(
const std::string& name, glm::vec4 value, Uint32 count = 1) =0;
 
  186     virtual void set_value(
const std::string& name, 
const glm::mat4* values, Uint32 count = 1) =0;
 
  204     glm::vec3 
color = glm::vec3(0.2,0.3,0.3);
 
constexpr int MAX_BONES
Definition: base_struct.h:146
FramebufferTextureFormat
Definition: base_struct.h:84
GpuBufferType
GpuBuffer Abstract class.
Definition: base_struct.h:29
@ STORAGE
For Uniform Buffer Objects (UBOs)
@ UNIFORM
For Element Buffer Objects (EBOs)
@ INDEX
For Vertex Buffer Objects (VBOs)
CubemapOrientation
Definition: base_struct.h:4
DataType
Definition: base_struct.h:60
Definition: base_struct.h:113
virtual ~Framebuffer()=default
virtual const FramebufferSpecification & get_specification() const =0
virtual uint32_t get_color_attachment_id(size_t index=0) const =0
virtual uint32_t get_depth_attachment_id() const =0
virtual void resize(unsigned int width, unsigned int height)=0
virtual void invalidate()=0
GpuBuffer Abstract class.
Definition: base_struct.h:46
virtual void bind() const =0
virtual ~GpuBuffer()=default
virtual size_t size() const =0
virtual void upload(const void *data, size_t size)=0
virtual GpuBufferType type() const =0
Definition: base_struct.h:76
virtual ~GpuVertexLayout()=default
virtual void unbind() const =0
virtual void bind() const =0
Definition: renderer.h:33
Shader Abstract class.
Definition: base_struct.h:160
virtual Uint32 get_id() const =0
virtual void set_value(const std::string &name, int value)=0
virtual void set_value(const std::string &name, glm::mat4 value, Uint32 count=1)=0
virtual void set_value(const std::string &name, const glm::mat4 *values, Uint32 count=1)=0
virtual ~Shader()=default
virtual void set_value(const std::string &name, const float *value, Uint32 count=1)=0
virtual void set_value(const std::string &name, glm::vec4 value, Uint32 count=1)=0
std::unordered_map< std::string, Uint32 > _uniforms
Definition: base_struct.h:198
virtual void set_value(const std::string &name, glm::vec3 value, Uint32 count=1)=0
virtual void set_value(const std::string &name, const int *value, Uint32 count=1)=0
virtual void set_value(const std::string &name, Uint32 value)=0
virtual bool is_valid() const =0
virtual void set_value(const std::string &name, glm::vec2 value, Uint32 count=1)=0
virtual void activate() const =0
virtual void set_value(const std::string &name, float value)=0
Definition: base_struct.h:14
Definition: base_struct.h:96
FramebufferAttachmentSpecification()=default
FramebufferAttachmentSpecification(const std::initializer_list< FramebufferTextureSpecification > list)
Definition: base_struct.h:100
std::vector< FramebufferTextureSpecification > attachments
Definition: base_struct.h:97
Definition: base_struct.h:105
bool swap_chain_target
Definition: base_struct.h:109
unsigned int height
Definition: base_struct.h:107
FramebufferAttachmentSpecification attachments
Definition: base_struct.h:108
unsigned int width
Definition: base_struct.h:106
Definition: base_struct.h:92
FramebufferTextureFormat format
Definition: base_struct.h:93
Definition: base_struct.h:68
uint32_t components
Definition: base_struct.h:70
bool normalized
Definition: base_struct.h:72
uint32_t location
Definition: base_struct.h:69
DataType type
Definition: base_struct.h:71
uint32_t offset
Definition: base_struct.h:73
Vertex structure.
Definition: base_struct.h:140
glm::vec3 position
Definition: base_struct.h:141
glm::vec3 normal
3D position
Definition: base_struct.h:142
glm::vec2 uv
3D normal
Definition: base_struct.h:143
Definition: base_struct.h:201
float brightness
Definition: base_struct.h:209
Uint32 texture
Definition: base_struct.h:202
std::shared_ptr< GpuBuffer > index_buffer
Definition: base_struct.h:206
glm::vec3 color
Definition: base_struct.h:204
std::shared_ptr< GpuVertexLayout > vertex_layout
Definition: base_struct.h:207
std::shared_ptr< GpuBuffer > vertex_buffer
Definition: base_struct.h:205