MOS
include
mos
gl
texture_buffer_2d.hpp
1
#pragma once
2
3
#include <glad/glad.h>
4
#include <mos/gfx/texture_2d.hpp>
5
6
namespace
mos::gl
{
7
8
class
Texture_buffer_2D
{
9
friend
class
Renderer
;
10
public
:
11
using
Time_point = std::chrono::time_point<std::chrono::system_clock,
12
std::chrono::nanoseconds>;
13
14
explicit
Texture_buffer_2D
(
const
gfx::Texture_2D
&texture_2d);
15
private
:
16
Texture_buffer_2D
(
17
GLint internal_format, GLenum external_format,
int
width,
int
height,
18
GLint filter_min, GLint filter_mag, GLint wrap,
const
void
*data,
19
const
Time_point &modified = std::chrono::system_clock::now());
20
public
:
21
~
Texture_buffer_2D
();
22
Texture_buffer_2D
(
const
Texture_buffer_2D
&buffer) =
delete
;
23
Texture_buffer_2D
(
Texture_buffer_2D
&&buffer) noexcept;
24
Texture_buffer_2D
&operator=(
const
Texture_buffer_2D
&buffer) =
delete
;
25
Texture_buffer_2D
&operator=(
Texture_buffer_2D
&&buffer) noexcept;
26
GLuint texture{0};
27
Time_point modified;
28
29
private
:
30
void
release();
31
};
32
}
mos::gl::Texture_buffer_2D
Definition:
texture_buffer_2d.hpp:8
mos::gl
Definition:
array_buffers.hpp:5
mos::gfx::Texture_2D
Texture in two dimension.
Definition:
texture_2d.hpp:17
mos::gl::Renderer
Render geometry shapes with OpenGL.
Definition:
renderer.hpp:40
Generated on Sat Jan 22 2022 12:45:29 for MOS by
1.8.13