Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Rendering
Materials
TexturedUniformColoredMaterial.h
1
// Copyright (c) 2014 eeGeo. All rights reserved.
2
3
#pragma once
4
5
#include "GLState.h"
6
#include "RenderableBase.h"
7
#include "IdTypes.h"
8
#include "TexturedUniformColoredShader.h"
9
#include "IMaterial.h"
10
11
namespace
Eegeo
12
{
13
namespace
Rendering
14
{
15
namespace
Materials
16
{
20
class
TexturedUniformColoredMaterial
:
protected
Eegeo::NonCopyable
,
public
IMaterial
21
{
22
public
:
23
TexturedUniformColoredMaterial
(
const
TMaterialId materialId,
24
const
std::string& name,
25
Shaders::TexturedUniformColoredShader
& shader,
26
TTextureId textureId,
27
const
v4
& initialColor);
28
29
const
TMaterialId GetId()
const
{
return
m_id; }
30
const
Shader
& GetShader()
const
{
return
m_shader; }
31
const
std::string& GetName()
const
{
return
m_name; }
32
33
void
SetState(
Rendering::GLState
& glState)
const
;
34
35
void
SetStatePerRenderable(
const
Rendering::RenderableBase
* renderableBase,
Rendering::GLState
& glState)
const
;
36
37
void
SetColor(
v4
& color) { m_color = color; }
38
const
v4
& GetColor()
const
{
return
m_color; }
39
40
protected
:
41
const
TMaterialId m_id;
42
const
std::string m_name;
43
Shaders::TexturedUniformColoredShader
& m_shader;
44
TTextureId m_textureId;
45
v4
m_color;
46
};
47
}
48
}
49
}
Generated on Sat Jun 10 2023 02:00:32 for eeGeo Platform SDK by
1.8.3.1