nngn
Loading...
Searching...
No Matches
resource.h
Go to the documentation of this file.
1#ifndef NNGN_GRAPHICS_OPENGL_RESOURCE_H
2#define NNGN_GRAPHICS_OPENGL_RESOURCE_H
3
4#include <span>
5
6#include "graphics/graphics.h"
7#include "math/vec3.h"
8
9#include "handle.h"
10
11namespace nngn {
12
13struct GLBuffer final : OpenGLHandle<GLBuffer> {
15 GLenum target = {}, usage = {};
16 GLsizeiptr size = 0, capacity = 0;
17 bool create(GLenum target, u64 size, GLenum usage);
18 bool create(GLenum target, std::span<const std::byte> data, GLenum usage);
19 bool create(const Configuration &conf);
20 bool set_capacity(u64 n);
21 bool destroy();
22};
23
24struct GLTexArray : OpenGLHandle<GLTexArray> {
25 bool create(
26 GLenum type, GLenum fmt, GLint min_filter, GLint mag_filter, GLint wrap,
27 const ivec3 &extent, GLsizei mip_levels);
28 bool destroy();
29};
30
31struct GLFrameBuffer : OpenGLHandle<GLFrameBuffer> {
32 bool destroy();
33};
34
35}
36
37#endif
Definition handle.h:12
local n
Definition dump_lights.lua:5
local data
Definition house0.lua:10
Definition audio.cpp:7
std::string fmt(auto &&...args)
Definition string.h:11
std::uint64_t u64
Definition def.h:15
wrap
Definition tools.lua:22
Definition resource.h:13
GLsizeiptr size
Definition resource.h:16
GLenum usage
Definition resource.h:15
GLenum target
Definition resource.h:15
bool set_capacity(u64 n)
Definition resource.cpp:32
GLsizeiptr capacity
Definition resource.h:16
bool destroy()
Definition resource.cpp:49
bool create(GLenum target, u64 size, GLenum usage)
Definition resource.cpp:12
Definition resource.h:31
bool destroy()
Definition resource.cpp:98
Definition resource.h:24
bool create(GLenum type, GLenum fmt, GLint min_filter, GLint mag_filter, GLint wrap, const ivec3 &extent, GLsizei mip_levels)
Definition resource.cpp:56
bool destroy()
Definition resource.cpp:89
Definition graphics.h:233
Definition vec3.h:12