MOS
include
mos
gfx
texture.hpp
1
#pragma once
2
3
#include <atomic>
4
#include <chrono>
5
#include <initializer_list>
6
#include <memory>
7
#include <string>
8
#include <vector>
9
10
#include <gli/format.hpp>
11
#include <gli/gli.hpp>
12
13
#include <mos/core/tracked_container.hpp>
14
#include <mos/core/id.hpp>
15
16
namespace
mos::gfx
{
17
18
class
Texture;
19
21
class
Texture
{
22
public
:
23
using
TimePoint = std::chrono::time_point<std::chrono::system_clock,
24
std::chrono::nanoseconds>;
25
enum class
Wrap { Repeat, Clamp };
26
enum class
Filter { Linear, Closest };
27
28
Texture
(
const
Filter &filter = Filter::Linear,
29
const
Wrap &wrap = Wrap::Repeat,
bool
generate_mipmaps =
true
);
30
31
auto
id()
const
-> int;
32
33
bool
generate_mipmaps;
34
Filter filter;
35
Wrap wrap;
36
TimePoint modified;
37
38
private
:
39
Id<Texture>
id_;
40
};
41
}
// namespace mos::gfx
mos::Id
Definition:
id.hpp:8
mos::gfx
Definition:
assets.hpp:17
mos::gfx::Texture
Texture base.
Definition:
texture.hpp:21
Generated on Sat Jan 22 2022 12:45:29 for MOS by
1.8.13