Cogs.Core
Source
Renderer
RenderBuffer.h
1
#pragma once
2
3
#include "RenderResource.h"
4
5
#include "Utilities/Parsing.h"
6
#include "Utilities/Expressions.h"
7
8
namespace
Cogs
9
{
10
namespace
Core
11
{
12
struct
RenderBuffer
:
public
RenderResource
13
{
14
void
update(
class
Renderer
* renderer);
15
void
release(
class
Renderer
* renderer);
16
17
std::vector<ParsedValue> parameters;
18
19
ExpressionValue<size_t>
elementSize = 0;
20
ExpressionValue<size_t>
elementCount = 0;
21
ExpressionValue<size_t>
bufferSize = 0;
22
ExpressionValue<size_t>
bufferCount = 1;
23
24
BufferHandle
& getHandle(
size_t
index)
25
{
26
if
(currentCount == 1)
return
buffer;
27
else
return
buffers[index];
28
}
29
30
void
setFrame(
size_t
index, uint32_t frame)
31
{
32
frames[index] = frame;
33
}
34
35
uint32_t getFrame(
size_t
index)
36
{
37
return
frames[index];
38
}
39
40
BufferHandle
buffer;
41
std::vector<BufferHandle> buffers;
42
std::vector<uint32_t> frames;
43
44
size_t
size = 0;
45
size_t
currentCount = 0;
46
};
47
}
48
}
Cogs::Core::Renderer
Core renderer system.
Definition:
Renderer.h:28
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::ExpressionValue
Definition:
Expressions.h:115
Cogs::Core::RenderBuffer
Definition:
RenderBuffer.h:13
Cogs::Core::RenderResource
Definition:
RenderResource.h:49
Cogs::Handle_t< BufferTag >
Generated by
1.9.6