VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
Buffer.h
Go to the documentation of this file.
1
8#pragma once
9
11
12namespace venom
13{
14namespace common
15{
16
17enum class BufferType
18{
19 None = -1,
20 Read,
21 WriteRead
22};
23
24class VENOM_COMMON_API BufferImpl : public GraphicsPluginObject
25{
26public:
27 BufferImpl();
28 virtual ~BufferImpl() override;
29
30 inline BufferType GetBufferType() const { return _type; }
31 void SetBufferType(BufferType type);
32 vc::Error InitWithSize(uint32_t size);
33 vc::Error WriteToBuffer(const void* data, uint32_t size, uint32_t offset = 0);
34
35protected:
36 virtual vc::Error _InitWithSize(uint32_t size) = 0;
37 virtual vc::Error _WriteToBuffer(const void* data, uint32_t size, uint32_t offset) = 0;
38 BufferType _type;
39 uint32_t _size;
40};
41
42class VENOM_COMMON_API ReadBuffer : public PluginObjectWrapper
43{
44public:
45 ReadBuffer();
46 ~ReadBuffer();
47};
48
49class VENOM_COMMON_API WriteReadBuffer : public PluginObjectWrapper
50{
51public:
52 WriteReadBuffer();
53 ~WriteReadBuffer();
54};
55
56}
57}
High-Level Frontend of the VenomEngine project. It also contains all the code shared between every AP...
Definition Callback.h:15
Contains the entirety of the code of the VenomEngine project.
Definition Callback.h:13