1 // Copyright (C) 2023 Vitaliy Lobachevskiy
2 // Copyright (C) 2014 Patryk Nadrowski
3 // This file is part of the "Irrlicht Engine".
4 // For conditions of distribution and use, see copyright notice in Irrlicht.h
8 #include "IShaderConstantSetCallBack.h"
9 #include "IMaterialRendererServices.h"
16 class COpenGL3MaterialBaseCB : public IShaderConstantSetCallBack
19 COpenGL3MaterialBaseCB();
21 virtual void OnSetMaterial(const SMaterial& material);
22 virtual void OnSetConstants(IMaterialRendererServices* services, s32 userData);
41 SColorf GlobalAmbient;
42 SColorf MaterialAmbient;
43 SColorf MaterialDiffuse;
44 SColorf MaterialEmissive;
45 SColorf MaterialSpecular;
46 f32 MaterialShininess;
58 class COpenGL3MaterialSolidCB : public COpenGL3MaterialBaseCB
61 COpenGL3MaterialSolidCB();
63 virtual void OnSetMaterial(const SMaterial& material);
64 virtual void OnSetConstants(IMaterialRendererServices* services, s32 userData);
79 class COpenGL3MaterialOneTextureBlendCB : public COpenGL3MaterialBaseCB
82 COpenGL3MaterialOneTextureBlendCB();
84 virtual void OnSetMaterial(const SMaterial& material);
85 virtual void OnSetConstants(IMaterialRendererServices* services, s32 userData);