Euphoria
Main Page
Related Pages
Topics
Namespaces
Concepts
Classes
Files
File List
File Members
libs
render
src
eu
render
uniform_buffer.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
eu/core/uniform_buffer.h
"
4
#include "
eu/render/opengl_labels.h
"
5
6
namespace
eu::render
7
{
8
13
struct
UniformBuffer
14
{
15
DEBUG_LABEL_EXPLICIT_MANY
UniformBuffer
(
DEBUG_LABEL_ARG_MANY
const
core::UniformBufferSetup
& setup);
16
~UniformBuffer
();
17
18
void
set_mat4
(
const
core::CompiledUniformProp
&
prop
,
const
m4
&
m
);
19
20
UniformBuffer
(
const
UniformBuffer
&) =
delete
;
21
void
operator=
(
const
UniformBuffer
&) =
delete
;
22
23
UniformBuffer
(
UniformBuffer
&&)
noexcept
;
24
UniformBuffer
&
operator
=(
UniformBuffer
&&)
noexcept
;
25
26
// clears the loaded buffer to a invalid buffer
27
void
unload
();
28
29
unsigned
int
id
;
30
};
31
32
struct
BoundUniformBuffer
33
{
34
explicit
BoundUniformBuffer
(
UniformBuffer
* b);
35
~BoundUniformBuffer
();
36
37
BoundUniformBuffer
(
const
BoundUniformBuffer
&) =
delete
;
38
BoundUniformBuffer
(
BoundUniformBuffer
&&) =
delete
;
39
void
operator=
(
const
BoundUniformBuffer
&) =
delete
;
40
void
operator=
(
BoundUniformBuffer
&&) =
delete
;
41
42
UniformBuffer
*
buffer
;
43
};
44
49
}
// namespace eu::render
uniform_buffer.h
DEBUG_LABEL_ARG_MANY
#define DEBUG_LABEL_ARG_MANY
first debug label argument of many
Definition
opengl_labels.h:18
DEBUG_LABEL_EXPLICIT_MANY
#define DEBUG_LABEL_EXPLICIT_MANY
optional explicit for when the constructor only takes one more argument and needs to be explicit if t...
Definition
opengl_labels.h:20
eu::render
Definition
ui.h:4
opengl_labels.h
eu::R
A (inclusive) range between two values.
Definition
range.h:19
eu::core::CompiledUniformProp
A compiled uniform buffer property that can be used in a shader.
Definition
uniform_buffer.h:33
eu::core::UniformBufferSetup
Definition
uniform_buffer.h:24
eu::m4
4x4 matrix
Definition
mat4.h:19
eu::render::BoundUniformBuffer
Definition
uniform_buffer.h:33
eu::render::BoundUniformBuffer::BoundUniformBuffer
BoundUniformBuffer(BoundUniformBuffer &&)=delete
eu::render::BoundUniformBuffer::buffer
UniformBuffer * buffer
Definition
uniform_buffer.h:42
eu::render::BoundUniformBuffer::operator=
void operator=(const BoundUniformBuffer &)=delete
eu::render::BoundUniformBuffer::~BoundUniformBuffer
~BoundUniformBuffer()
eu::render::BoundUniformBuffer::BoundUniformBuffer
BoundUniformBuffer(const BoundUniformBuffer &)=delete
eu::render::BoundUniformBuffer::operator=
void operator=(BoundUniformBuffer &&)=delete
eu::render::BoundUniformBuffer::BoundUniformBuffer
BoundUniformBuffer(UniformBuffer *b)
eu::render::UniformBuffer
Definition
uniform_buffer.h:14
eu::render::UniformBuffer::set_mat4
void set_mat4(const core::CompiledUniformProp &prop, const m4 &m)
eu::render::UniformBuffer::UniformBuffer
UniformBuffer(UniformBuffer &&) noexcept
eu::render::UniformBuffer::operator=
void operator=(const UniformBuffer &)=delete
eu::render::UniformBuffer::UniformBuffer
DEBUG_LABEL_EXPLICIT_MANY UniformBuffer(DEBUG_LABEL_ARG_MANY const core::UniformBufferSetup &setup)
eu::render::UniformBuffer::~UniformBuffer
~UniformBuffer()
eu::render::UniformBuffer::unload
void unload()
eu::render::UniformBuffer::UniformBuffer
UniformBuffer(const UniformBuffer &)=delete
Generated by
1.9.8