mirror of https://github.com/axmolengine/axmol.git
64 lines
1.8 KiB
C
64 lines
1.8 KiB
C
|
|
|||
|
#pragma once
|
|||
|
|
|||
|
//----------------------------------------------------------------------------------
|
|||
|
// Include
|
|||
|
//----------------------------------------------------------------------------------
|
|||
|
#include "EffekseerRendererGL.DeviceObject.h"
|
|||
|
#include "EffekseerRendererGL.RendererImplemented.h"
|
|||
|
|
|||
|
//-----------------------------------------------------------------------------------
|
|||
|
//
|
|||
|
//-----------------------------------------------------------------------------------
|
|||
|
namespace EffekseerRendererGL
|
|||
|
{
|
|||
|
//-----------------------------------------------------------------------------------
|
|||
|
//
|
|||
|
//-----------------------------------------------------------------------------------
|
|||
|
class VertexArray : public DeviceObject
|
|||
|
{
|
|||
|
private:
|
|||
|
GLuint m_vertexArray;
|
|||
|
|
|||
|
Shader* m_shader;
|
|||
|
VertexBuffer* m_vertexBuffer;
|
|||
|
IndexBuffer* m_indexBuffer;
|
|||
|
|
|||
|
VertexArray(const Backend::GraphicsDeviceRef& graphicsDevice, Shader* shader, VertexBuffer* vertexBuffer, IndexBuffer* indexBuffer);
|
|||
|
|
|||
|
public:
|
|||
|
virtual ~VertexArray();
|
|||
|
|
|||
|
static VertexArray*
|
|||
|
Create(const Backend::GraphicsDeviceRef& graphicsDevice, Shader* shader, VertexBuffer* vertexBuffer, IndexBuffer* indexBuffer);
|
|||
|
|
|||
|
GLuint GetInterface() const
|
|||
|
{
|
|||
|
return m_vertexArray;
|
|||
|
}
|
|||
|
|
|||
|
VertexBuffer* GetVertexBuffer()
|
|||
|
{
|
|||
|
return m_vertexBuffer;
|
|||
|
}
|
|||
|
IndexBuffer* GetIndexBuffer()
|
|||
|
{
|
|||
|
return m_indexBuffer;
|
|||
|
}
|
|||
|
|
|||
|
public:
|
|||
|
void OnLostDevice() override;
|
|||
|
void OnResetDevice() override;
|
|||
|
|
|||
|
private:
|
|||
|
void Init();
|
|||
|
void Release();
|
|||
|
};
|
|||
|
|
|||
|
//-----------------------------------------------------------------------------------
|
|||
|
//
|
|||
|
//-----------------------------------------------------------------------------------
|
|||
|
} // namespace EffekseerRendererGL
|
|||
|
//-----------------------------------------------------------------------------------
|
|||
|
//
|
|||
|
//-----------------------------------------------------------------------------------
|