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);
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
data
Definition: house0.lua:10
n
Definition: dump_lights.lua:5
wrap
Definition: tools.lua:22
Definition: audio.cpp:7
std::string fmt(auto &&...args)
Definition: string.h:11
std::uint64_t u64
Definition: def.h:15
GLsizeiptr size
Definition: resource.h:16
GLenum usage
Definition: resource.h:15
GLenum target
Definition: resource.h:15
bool create(GLenum target, std::span< const std::byte > data, GLenum usage)
bool set_capacity(u64 n)
GLsizeiptr capacity
Definition: resource.h:16
bool create(const Configuration &conf)
bool create(GLenum target, u64 size, GLenum usage)
Definition: resource.h:31
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: graphics.h:233
Definition: vec3.h:12