00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef GEOMETRYFACTORY_H
00022 #define GEOMETRYFACTORY_H
00023
00024 #include "CaelumPrerequisites.h"
00025
00026 namespace Caelum
00027 {
00030 class CAELUM_EXPORT GeometryFactory
00031 {
00032 public:
00035 enum DomeType {
00036 DT_GRADIENTS,
00037 DT_STARFIELD
00038 };
00039
00040 public:
00047 static void generateSphericDome (const Ogre::String &name, int segments, DomeType type = DT_GRADIENTS);
00048
00049 private:
00055 static void fillGradientsDomeBuffers (float *pVertex, unsigned short *pIndices, int segments);
00056
00062 static void fillStarfieldDomeBuffers (float *pVertex, unsigned short *pIndices, int segments);
00063 };
00064 }
00065
00066 #endif //GEOMETRYFACTORY_H