00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef CYBGLCYLINDERC_H
00028 #define CYBGLCYLINDERC_H
00029
00030 #include "oaw/ctk/cybcylinderc.h"
00031 #include "../oawconfig.h"
00032
00033 OAW_BEGIN_NAMESPACE
00034
00035
00036
00037 typedef struct _CylinderVertex
00038 {
00039 Vector3C n;
00040 Vector3C p;
00041
00042 Vector2C tside;
00043 Vector2C tcap;
00044 } CylinderVertex;
00045
00046
00047
00048 class OAW_DLLMAPPING CybGLCylinderC : public CybCylinderC
00049 {
00050 public:
00051 CybGLCylinderC(CybWorldC*);
00052 CybGLCylinderC(const CybGLCylinderC&);
00053 CybGLCylinderC& operator = (const CybGLCylinderC&);
00054 virtual ~CybGLCylinderC();
00055
00056
00057 virtual void FinishInit();
00058 virtual void ToChannelDefault(CybChannelC *pChannel, long lFlag);
00059 virtual void ToChannelTexture(CybChannelC *pChannel, long lFlag);
00060
00061 protected:
00062 void PrepareRender();
00063
00064 protected:
00065 static long m_lPhic;
00066
00067 static CylinderVertex *m_pVertices;
00068 static GLuint *m_pTopIndices;
00069 static GLuint *m_pBottomIndices;
00070 static long m_lNumVertices;
00071 static long m_lNumIndices;
00072 static long m_lInstanceCount;
00073 };
00074
00075 OAW_END_NAMESPACE
00076
00077
00078 #endif
00079
00080
00081
00082