summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/graphics/gpu_buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-core/graphics/gpu_buffer.h')
-rw-r--r--source/modules/asura-core/graphics/gpu_buffer.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/source/modules/asura-core/graphics/gpu_buffer.h b/source/modules/asura-core/graphics/gpu_buffer.h
index aba1157..c79ed4b 100644
--- a/source/modules/asura-core/graphics/gpu_buffer.h
+++ b/source/modules/asura-core/graphics/gpu_buffer.h
@@ -1,6 +1,7 @@
#ifndef __ASURA_GPU_BUFFER_H__
#define __ASURA_GPU_BUFFER_H__
+#include <asura-utils/scripting/portable.hpp>
#include <asura-utils/exceptions/exception.h>
#include <asura-utils/type.h>
@@ -27,11 +28,12 @@ namespace AsuraEngine
///
/// GPU壬ֶ㻺֣ÿζڴԴϴݡ
///
- class GPUBuffer
+ class GPUBuffer
+ : AEScripting::Portable<GPUBuffer>
{
public:
- GPUBuffer(BufferType type, BufferUsage usage, size_t size) ASURA_THROW(Exception);
+ GPUBuffer(BufferType type, BufferUsage usage, size_t size);
~GPUBuffer();
///
@@ -47,7 +49,20 @@ namespace AsuraEngine
uint GetBufferSize();
- private:
+ private:
+
+ //----------------------------------------------------------------------------//
+
+ LUAX_DECL_FACTORY(GPUBuffer);
+
+ LUAX_DECL_ENUM(BufferType, 1);
+ LUAX_DECL_ENUM(BufferUsage, 1);
+
+ LUAX_DECL_METHOD(_New);
+ LUAX_DECL_METHOD(_Fill);
+ LUAX_DECL_METHOD(_GetSize);
+
+ //----------------------------------------------------------------------------//
GLenum mTarget;
GLuint mBuffer;