blob: e9061d83bc536f0dcf4dc5df17fdc2d60c73dc9c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// SPDX-License-Identifier: BSD-2-Clause
// Copyright (c) 2025 Kirill Dmitrievich
// File: chunk_vbo.hh
// Description: Utility wrapper for OpenGL VBOs
#ifndef CLIENT_WORLD_CHUNK_VBO_HH
#define CLIENT_WORLD_CHUNK_VBO_HH
#pragma once
class ChunkVBO final {
public:
std::size_t size;
GLuint handle;
public:
inline ~ChunkVBO(void)
{
// The ChunkVBO structure is meant to be a part
// of the ChunkMesh component within the EnTT registry;
// When the registry is cleaned or a chunk is removed, components
// are expected to be safely disposed of so we need a destructor;
if(handle) {
glDeleteBuffers(1, &handle);
}
}
};
#endif
|