lldrawpoolsky.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLDRAWPOOLSKY_H
00033 #define LL_LLDRAWPOOLSKY_H
00034 
00035 #include "lldrawpool.h"
00036 
00037 class LLSkyTex;
00038 class LLHeavenBody;
00039 
00040 class LLDrawPoolSky : public LLFacePool
00041 {
00042 private:
00043         LLSkyTex                        *mSkyTex;
00044         LLHeavenBody            *mHB[2]; // Sun and Moon
00045 
00046 public:
00047         enum
00048         {
00049                 VERTEX_DATA_MASK =      LLVertexBuffer::MAP_VERTEX |
00050                                                         LLVertexBuffer::MAP_TEXCOORD
00051         };
00052 
00053         virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; }
00054 
00055         LLDrawPoolSky();
00056 
00057         /*virtual*/ LLDrawPool *instancePool();
00058 
00059         /*virtual*/ void prerender();
00060         /*virtual*/ void render(S32 pass = 0);
00061         /*virtual*/ void renderForSelect();
00062         void setSkyTex(LLSkyTex* const st) { mSkyTex = st; }
00063         void setSun(LLHeavenBody* sun_flag) { mHB[0] = sun_flag; }
00064         void setMoon(LLHeavenBody* moon) { mHB[1] = moon; }
00065 
00066         void renderSkyCubeFace(U8 side);
00067         void renderHeavenlyBody(U8 hb, LLFace* face);
00068         void renderSunHalo(LLFace* face);
00069 
00070         virtual S32 getMaterialAttribIndex() { return 0; }
00071 };
00072 
00073 #endif // LL_LLDRAWPOOLSKY_H

Generated on Thu Jul 1 06:08:26 2010 for Second Life Viewer by  doxygen 1.4.7