28 #ifndef BERSERK_MATERIAL_HPP 
   29 #define BERSERK_MATERIAL_HPP 
  348     const std::vector<Ref<RHISampler>> &GetSamplers()
 const { 
return mSamplers; }
 
  349     const std::vector<Ref<RHITexture>> &GetTextures()
 const { 
return mTextures; }
 
  350     const std::vector<unsigned char> &GetDataParams()
 const { 
return mDataParams; }
 
  360     std::vector<Ref<RHISampler>> mSamplers; 
 
  361     std::vector<Ref<RHITexture>> mTextures; 
 
  362     std::vector<unsigned char> mDataParams; 
 
  364     bool mIsDirty = 
true; 
 
#define BRK_NS_END
Definition: Config.hpp:48
 
#define BRK_API
Definition: Config.hpp:32
 
std::int32_t int32
Definition: Typedefs.hpp:43
 
std::uint32_t uint32
Definition: Typedefs.hpp:44
 
Packed material params ready for rendering usage.
Definition: MaterialParams.hpp:50
 
Controls how object is actually rendered.
Definition: Material.hpp:63
 
BRK_API void UpdatePack()
Update rhi-set of the material.
Definition: Material.cpp:170
 
BRK_API void SetFloat2(const StringName &name, const Vec2f &value, uint32 arrayIndex=0)
Set material float vec2 parameter.
Definition: Material.cpp:98
 
BRK_API void SetFloat4(const StringName &name, const Vec4f &value, uint32 arrayIndex=0)
Set material float vec4 parameter.
Definition: Material.cpp:106
 
BRK_API void SetBool2(const StringName &name, const Vec2b &value, uint32 arrayIndex=0)
Set material bool vec2 parameter.
Definition: Material.cpp:146
 
BRK_API void SetInt1(const StringName &name, int32 value, uint32 arrayIndex=0)
Set material int parameter.
Definition: Material.cpp:110
 
BRK_API Ref< const MaterialParams > GetPackedParams() const
Definition: Material.hpp:342
 
BRK_API void SetTexture(const StringName &name, Ref< RHITexture > texture, Ref< RHISampler > sampler, uint32 arrayIndex=0)
Set material texture parameter.
Definition: Material.cpp:71
 
BRK_API void SetBool4(const StringName &name, const Vec4b &value, uint32 arrayIndex=0)
Set material bool vec4 parameter.
Definition: Material.cpp:154
 
BRK_API void SetInt2(const StringName &name, const Vec2i &value, uint32 arrayIndex=0)
Set material int vec2 parameter.
Definition: Material.cpp:114
 
BRK_API void SetBool1(const StringName &name, bool value, uint32 arrayIndex=0)
Set material bool parameter.
Definition: Material.cpp:142
 
BRK_API void SetMat4(const StringName &name, const Mat4x4f &value, uint32 arrayIndex=0)
Set material float mat4x4 parameter.
Definition: Material.cpp:166
 
BRK_API Material(Ref< const Shader > shader)
Creates new material instance from provided shader.
Definition: Material.cpp:35
 
BRK_API void SetName(StringName name)
Definition: Material.cpp:63
 
BRK_API const String & GetDescription() const
Definition: Material.hpp:336
 
BRK_API void SetBool3(const StringName &name, const Vec3b &value, uint32 arrayIndex=0)
Set material bool vec3 parameter.
Definition: Material.cpp:150
 
BRK_API const Ref< const Shader > & GetShader() const
Definition: Material.hpp:337
 
BRK_API void SetUInt1(const StringName &name, uint32 value, uint32 arrayIndex=0)
Set material uint parameter.
Definition: Material.cpp:126
 
BRK_API ~Material() override=default
 
BRK_API void SetMat2(const StringName &name, const Mat2x2f &value, uint32 arrayIndex=0)
Set material float mat2x2 parameter.
Definition: Material.cpp:158
 
BRK_API const Ref< const ShaderTechnique > & GetTechnique() const
Definition: Material.hpp:338
 
BRK_API void SetInt3(const StringName &name, const Vec3i &value, uint32 arrayIndex=0)
Set material int vec3 parameter.
Definition: Material.cpp:118
 
BRK_API void SetUInt2(const StringName &name, const Vec2u &value, uint32 arrayIndex=0)
Set material uint vec2 parameter.
Definition: Material.cpp:130
 
BRK_API void SetInt4(const StringName &name, const Vec4i &value, uint32 arrayIndex=0)
Set material int vec4 parameter.
Definition: Material.cpp:122
 
BRK_API void SetUInt3(const StringName &name, const Vec3u &value, uint32 arrayIndex=0)
Set material uint vec3 parameter.
Definition: Material.cpp:134
 
BRK_API void SetFloat3(const StringName &name, const Vec3f &value, uint32 arrayIndex=0)
Set material float vec3 parameter.
Definition: Material.cpp:102
 
BRK_API const ShaderVariation & GetVariation() const
Definition: Material.hpp:339
 
BRK_API bool IsDirty() const
Definition: Material.hpp:333
 
BRK_API void SetMat3(const StringName &name, const Mat3x3f &value, uint32 arrayIndex=0)
Set material float mat3x3 parameter.
Definition: Material.cpp:162
 
BRK_API void SetUInt4(const StringName &name, const Vec4u &value, uint32 arrayIndex=0)
Set material uint vec4 parameter.
Definition: Material.cpp:138
 
BRK_API void SetFloat1(const StringName &name, float value, uint32 arrayIndex=0)
Set material float parameter.
Definition: Material.cpp:94
 
BRK_API const StringName & GetName() const
Definition: Material.hpp:335
 
BRK_API void SetDescription(String description)
Definition: Material.cpp:67
 
Reference counted base object.
Definition: RefCnt.hpp:52
 
Ref< G > As() const
Definition: Ref.hpp:139
 
Describes variation of compiled shader of the single type (max 64 flags)
 
BRK_API const ShaderVariation & GetVariation() const
Definition: Shader.hpp:111
 
Cached shared utf-8 string id.
Definition: StringName.hpp:61
 
Utf-8 encoded std based default string class.
 
Generic matrix of M x N size for space of type T.
Definition: TMatMxN.hpp:56
 
RHIShaderDataType
Definition: RHIDefs.hpp:83
 
Definition: GLDevice.cpp:46