Cogs.Core
RenderBuffer.h
1#pragma once
2
3#include "RenderResource.h"
4
5#include "Utilities/Parsing.h"
6#include "Utilities/Expressions.h"
7
8namespace Cogs
9{
10 namespace Core
11 {
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}
Core renderer system.
Definition: Renderer.h:28
Contains all Cogs related functionality.
Definition: FieldSetter.h:23