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
00028 #ifndef CYBGLSPHEREC_H
00029 #define CYBGLSPHEREC_H
00030
00031 #include <GL/glut.h>
00032
00033 #include "oaw/ctk/cybspherec.h"
00034 #include "../oawconfig.h"
00035
00036 OAW_BEGIN_NAMESPACE
00037
00038
00039
00040 typedef struct _SphereVertex
00041 {
00042 Vector3C n;
00043 Vector3C p;
00044 double u, v;
00045 } SphereVertex;
00046
00047
00048
00049 class OAW_DLLMAPPING CybGLSphereC : public CybSphereC
00050 {
00051 public:
00052 CybGLSphereC(CybWorldC*);
00053 CybGLSphereC(const CybGLSphereC&);
00054 CybGLSphereC&operator=(const CybGLSphereC&);
00055 virtual ~CybGLSphereC();
00056
00057
00058 virtual void FinishInit();
00059 virtual void ToChannelDefault(CybChannelC*, long lFlag);
00060 virtual void ToChannelTexture(CybChannelC*, long lFlag);
00061
00062 protected:
00063 void PrepareRender();
00064
00065 protected:
00066 static long m_lPhic;
00067 static long m_lTetac;
00068
00069 static SphereVertex *m_pVertices;
00070 static GLuint *m_pIndices;
00071 static long m_lNumVertices;
00072 static long m_lNumIndices;
00073 static long m_lInstanceCount;
00074
00075 };
00076
00077 OAW_END_NAMESPACE
00078
00079 #endif
00080
00081
00082
00083