Botcraft
1.21.4
Loading...
Searching...
No Matches
BlockRenderable.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <deque>
4
#include <mutex>
5
6
#include "
botcraft/Renderer/Face.hpp
"
7
8
namespace
Botcraft
9
{
10
namespace
Renderer
11
{
12
// Status of a face buffer
13
enum class
BufferStatus
14
{
15
Created
,
// The buffer is new, must be created in OpenGL
16
Updated
,
// The existing buffer has been updated
17
UpToDate
,
// The OpenGL buffer is up to date
18
};
19
20
class
BlockRenderable
21
{
22
public
:
23
BlockRenderable
();
24
~BlockRenderable
();
25
26
void
Update
();
27
void
ClearFaces
();
28
const
unsigned
int
GetNumFace
()
const
;
29
void
Render
()
const
;
30
31
protected
:
32
void
GenerateOpenGLBuffer
();
33
void
DeleteOpenGLBuffer
();
34
35
protected
:
36
unsigned
int
faces_VAO
;
37
unsigned
int
faces_VBO
;
38
unsigned
int
data_VBO
;
39
unsigned
int
face_number
;
40
41
std::deque<Face>
faces
;
42
43
BufferStatus
buffer_status
;
44
45
std::mutex
mutex_faces
;
46
};
47
}
// Renderer
48
}
// Botcraft
Face.hpp
Botcraft::Renderer::BlockRenderable
Definition
BlockRenderable.hpp:21
Botcraft::Renderer::BlockRenderable::faces
std::deque< Face > faces
Definition
BlockRenderable.hpp:41
Botcraft::Renderer::BlockRenderable::GenerateOpenGLBuffer
void GenerateOpenGLBuffer()
Definition
BlockRenderable.cpp:50
Botcraft::Renderer::BlockRenderable::buffer_status
BufferStatus buffer_status
Definition
BlockRenderable.hpp:43
Botcraft::Renderer::BlockRenderable::~BlockRenderable
~BlockRenderable()
Definition
BlockRenderable.cpp:19
Botcraft::Renderer::BlockRenderable::ClearFaces
void ClearFaces()
Definition
BlockRenderable.cpp:29
Botcraft::Renderer::BlockRenderable::Render
void Render() const
Definition
BlockRenderable.cpp:44
Botcraft::Renderer::BlockRenderable::mutex_faces
std::mutex mutex_faces
Definition
BlockRenderable.hpp:45
Botcraft::Renderer::BlockRenderable::face_number
unsigned int face_number
Definition
BlockRenderable.hpp:39
Botcraft::Renderer::BlockRenderable::GetNumFace
const unsigned int GetNumFace() const
Definition
BlockRenderable.cpp:39
Botcraft::Renderer::BlockRenderable::data_VBO
unsigned int data_VBO
Definition
BlockRenderable.hpp:38
Botcraft::Renderer::BlockRenderable::BlockRenderable
BlockRenderable()
Definition
BlockRenderable.cpp:9
Botcraft::Renderer::BlockRenderable::Update
void Update()
Definition
BlockRenderable.cpp:24
Botcraft::Renderer::BlockRenderable::faces_VAO
unsigned int faces_VAO
Definition
BlockRenderable.hpp:36
Botcraft::Renderer::BlockRenderable::faces_VBO
unsigned int faces_VBO
Definition
BlockRenderable.hpp:37
Botcraft::Renderer::BlockRenderable::DeleteOpenGLBuffer
void DeleteOpenGLBuffer()
Definition
BlockRenderable.cpp:118
Botcraft::Renderer::BufferStatus
BufferStatus
Definition
BlockRenderable.hpp:14
Botcraft::Renderer::BufferStatus::Created
@ Created
Botcraft::Renderer::BufferStatus::UpToDate
@ UpToDate
Botcraft::Renderer::BufferStatus::Updated
@ Updated
Botcraft
Definition
BaseNode.hpp:6
botcraft
private_include
botcraft
Renderer
BlockRenderable.hpp
Generated by
1.9.8