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 class LLGLSLShader;
00040 
00041 class LLDrawPoolSky : public LLFacePool
00042 {
00043 private:
00044         LLSkyTex                        *mSkyTex;
00045         LLHeavenBody            *mHB[2]; // Sun and Moon
00046         LLGLSLShader            *mShader;
00047 
00048 public:
00049         enum
00050         {
00051                 VERTEX_DATA_MASK =      LLVertexBuffer::MAP_VERTEX |
00052                                                         LLVertexBuffer::MAP_TEXCOORD
00053         };
00054 
00055         virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; }
00056 
00057         LLDrawPoolSky();
00058 
00059         /*virtual*/ LLDrawPool *instancePool();
00060 
00061         /*virtual*/ void prerender();
00062         /*virtual*/ void render(S32 pass = 0);
00063         /*virtual*/ void renderForSelect();
00064         /*virtual*/ void endRenderPass(S32 pass);
00065         void setSkyTex(LLSkyTex* const st) { mSkyTex = st; }
00066         void setSun(LLHeavenBody* sun_flag) { mHB[0] = sun_flag; }
00067         void setMoon(LLHeavenBody* moon) { mHB[1] = moon; }
00068 
00069         void renderSkyCubeFace(U8 side);
00070         void renderHeavenlyBody(U8 hb, LLFace* face);
00071         void renderSunHalo(LLFace* face);
00072 
00073 };
00074 
00075 #endif // LL_LLDRAWPOOLSKY_H

Generated on Fri May 16 08:33:19 2008 for SecondLife by  doxygen 1.5.5