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*/ S32 getNumPasses() { return 1; } 00059 /*virtual*/ void renderForSelect(); 00060 /*virtual*/ BOOL verify() const; 00061 /*virtual*/ LLViewerImage *getTexture(); 00062 /*virtual*/ LLViewerImage *getDebugTexture(); 00063 /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display 00064 00065 static S32 sDiffTex; 00066 00067 private: 00068 void renderTree(BOOL selecting = FALSE); 00069 }; 00070 00071 #endif // LL_LLDRAWPOOLTREE_H