3#include "LkEngine/Renderer/Material.h"
4#include "LkEngine/Renderer/Shader.h"
6#include "OpenGLShader.h"
19 virtual void Invalidate()
override;
20 virtual void OnShaderReloaded()
override;
22 FORCEINLINE
virtual FBuffer GetUniformStorageBuffer()
const override {
return UniformStorageBuffer; }
23 FORCEINLINE
virtual FBuffer& GetUniformStorageBuffer()
override {
return UniformStorageBuffer; }
25 virtual void Set(
const std::string& Name,
const int Value)
override;
26 virtual void Set(
const std::string& Name,
const bool Value)
override;
27 virtual void Set(
const std::string& Name,
const float Value)
override;
28 virtual void Set(
const std::string& Name,
const uint32_t Value)
override;
29 virtual void Set(
const std::string& Name,
const glm::vec2& Value)
override;
30 virtual void Set(
const std::string& Name,
const glm::vec3& Value)
override;
31 virtual void Set(
const std::string& Name,
const glm::vec4& Value)
override;
32 virtual void Set(
const std::string& Name,
const glm::ivec2& Value)
override;
33 virtual void Set(
const std::string& Name,
const glm::ivec3& Value)
override;
34 virtual void Set(
const std::string& Name,
const glm::ivec4& Value)
override;
36 virtual void Set(
const std::string& Name,
const glm::mat3& Value)
override;
37 virtual void Set(
const std::string& Name,
const glm::mat4& Value)
override;
41 const uint32_t ArrayIndex)
override;
44 virtual float& GetFloat(
const std::string& Name)
override;
45 virtual int32_t& GetInt(
const std::string& Name)
override;
46 virtual uint32_t& GetUInt(
const std::string& Name)
override;
47 virtual bool& GetBool(
const std::string& Name)
override;
48 virtual glm::vec2& GetVector2(
const std::string& Name)
override;
49 virtual glm::vec3& GetVector3(
const std::string& Name)
override;
50 virtual glm::vec4& GetVector4(
const std::string& Name)
override;
51 virtual glm::mat3& GetMatrix3(
const std::string& Name)
override;
52 virtual glm::mat4& GetMatrix4(
const std::string& Name)
override;
67 FORCEINLINE
virtual const std::string& GetName()
const override {
return Name; }
70 std::string Name =
"Unknown";
76 uint32_t MaterialFlags = 0;
Definition OpenGLMaterial.h:12
virtual void SetTexture(TObjectPtr< LTexture > Texture) override
@TODO: Allow for multiple textures per material.
Definition OpenGLMaterial.cpp:60
Definition ObjectPtr.h:102
#define LCLASS(Class)
Definition CoreMacros.h:226