TDME2  1.9.200
ObjectBuffer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <vector>
5 
6 #include <tdme/tdme.h>
7 #include <tdme/engine/fwd-tdme.h>
13 
15 
16 using std::unique_ptr;
17 using std::vector;
18 
19 /**
20  * Buffers used to transfer data between main memory to graphics board memory
21  * @author Andreas Drewke
22  */
24 {
25  friend class ObjectNodeMesh;
26  friend class EntityRenderer;
27  friend class BatchRendererTriangles;
28  friend class tdme::engine::Engine;
34 
35 private:
36  STATIC_DLL_IMPEXT static vector<unique_ptr<ByteBuffer>> byteBuffers;
37 
38  /**
39  * Initialize object buffer per thread
40  */
41  static void initialize();
42 
43  /**
44  * Disposes object buffer per thread
45  */
46  static void dispose();
47 
48 public:
49  /**
50  * Get byte buffer for given context
51  * @param bytes bytes
52  * @return byte buffer
53  */
54  static ByteBuffer* getByteBuffer(int contextIdx, int32_t bytes);
55 
56 };
Engine main class.
Definition: Engine.h:131
Buffers used to transfer data between main memory to graphics board memory.
Definition: ObjectBuffer.h:24
static void initialize()
Initialize object buffer per thread.
static ByteBuffer * getByteBuffer(int contextIdx, int32_t bytes)
Get byte buffer for given context.
static STATIC_DLL_IMPEXT vector< unique_ptr< ByteBuffer > > byteBuffers
Definition: ObjectBuffer.h:36
static void dispose()
Disposes object buffer per thread.
Object node mesh specifically for rendering.
Interface to compute shader skinning shader program.
Byte buffer class.
Definition: ByteBuffer.h:27
#define STATIC_DLL_IMPEXT
Definition: tdme.h:15