summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/graphics/gpu_buffer.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-02 20:51:00 +0800
committerchai <chaifix@163.com>2019-08-02 20:51:00 +0800
commitbad78945ceba425f6a80e3b8dca2414d592970eb (patch)
tree8bf7540766349c534bf9e5746b24fd7507ba034e /source/modules/asura-core/graphics/gpu_buffer.h
parent99b90496765df21c5f377f42b9ed073ccb34c1fd (diff)
*修改文件名格式
Diffstat (limited to 'source/modules/asura-core/graphics/gpu_buffer.h')
-rw-r--r--source/modules/asura-core/graphics/gpu_buffer.h95
1 files changed, 0 insertions, 95 deletions
diff --git a/source/modules/asura-core/graphics/gpu_buffer.h b/source/modules/asura-core/graphics/gpu_buffer.h
deleted file mode 100644
index 3153904..0000000
--- a/source/modules/asura-core/graphics/gpu_buffer.h
+++ /dev/null
@@ -1,95 +0,0 @@
-#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>
-
-#include "gfx_device.h"
-
-namespace_begin(AsuraEngine)
-namespace_begin(Graphics)
-
-enum BufferType
-{
- BUFFER_TYPE_VERTEX, ///< 㻺壬position\tangent\normal\color\texcoord(n)
- BUFFER_TYPE_INDEX, ///<
-};
-
-enum BufferUsage
-{
- BUFFER_USAGE_STREAM, ///< ޸һΣʹô
- BUFFER_USAGE_DYNAMIC, ///< ޸һΣʹ
- BUFFER_USAGE_STATIC, ///< ޸ĺʹ
-};
-
-enum BufferDataType
-{
- BUFFER_DATA_TYPE_INT,
- BUFFER_DATA_TYPE_FLOAT,
- BUFFER_DATA_TYPE_UNSIGNED_BYTE,
-};
-
-///
-/// VRAM壬ֶ㻺vboebo֣ÿζڴԴϴݡframeworkrenderers
-///
-///
-ASURA_ABSTRACT class GPUBuffer
-{
-public:
-
- GPUBuffer(BufferType type, BufferUsage usage, BufferDataType datatype, size_t size);
- virtual ~GPUBuffer();
-
- static size_t GetDataTypeSize(GLenum datatype);
-
- bool Fill(const void* data, size_t size, uint offset = 0) ASURA_THROW(Exception);
-
- void Bind();
- void UnBind();
-
- uint GetBufferSize();
- uint GetBufferCount();
- GLenum GetDataType();
- size_t GetDataTypeSize();
-
-private:
-
- GLenum ConvertBufferType(BufferType type);
- GLenum ConvertBufferUsage(BufferUsage type);
- GLenum ConvertBufferDataType(BufferDataType type);
-
- GLenum m_Target;
- GLuint m_Buffer;
-
- /// openglԴ滺岢ûж͵ҪֻglVertexAttribPointerʱָdrawcall ʱݸ
- /// ʼַʹbufferȡඥݣԲͬͿԱһbufferСΪ˱
- /// ӿڵļ࣬ڳʼbufferʱָͣڱ͵һ£Բͬ
- /// ͷͬbuffer
-
- GLenum m_DataType;
- GLuint m_Usage;
- uint m_Size;
-
-#if ASURA_DEBUG
- byte* m_Data;
-#endif
-
-luaxport:
-
- LUAX_DECL_ABSTRACT_FACTORY(GPUBuffer);
-
- LUAX_DECL_ENUM(BufferType, 1);
- LUAX_DECL_ENUM(BufferUsage, 1);
- LUAX_DECL_ENUM(BufferDataType, 2);
-
- LUAX_DECL_METHOD(_Fill);
- LUAX_DECL_METHOD(_GetSize);
- LUAX_DECL_METHOD(_GetCount);
-
-};
-
-namespace_end
-namespace_end
-
-#endif \ No newline at end of file