40
40
virtual ~VertexBuffer();
41
41
VertexBuffer(int Size, int Stride);
42
42
//! Copy constructor
43
VertexBuffer(const VertexBuffer &);
43
VertexBuffer(const VertexBuffer&);
44
44
//! Assignment constructor
45
VertexBuffer &operator = (const VertexBuffer &);
45
VertexBuffer& operator = (const VertexBuffer&);
47
47
//! Allocate space for a "num_element", each of size "size".
72
72
virtual ~IndexBuffer();
73
73
IndexBuffer(int Size, int Stride);
74
74
//! Copy constructor
75
IndexBuffer(const IndexBuffer &);
75
IndexBuffer(const IndexBuffer&);
76
76
//! Assignment constructor
77
IndexBuffer &operator = (const IndexBuffer &);
77
IndexBuffer& operator = (const IndexBuffer&);
79
79
void Allocate(int Size, int Stride);
80
80
int GetSize() const;
151
151
ObjectPtr<IOpenGLVertexDeclaration> _declaration;
154
// class NMeshComponent
158
// NMeshComponent(const NMeshComponent &);
159
// NMeshComponent(int StreamIndex/*ObjectPtr<BaseMeshBuffer> VtxBuffer*/, int Offset, ATTRIB_DECL_TYPE Type);
161
// NMeshComponent &operator = (const NMeshComponent &);
163
// virtual ~NMeshComponent();
165
// int GetStreamIndex() const;
166
// // int GetStride();
169
// ATTRIB_DECL_TYPE _Type;
174
// class NMesh: public ResourceData
176
// NUX_DECLARE_OBJECT_TYPE(NStaticMesh, ResourceData);
182
// class NStaticMesh: public NMesh
184
// NUX_DECLARE_OBJECT_TYPE(NStaticMesh, NMesh);
186
// NStaticMesh(NMeshObject *Object);
189
// int GetNumStreams() const;
191
// std::vector<BaseMeshBuffer*> m_pVertexStreamArray; // up to 8 stream of buffers on most GPU
192
// NIndexBuffer *m_pIndex;
193
// NVertexDeclaration *m_pVertexDeclaration;
196
// class NGLStaticMesh: public CachedResourceData
198
// NUX_DECLARE_OBJECT_TYPE(NGLStaticMesh, CachedResourceData);
200
// NGLStaticMesh(NResourceSet *ResourceManager, NStaticMesh *);
202
// bool UpdateResource(ResourceData *Resource);
204
// std::vector<ObjectPtr<CachedVertexBuffer> > m_VertexBufferArray;
205
// ObjectPtr<CachedIndexBuffer> m_Index;
206
// ObjectPtr<CachedVertexDeclaration> m_VertexDeclaration;
210
154
class CachedMeshBuffer;
212
156
class MeshBuffer: public ResourceData
219
163
bool Update(const MeshData* mesh_data);
221
//ObjectPtr <CachedMeshBuffer> GetCachedMeshBuffer();
165
ObjectPtr<CachedMeshBuffer> GetCachedMeshBuffer();
224
VertexBuffer *_vertex_buffer;
225
IndexBuffer *_index_buffer;
226
VertexDeclaration *_vertex_declaration;
168
VertexBuffer* _vertex_buffer;
169
IndexBuffer* _index_buffer;
170
VertexDeclaration* _vertex_declaration;
227
171
NuxMeshPrimitiveType _mesh_primitive_type;