lldrawpoolalpha.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLDRAWPOOLALPHA_H
00033 #define LL_LLDRAWPOOLALPHA_H
00034 
00035 #include "lldrawpool.h"
00036 #include "llframetimer.h"
00037 
00038 class LLFace;
00039 class LLColor4;
00040 
00041 class LLDrawPoolAlpha: public LLRenderPass
00042 {
00043 public:
00044         enum
00045         {
00046                 VERTEX_DATA_MASK =      LLVertexBuffer::MAP_VERTEX |
00047                                                         LLVertexBuffer::MAP_NORMAL |
00048                                                         LLVertexBuffer::MAP_COLOR |
00049                                                         LLVertexBuffer::MAP_TEXCOORD
00050         };
00051         virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; }
00052 
00053         LLDrawPoolAlpha(U32 type = LLDrawPool::POOL_ALPHA);
00054         /*virtual*/ ~LLDrawPoolAlpha();
00055 
00056         /*virtual*/ void beginRenderPass(S32 pass = 0);
00057         virtual void render(S32 pass = 0);
00058         void render(std::vector<LLSpatialGroup*>& groups);
00059         /*virtual*/ void prerender();
00060 
00061         void renderGroupAlpha(LLSpatialGroup* group, U32 type, U32 mask, BOOL texture = TRUE);
00062         void renderAlpha(U32 mask, std::vector<LLSpatialGroup*>& groups);
00063         void renderAlphaHighlight(U32 mask, std::vector<LLSpatialGroup*>& groups);
00064         
00065         static BOOL sShowDebugAlpha;
00066 };
00067 
00068 class LLDrawPoolAlphaPostWater : public LLDrawPoolAlpha
00069 {
00070 public:
00071         LLDrawPoolAlphaPostWater();
00072         virtual void render(S32 pass = 0);
00073 };
00074 
00075 #endif // LL_LLDRAWPOOLALPHA_H

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