00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef CAELUM_HEADER__PRIVATE_UTILITIES_H
00022 #define CAELUM_HEADER__PRIVATE_UTILITIES_H
00023
00024 #include "CaelumPrerequisites.h"
00025 #include "PrivatePtr.h"
00026
00027 namespace Caelum
00028 {
00033 class CAELUM_EXPORT InternalUtilities
00034 {
00035 public:
00048 static Ogre::ColourValue getInterpolatedColour (
00049 float fx,
00050 float fy,
00051 Ogre::Image *img,
00052 bool wrapX = true);
00053
00056 static const Ogre::String pointerToString(void* pointer);
00057
00071 static Ogre::MaterialPtr checkLoadMaterialClone (
00072 const Ogre::String& originalName,
00073 const Ogre::String& cloneName);
00074
00083 static Ogre::CompositorPtr checkCompositorSupported (const Ogre::String& name);
00084
00085 public:
00088 enum DomeType {
00089 DT_SKY_DOME,
00090 DT_IMAGE_STARFIELD,
00091 };
00092
00099 static void generateSphericDome (const Ogre::String &name, int segments, DomeType domeType);
00100
00101 private:
00107 static void fillGradientsDomeBuffers (float *pVertex, unsigned short *pIndices, int segments);
00108
00114 static void fillStarfieldDomeBuffers (float *pVertex, unsigned short *pIndices, int segments);
00115 };
00116 }
00117
00118 #endif // CAELUM_HEADER__PRIVATE_UTILITIES_H