00001 00032 #ifndef LL_LLDRAWPOOLSIMPLE_H 00033 #define LL_LLDRAWPOOLSIMPLE_H 00034 00035 #include "lldrawpool.h" 00036 00037 class LLDrawPoolSimple : public LLRenderPass 00038 { 00039 public: 00040 enum 00041 { 00042 VERTEX_DATA_MASK = LLVertexBuffer::MAP_VERTEX | 00043 LLVertexBuffer::MAP_NORMAL | 00044 LLVertexBuffer::MAP_TEXCOORD | 00045 LLVertexBuffer::MAP_COLOR 00046 }; 00047 virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; } 00048 00049 LLDrawPoolSimple(); 00050 00051 /*virtual*/ void beginRenderPass(S32 pass); 00052 /*virtual*/ void endRenderPass(S32 pass); 00054 /*virtual*/ S32 getNumPasses() { return 1; } 00055 /*virtual*/ void render(S32 pass = 0); 00056 /*virtual*/ void prerender(); 00057 00058 }; 00059 00060 class LLDrawPoolGlow : public LLRenderPass 00061 { 00062 public: 00063 LLDrawPoolGlow(): LLRenderPass(LLDrawPool::POOL_GLOW) { } 00064 00065 enum 00066 { 00067 VERTEX_DATA_MASK = LLVertexBuffer::MAP_VERTEX | 00068 LLVertexBuffer::MAP_TEXCOORD 00069 }; 00070 00071 virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; } 00072 00073 virtual void prerender() { } 00074 00075 void render(S32 pass = 0); 00076 void pushBatch(LLDrawInfo& params, U32 mask, BOOL texture = TRUE); 00077 00078 }; 00079 00080 #endif // LL_LLDRAWPOOLSIMPLE_H