galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
Sampler.hpp
Go to the documentation of this file.
1
7
8#ifndef GALAXY_GRAPHICS_GL_SAMPLER_HPP_
9#define GALAXY_GRAPHICS_GL_SAMPLER_HPP_
10
11namespace galaxy
12{
16 class Sampler final
17 {
18 public:
22 Sampler() noexcept;
23
27 Sampler(Sampler&&) noexcept;
28
32 Sampler& operator=(Sampler&&) noexcept;
33
37 ~Sampler() noexcept;
38
45 void set(const unsigned int param, const int value) const;
46
53 void setf(const unsigned int param, const float value) const;
54
62 void bind(const unsigned int texture_unit) const;
63
71 void unbind(const unsigned int texture_unit) const;
72
78 [[nodiscard]]
79 unsigned int id() const noexcept;
80
81 private:
85 Sampler(const Sampler&) = delete;
86
90 Sampler& operator=(const Sampler&) = delete;
91
92 private:
96 unsigned int m_id;
97 };
98} // namespace galaxy
99
100#endif
Texture sampler definitions.
Definition Sampler.hpp:17
void set(const unsigned int param, const int value) const
Set a sampler field.
Definition Sampler.cpp:52
Sampler & operator=(Sampler &&) noexcept
Move assignment operator.
Definition Sampler.cpp:31
Sampler(const Sampler &)=delete
Copy constructor.
unsigned int id() const noexcept
Get program id.
Definition Sampler.cpp:72
void bind(const unsigned int texture_unit) const
Bind sampler.
Definition Sampler.cpp:62
void setf(const unsigned int param, const float value) const
Set a float sampler field.
Definition Sampler.cpp:57
void unbind(const unsigned int texture_unit) const
Unbind sampler.
Definition Sampler.cpp:67
Sampler() noexcept
Constructor.
Definition Sampler.cpp:14
~Sampler() noexcept
Destructor.
Definition Sampler.cpp:47
Sampler & operator=(const Sampler &)=delete
Copy assignment operator.
unsigned int m_id
OpenGL handle.
Definition Sampler.hpp:96
Animated.cpp galaxy.
Definition Animated.cpp:16