]> git.lizzy.rs Git - irrlicht.git/blob - include/IVertexBuffer.h
Add back LightManager
[irrlicht.git] / include / IVertexBuffer.h
1 // Copyright (C) 2008-2012 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __I_VERTEX_BUFFER_H_INCLUDED__\r
6 #define __I_VERTEX_BUFFER_H_INCLUDED__\r
7 \r
8 #include "IReferenceCounted.h"\r
9 #include "irrArray.h"\r
10 #include "EHardwareBufferFlags.h"\r
11 #include "S3DVertex.h"\r
12 \r
13 namespace irr\r
14 {\r
15 namespace scene\r
16 {\r
17 \r
18         class IVertexBuffer : public virtual IReferenceCounted\r
19         {\r
20         public:\r
21                 virtual void* getData() =0;\r
22                 virtual video::E_VERTEX_TYPE getType() const =0;\r
23                 virtual void setType(video::E_VERTEX_TYPE vertexType) =0;\r
24                 virtual u32 stride() const =0;\r
25                 virtual u32 size() const =0;\r
26                 virtual void push_back(const video::S3DVertex &element) =0;\r
27                 virtual video::S3DVertex& operator [](const u32 index) const =0;\r
28                 virtual video::S3DVertex& getLast() =0;\r
29                 virtual void set_used(u32 usedNow) =0;\r
30                 virtual void reallocate(u32 new_size) =0;\r
31                 virtual u32 allocated_size() const =0;\r
32                 virtual video::S3DVertex* pointer() =0;\r
33 \r
34                 //! get the current hardware mapping hint\r
35                 virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0;\r
36 \r
37                 //! set the hardware mapping hint, for driver\r
38                 virtual void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint ) =0;\r
39 \r
40                 //! flags the meshbuffer as changed, reloads hardware buffers\r
41                 virtual void setDirty() =0;\r
42 \r
43                 //! Get the currently used ID for identification of changes.\r
44                 /** This shouldn't be used for anything outside the VideoDriver. */\r
45                 virtual u32 getChangedID() const = 0;\r
46         };\r
47 \r
48 \r
49 } // end namespace scene\r
50 } // end namespace irr\r
51 \r
52 #endif\r
53 \r