mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-21 10:49:23 +00:00
Initial commit of current work on Prime World Editor
This commit is contained in:
34
OpenGL/CVertexArrayManager.h
Normal file
34
OpenGL/CVertexArrayManager.h
Normal file
@@ -0,0 +1,34 @@
|
||||
#ifndef CVERTEXARRAYMANAGER_H
|
||||
#define CVERTEXARRAYMANAGER_H
|
||||
|
||||
#include "CDynamicVertexBuffer.h"
|
||||
#include "CVertexBuffer.h"
|
||||
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
#include <GL/glew.h>
|
||||
|
||||
class CVertexArrayManager
|
||||
{
|
||||
std::unordered_map<CVertexBuffer*, GLuint> mVBOMap;
|
||||
std::unordered_map<CDynamicVertexBuffer*, GLuint> mDynamicVBOMap;
|
||||
u32 mVectorIndex;
|
||||
|
||||
static std::vector<CVertexArrayManager*> sVAManagers;
|
||||
static CVertexArrayManager *spCurrentManager;
|
||||
|
||||
public:
|
||||
CVertexArrayManager();
|
||||
~CVertexArrayManager();
|
||||
void SetCurrent();
|
||||
void BindVAO(CVertexBuffer *pVBO);
|
||||
void BindVAO(CDynamicVertexBuffer *pVBO);
|
||||
void DeleteVAO(CVertexBuffer *pVBO);
|
||||
void DeleteVAO(CDynamicVertexBuffer *pVBO);
|
||||
|
||||
static CVertexArrayManager* Current();
|
||||
static void DeleteAllArraysForVBO(CVertexBuffer *pVBO);
|
||||
static void DeleteAllArraysForVBO(CDynamicVertexBuffer *pVBO);
|
||||
};
|
||||
|
||||
#endif // CVERTEXARRAYMANAGER_H
|
||||
Reference in New Issue
Block a user