Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
sampler.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
11
//------------------------------------------------------------------------------
12
#include "
ids/id.h
"
13
#include "
util/bit.h
"
14
namespace
CoreGraphics
15
{
16
17
ID_24_8_TYPE
(
SamplerId
);
18
19
enum
SamplerFilter
20
{
21
NearestFilter
,
22
LinearFilter
,
23
CubicFilter
24
};
25
26
enum
SamplerMipMode
27
{
28
NearestMipMode
,
29
LinearMipMode
30
};
31
32
enum
SamplerAddressMode
33
{
34
RepeatAddressMode
,
35
MirroredRepeatAddressMode
,
36
ClampToEdgeAddressMode
,
37
ClampToBorderAddressMode
,
38
MirrorClampToEdgeAddressMode
,
39
};
40
41
enum
SamplerCompareOperation
42
{
43
NeverCompare
,
44
LessCompare
,
45
EqualCompare
,
46
LessOrEqualCompare
,
47
GreaterCompare
,
48
GreaterOrEqualCompare
,
49
NotEqualCompare
,
50
AlwaysCompare
51
};
52
53
enum
SamplerBorderMode
54
{
55
FloatTransparentBlackBorder
,
56
IntTransparentBlackBorder
,
57
FloatOpaqueBlackBorder
,
58
IntOpaqueBlackBorder
,
59
FloatOpaqueWhiteBorder
,
60
IntOpaqueWhiteBorder
,
61
};
62
63
struct
SamplerCreateInfo
64
{
65
SamplerFilter
magFilter
;
66
SamplerFilter
minFilter
;
67
SamplerMipMode
mipmapMode
;
68
SamplerAddressMode
addressModeU
;
69
SamplerAddressMode
addressModeV
;
70
SamplerAddressMode
addressModeW
;
71
float
mipLodBias
;
72
bool
anisotropyEnable
;
73
float
maxAnisotropy
;
74
bool
compareEnable
;
75
SamplerCompareOperation
compareOp
;
76
float
minLod
;
77
float
maxLod
;
78
SamplerBorderMode
borderColor
;
79
bool
unnormalizedCoordinates
;
80
81
const
uint32_t
HashCode
()
const
82
{
83
uint32_t res = 0;
84
Util::HashCombine
(res, this->magFilter);
85
Util::HashCombine
(res, this->minFilter);
86
Util::HashCombine
(res, this->mipmapMode);
87
Util::HashCombine
(res, this->addressModeU);
88
Util::HashCombine
(res, this->addressModeV);
89
Util::HashCombine
(res, this->addressModeW);
90
Util::HashCombine
(res, this->mipLodBias);
91
Util::HashCombine
(res, this->anisotropyEnable);
92
Util::HashCombine
(res, this->maxAnisotropy);
93
Util::HashCombine
(res, this->compareEnable);
94
Util::HashCombine
(res, this->compareOp);
95
Util::HashCombine
(res, this->minLod);
96
Util::HashCombine
(res, this->maxLod);
97
Util::HashCombine
(res, this->borderColor);
98
Util::HashCombine
(res, this->unnormalizedCoordinates);
99
return
res;
100
}
101
};
102
104
SamplerId
CreateSampler
(
const
SamplerCreateInfo& info);
106
void
DestroySampler
(
const
SamplerId&
id
);
107
108
}
// namespace CoreGraphics
bit.h
Implements helper functions for checking bits.
id.h
ID_24_8_TYPE
#define ID_24_8_TYPE(x)
Definition
id.h:132
CoreGraphics
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition
accelerationstructure.h:24
CoreGraphics::SamplerBorderMode
SamplerBorderMode
Definition
sampler.h:54
CoreGraphics::FloatOpaqueBlackBorder
@ FloatOpaqueBlackBorder
Definition
sampler.h:57
CoreGraphics::IntTransparentBlackBorder
@ IntTransparentBlackBorder
Definition
sampler.h:56
CoreGraphics::FloatTransparentBlackBorder
@ FloatTransparentBlackBorder
Definition
sampler.h:55
CoreGraphics::IntOpaqueWhiteBorder
@ IntOpaqueWhiteBorder
Definition
sampler.h:60
CoreGraphics::IntOpaqueBlackBorder
@ IntOpaqueBlackBorder
Definition
sampler.h:58
CoreGraphics::FloatOpaqueWhiteBorder
@ FloatOpaqueWhiteBorder
Definition
sampler.h:59
CoreGraphics::DestroySampler
void DestroySampler(const SamplerId &id)
destroy sampler
Definition
vksampler.cc:279
CoreGraphics::SamplerCompareOperation
SamplerCompareOperation
Definition
sampler.h:42
CoreGraphics::EqualCompare
@ EqualCompare
Definition
sampler.h:45
CoreGraphics::GreaterOrEqualCompare
@ GreaterOrEqualCompare
Definition
sampler.h:48
CoreGraphics::LessCompare
@ LessCompare
Definition
sampler.h:44
CoreGraphics::NotEqualCompare
@ NotEqualCompare
Definition
sampler.h:49
CoreGraphics::AlwaysCompare
@ AlwaysCompare
Definition
sampler.h:50
CoreGraphics::NeverCompare
@ NeverCompare
Definition
sampler.h:43
CoreGraphics::GreaterCompare
@ GreaterCompare
Definition
sampler.h:47
CoreGraphics::LessOrEqualCompare
@ LessOrEqualCompare
Definition
sampler.h:46
CoreGraphics::SamplerMipMode
SamplerMipMode
Definition
sampler.h:27
CoreGraphics::LinearMipMode
@ LinearMipMode
Definition
sampler.h:29
CoreGraphics::NearestMipMode
@ NearestMipMode
Definition
sampler.h:28
CoreGraphics::SamplerAddressMode
SamplerAddressMode
Definition
sampler.h:33
CoreGraphics::ClampToEdgeAddressMode
@ ClampToEdgeAddressMode
Definition
sampler.h:36
CoreGraphics::MirrorClampToEdgeAddressMode
@ MirrorClampToEdgeAddressMode
Definition
sampler.h:38
CoreGraphics::RepeatAddressMode
@ RepeatAddressMode
Definition
sampler.h:34
CoreGraphics::MirroredRepeatAddressMode
@ MirroredRepeatAddressMode
Definition
sampler.h:35
CoreGraphics::ClampToBorderAddressMode
@ ClampToBorderAddressMode
Definition
sampler.h:37
CoreGraphics::CreateSampler
SamplerId CreateSampler(const SamplerCreateInfo &info)
create sampler
Definition
vksampler.cc:226
CoreGraphics::SamplerFilter
SamplerFilter
Definition
sampler.h:20
CoreGraphics::NearestFilter
@ NearestFilter
Definition
sampler.h:21
CoreGraphics::CubicFilter
@ CubicFilter
Definition
sampler.h:23
CoreGraphics::LinearFilter
@ LinearFilter
Definition
sampler.h:22
Util::HashCombine
void HashCombine(uint32_t &s, const T &v)
Combine hashes.
Definition
bit.h:141
CoreGraphics::SamplerCreateInfo
Definition
sampler.h:64
CoreGraphics::SamplerCreateInfo::borderColor
SamplerBorderMode borderColor
Definition
sampler.h:78
CoreGraphics::SamplerCreateInfo::minFilter
SamplerFilter minFilter
Definition
sampler.h:66
CoreGraphics::SamplerCreateInfo::maxLod
float maxLod
Definition
sampler.h:77
CoreGraphics::SamplerCreateInfo::maxAnisotropy
float maxAnisotropy
Definition
sampler.h:73
CoreGraphics::SamplerCreateInfo::addressModeU
SamplerAddressMode addressModeU
Definition
sampler.h:68
CoreGraphics::SamplerCreateInfo::addressModeV
SamplerAddressMode addressModeV
Definition
sampler.h:69
CoreGraphics::SamplerCreateInfo::anisotropyEnable
bool anisotropyEnable
Definition
sampler.h:72
CoreGraphics::SamplerCreateInfo::mipmapMode
SamplerMipMode mipmapMode
Definition
sampler.h:67
CoreGraphics::SamplerCreateInfo::HashCode
const uint32_t HashCode() const
Definition
sampler.h:81
CoreGraphics::SamplerCreateInfo::minLod
float minLod
Definition
sampler.h:76
CoreGraphics::SamplerCreateInfo::addressModeW
SamplerAddressMode addressModeW
Definition
sampler.h:70
CoreGraphics::SamplerCreateInfo::mipLodBias
float mipLodBias
Definition
sampler.h:71
CoreGraphics::SamplerCreateInfo::unnormalizedCoordinates
bool unnormalizedCoordinates
Definition
sampler.h:79
CoreGraphics::SamplerCreateInfo::magFilter
SamplerFilter magFilter
Definition
sampler.h:65
CoreGraphics::SamplerCreateInfo::compareEnable
bool compareEnable
Definition
sampler.h:74
CoreGraphics::SamplerCreateInfo::compareOp
SamplerCompareOperation compareOp
Definition
sampler.h:75
CoreGraphics::SamplerId
Definition
sampler.h:17
code
render
coregraphics
sampler.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.