00001 00032 #ifndef LL_LLDRAWPOOLTREE_H 00033 #define LL_LLDRAWPOOLTREE_H 00034 00035 #include "lldrawpool.h" 00036 00037 class LLDrawPoolTree : public LLFacePool 00038 { 00039 LLPointer<LLViewerImage> mTexturep; 00040 public: 00041 enum 00042 { 00043 VERTEX_DATA_MASK = LLVertexBuffer::MAP_VERTEX | 00044 LLVertexBuffer::MAP_NORMAL | 00045 LLVertexBuffer::MAP_TEXCOORD 00046 }; 00047 00048 virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; } 00049 00050 LLDrawPoolTree(LLViewerImage *texturep); 00051 00052 /*virtual*/ LLDrawPool *instancePool(); 00053 00054 /*virtual*/ void prerender(); 00055 /*virtual*/ void beginRenderPass( S32 pass ); 00056 /*virtual*/ void render(S32 pass = 0); 00057 /*virtual*/ void endRenderPass( S32 pass ); 00058 /*virtual*/ void renderForSelect(); 00059 /*virtual*/ BOOL verify() const; 00060 /*virtual*/ LLViewerImage *getTexture(); 00061 /*virtual*/ LLViewerImage *getDebugTexture(); 00062 /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display 00063 00064 virtual S32 getMaterialAttribIndex(); 00065 00066 static S32 sDiffTex; 00067 00068 private: 00069 void renderTree(BOOL selecting = FALSE); 00070 }; 00071 00072 #endif // LL_LLDRAWPOOLTREE_H