Pyrogenesis
HEAD
Pyrogenesis, a RTS Engine
Sampler.h
Go to the documentation of this file.
1
/* Copyright (C) 2023 Wildfire Games.
2
* This file is part of 0 A.D.
3
*
4
* 0 A.D. is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 2 of the License, or
7
* (at your option) any later version.
8
*
9
* 0 A.D. is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef INCLUDED_RENDERER_BACKEND_SAMPLER
19
#define INCLUDED_RENDERER_BACKEND_SAMPLER
20
21
#include "
graphics/Color.h
"
22
#include "
renderer/backend/CompareOp.h
"
23
24
#include <cstdint>
25
26
namespace
Renderer
27
{
28
29
namespace
Backend
30
{
31
32
namespace
Sampler
33
{
34
35
enum class
Filter
36
{
37
NEAREST
,
38
LINEAR
39
};
40
41
enum class
AddressMode
42
{
43
REPEAT
,
44
MIRRORED_REPEAT
,
45
CLAMP_TO_EDGE
,
46
CLAMP_TO_BORDER
,
47
};
48
49
enum class
BorderColor
50
{
51
TRANSPARENT_BLACK
,
52
OPAQUE_BLACK
,
53
OPAQUE_WHITE
54
};
55
56
struct
Desc
57
{
58
Filter
magFilter
;
59
Filter
minFilter
;
60
Filter
mipFilter
;
61
AddressMode
addressModeU
;
62
AddressMode
addressModeV
;
63
AddressMode
addressModeW
;
64
float
mipLODBias
;
65
bool
anisotropyEnabled
;
66
float
maxAnisotropy
;
67
// When at least one address mode is CLAMP_TO_BORDER.
68
BorderColor
borderColor
;
69
bool
compareEnabled
;
70
CompareOp
compareOp
;
71
};
72
73
Desc
MakeDefaultSampler
(
Filter
filter,
AddressMode
addressMode);
74
75
}
// namespace Sampler
76
77
}
// namespace Backend
78
79
}
// namespace Renderer
80
81
#endif
// INCLUDED_RENDERER_BACKEND_SAMPLER
Color.h
CompareOp.h
Renderer::Backend::Sampler::Filter
Filter
Definition:
Sampler.h:36
Renderer::Backend::Sampler::Filter::LINEAR
@ LINEAR
Renderer::Backend::Sampler::Filter::NEAREST
@ NEAREST
Renderer::Backend::Sampler::MakeDefaultSampler
Desc MakeDefaultSampler(Filter filter, AddressMode addressMode)
Definition:
Sampler.cpp:31
Renderer::Backend::Sampler::AddressMode
AddressMode
Definition:
Sampler.h:42
Renderer::Backend::Sampler::AddressMode::REPEAT
@ REPEAT
Renderer::Backend::Sampler::AddressMode::CLAMP_TO_EDGE
@ CLAMP_TO_EDGE
Renderer::Backend::Sampler::AddressMode::MIRRORED_REPEAT
@ MIRRORED_REPEAT
Renderer::Backend::Sampler::AddressMode::CLAMP_TO_BORDER
@ CLAMP_TO_BORDER
Renderer::Backend::Sampler::BorderColor
BorderColor
Definition:
Sampler.h:50
Renderer::Backend::Sampler::BorderColor::TRANSPARENT_BLACK
@ TRANSPARENT_BLACK
Renderer::Backend::Sampler::BorderColor::OPAQUE_BLACK
@ OPAQUE_BLACK
Renderer::Backend::Sampler::BorderColor::OPAQUE_WHITE
@ OPAQUE_WHITE
Renderer::Backend::CompareOp
CompareOp
Definition:
CompareOp.h:32
Renderer::Backend::Backend
Backend
Definition:
Backend.h:28
Renderer
Definition:
VideoMode.h:29
Renderer::Backend::Sampler::Desc
Definition:
Sampler.h:57
Renderer::Backend::Sampler::Desc::magFilter
Filter magFilter
Definition:
Sampler.h:58
Renderer::Backend::Sampler::Desc::compareOp
CompareOp compareOp
Definition:
Sampler.h:70
Renderer::Backend::Sampler::Desc::maxAnisotropy
float maxAnisotropy
Definition:
Sampler.h:66
Renderer::Backend::Sampler::Desc::addressModeU
AddressMode addressModeU
Definition:
Sampler.h:61
Renderer::Backend::Sampler::Desc::borderColor
BorderColor borderColor
Definition:
Sampler.h:68
Renderer::Backend::Sampler::Desc::mipFilter
Filter mipFilter
Definition:
Sampler.h:60
Renderer::Backend::Sampler::Desc::addressModeV
AddressMode addressModeV
Definition:
Sampler.h:62
Renderer::Backend::Sampler::Desc::mipLODBias
float mipLODBias
Definition:
Sampler.h:64
Renderer::Backend::Sampler::Desc::anisotropyEnabled
bool anisotropyEnabled
Definition:
Sampler.h:65
Renderer::Backend::Sampler::Desc::compareEnabled
bool compareEnabled
Definition:
Sampler.h:69
Renderer::Backend::Sampler::Desc::minFilter
Filter minFilter
Definition:
Sampler.h:59
Renderer::Backend::Sampler::Desc::addressModeW
AddressMode addressModeW
Definition:
Sampler.h:63
source
renderer
backend
Sampler.h
Generated by
1.9.4