summaryrefslogtreecommitdiff
path: root/gfx/gl/glTexture.h
blob: c4821982f7880aa9fbbc44e391a32a334e541e55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include "config/types.h"
#include "glArrays.h"

namespace Impl {
	// NOLINTNEXTLINE(readability-identifier-naming)
	struct glTexture : Detail::glNamed {
		[[nodiscard]] TextureDimensions getSize() const;
		void bind(GLenum type = GL_TEXTURE_2D, GLenum unit = GL_TEXTURE0) const;
	};
}

// NOLINTBEGIN(readability-identifier-naming)
template<size_t N> using glTextures = glManagedArray<Impl::glTexture, N, &glGenTextures, &glDeleteTextures>;
using glTexture = glManagedSingle<Impl::glTexture, &glGenTextures, &glDeleteTextures>;
// NOLINTEND(readability-identifier-naming)