Elevate Engine 1
Loading...
Searching...
No Matches
OpenGLShader.h
Go to the documentation of this file.
1#pragma once
2
4#include "glm/glm.hpp"
5
6namespace Elevate
7{
8 class OpenGLShader : public Shader
9 {
10 public:
11 OpenGLShader(const std::string& vertexSource, const std::string& fragmentSouce);
12 virtual ~OpenGLShader();
13
14 virtual uint32_t GetID() const override;
15 virtual void Bind() const override;
16 virtual void Unbind() const override;
17 virtual uint32_t GetHashCode() const override;
18
19 virtual unsigned int GetRendererID() const override { return m_RendererID; }
20
22 // FLOATS
23 virtual void SetUniform1f(const std::string& location, float value) const override;
24 virtual void SetUniform2f(const std::string& location, float x, float y) const override;
25 virtual void SetUniform3f(const std::string& location, float x, float y, float z) const override;
26 virtual void SetUniform4f(const std::string& location, float x, float y, float z, float w) const override;
27
28 // INT
29 virtual void SetUniform1i(const std::string& location, int value) const override;
30 virtual void SetUniform2i(const std::string& location, int x, int y) const override;
31 virtual void SetUniform3i(const std::string& location, int x, int y, int z) const override;
32 virtual void SetUniform4i(const std::string& location, int x, int y, int z, int w) const override;
33
34 // FLOAT VECTORS
35 virtual void SetUniform1fv(const std::string& location, int count, float* value) const override;
36 virtual void SetUniform2fv(const std::string& location, int count, float* value) const override;
37 virtual void SetUniform3fv(const std::string& location, int count, float* value) const override;
38 virtual void SetUniform4fv(const std::string& location, int count, float* value) const override;
39
40 // INT VECTORS
41 virtual void SetUniform1iv(const std::string& location, int count, int* value) const override;
42 virtual void SetUniform2iv(const std::string& location, int count, int* value) const override;
43 virtual void SetUniform3iv(const std::string& location, int count, int* value) const override;
44 virtual void SetUniform4iv(const std::string& location, int count, int* value) const override;
45
46 // MATRIXES
47 virtual void SetUniformMatrix2fv(const std::string& location, float* data) const override;
48 virtual void SetUniformMatrix3fv(const std::string& location, float* data) const override;
49 virtual void SetUniformMatrix4fv(const std::string& location, float* data) const override;
50
51 protected:
52 virtual BufferLayout ExtractReflectionData() const override;
53
54 private:
55 uint32_t m_RendererID = 0;
56 };
57}
virtual void SetUniform4i(const std::string &location, int x, int y, int z, int w) const override
virtual BufferLayout ExtractReflectionData() const override
virtual void SetUniform4fv(const std::string &location, int count, float *value) const override
virtual void SetUniform3fv(const std::string &location, int count, float *value) const override
virtual unsigned int GetRendererID() const override
virtual void SetUniformMatrix4fv(const std::string &location, float *data) const override
virtual void SetUniform3f(const std::string &location, float x, float y, float z) const override
virtual void SetUniform2iv(const std::string &location, int count, int *value) const override
virtual void SetUniform1i(const std::string &location, int value) const override
virtual void Unbind() const override
virtual void SetUniform2f(const std::string &location, float x, float y) const override
virtual void SetUniform2fv(const std::string &location, int count, float *value) const override
virtual void Bind() const override
virtual void SetUniform2i(const std::string &location, int x, int y) const override
virtual void SetUniformMatrix3fv(const std::string &location, float *data) const override
virtual void SetUniform1fv(const std::string &location, int count, float *value) const override
virtual void SetUniform4iv(const std::string &location, int count, int *value) const override
virtual void SetUniform1f(const std::string &location, float value) const override
UNIFORMS.
virtual uint32_t GetHashCode() const override
virtual void SetUniform4f(const std::string &location, float x, float y, float z, float w) const override
virtual void SetUniformMatrix2fv(const std::string &location, float *data) const override
virtual uint32_t GetID() const override
virtual void SetUniform3i(const std::string &location, int x, int y, int z) const override
virtual void SetUniform3iv(const std::string &location, int count, int *value) const override
virtual void SetUniform1iv(const std::string &location, int count, int *value) const override