//CFTTGraphicsBufferOGLES - [2020-04-13 11:57:46]
#ifndef _CFTTGRAPHICSBUFFEROGLES_H_
#define _CFTTGRAPHICSBUFFEROGLES_H_

#include "CFTTTexture.h"
#include "CFTTGraphicsBuffer.h"
#include <GLES2/gl2.h>

/*
0020B93C CFTTGraphicsBufferOGLES::CFTTGraphicsBufferOGLES(EFTTGraphicsBufferType,EFTTGraphicsBufferVolatility,uint)
0020BA88 CFTTGraphicsBufferOGLES::~CFTTGraphicsBufferOGLES()
0020BB08 CFTTGraphicsBufferOGLES::~CFTTGraphicsBufferOGLES()
0020BB18 CFTTGraphicsBufferOGLES::Lock()
0020BC34 CFTTGraphicsBufferOGLES::Unlock(uint)
0020BD24 CFTTGraphicsBufferOGLES::SetBuffer(void const*,uint)
0020BDF4 CFTTGraphicsBufferOGLES::OnDeviceShutdown()

vptr_CFTTGraphicsBufferOGLES_3281E4:
  CFTTGraphicsBufferOGLES::~CFTTGraphicsBufferOGLES()
  CFTTGraphicsBufferOGLES::~CFTTGraphicsBufferOGLES()
  CFTTGraphicsBufferOGLES::Lock()
  CFTTGraphicsBufferOGLES::Unlock(uint)
  CFTTGraphicsBufferOGLES::SetBuffer(void const*,uint)

0020BE14 COGLESCpuBuffer::Reset(void)

0x18
*/
//-------------------------------------------------------------------------------------------------
class CFTTGraphicsBufferOGLES : public CFTTGraphicsBuffer {
public:
  CFTTGraphicsBufferOGLES(EFTTGraphicsBufferType eType,
                          EFTTGraphicsBufferVolatility volatility,
                          uint buflen);       //0020B93C
  virtual ~CFTTGraphicsBufferOGLES();         //0020BA88 0020BB08
  virtual void* Lock();                       //0020BB18
  virtual void Unlock(uint);                  //0020BC34
  virtual void SetBuffer(void const*, uint);  //0020BD24
  static void OnDeviceShutdown();             //0020BDF4

  //vptr_0
  EFTTGraphicsBufferType type_4;
  uint field_8;
  uchar* pBuf_C;
  GLuint bindBuf_10; //
  int len_14;
};
//-------------------------------------------------------------------------------------------------
class COGLESCpuBuffer {
public:
  void Reset();  //0020BE14

  //CFTTTexture* pTexture_0;
  CFTTGraphicsBufferOGLES* pGraphicsBufferOGLES_0;
  uchar* pBuf_4;
};
//-------------------------------------------------------------------------------------------------
struct GraphicsBuffer {
  CFTTTexture* pTexture_0;
  COGLESCpuBuffer aCOGLESCpuBuffer_C[3];
};
//-------------------------------------------------------------------------------------------------
#endif  //_CFTTGRAPHICSBUFFEROGLES_H_