Platform_3D_VertexBuffer.h
Go to the documentation of this file.00001 00011 #ifndef __Platform_3D_VertexBuffer_H__ 00012 #define __Platform_3D_VertexBuffer_H__ 00013 00014 // Includes 00015 00016 // Forward declares 00017 00018 00019 // Platform_3D_VertexBuffer 00020 class Platform_3D_VertexBuffer 00021 { 00022 public: 00023 00024 enum VertexFormat 00025 { 00026 VertexFormat_Position = 0x0001, 00027 VertexFormat_ScreenPosition = 0x0002, 00028 VertexFormat_Normal = 0x0004, 00029 VertexFormat_Diffuse = 0x0008, 00030 VertexFormat_Specular = 0x0010, 00031 VertexFormat_1TextureSets = 0x0020, 00032 VertexFormat_2TextureSets = 0x0040, 00033 VertexFormat_3TextureSets = 0x0080, 00034 VertexFormat_4TextureSets = 0x0100, 00035 VertexFormat_5TextureSets = 0x0200, 00036 VertexFormat_6TextureSets = 0x0400, 00037 VertexFormat_7TextureSets = 0x0800, 00038 VertexFormat_8TextureSets = 0x1000, 00039 }; 00040 00041 virtual ~Platform_3D_VertexBuffer() { }; 00042 00043 virtual void Bind() = 0; 00044 00045 virtual void Lock( 00046 int startVertex = 0, 00047 int vertexCount = 0 00048 ) = 0; 00049 00050 virtual void Unlock() = 0; 00051 00052 virtual float* GetPositionData() = 0; 00053 00054 virtual int GetPositionStride() = 0; 00055 00056 virtual float* GetScreenPositionData() = 0; 00057 00058 virtual int GetScreenPositionStride() = 0; 00059 00060 virtual float* GetNormalData() = 0; 00061 00062 virtual int GetNormalStride() = 0; 00063 00064 virtual unsigned int* GetDiffuseData() = 0; 00065 00066 virtual int GetDiffuseStride() = 0; 00067 00068 virtual unsigned int* GetSpecularData() = 0; 00069 00070 virtual int GetSpecularStride() = 0; 00071 00072 virtual float* GetUVData( 00073 int textureSet 00074 ) = 0; 00075 00076 virtual int GetUVStride( 00077 int textureSet 00078 ) = 0; 00079 00080 00081 00082 }; 00083 00084 #endif /* __Platform_3D_VertexBuffer_H__ */
Reproduction/republishing of any material on this site without permission is strictly prohibited.
