/** * @file lldrawpoolwater.h * @brief LLDrawPoolWater class definition * * Copyright (c) 2002-$CurrentYear$, Linden Research, Inc. * $License$ */ #ifndef LL_LLDRAWPOOLWATER_H #define LL_LLDRAWPOOLWATER_H #include "lldrawpool.h" class LLFace; class LLHeavenBody; class LLWaterSurface; class LLDrawPoolWater: public LLFacePool { protected: LLPointer mHBTex[2]; LLPointer mWaterImagep; LLPointer mWaterNormp; const LLWaterSurface *mWaterSurface; public: static BOOL sSkipScreenCopy; enum { VERTEX_DATA_MASK = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD }; virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; } enum { SHADER_LEVEL_RIPPLE = 2, }; LLDrawPoolWater(); /*virtual*/ ~LLDrawPoolWater(); /*virtual*/ LLDrawPool *instancePool(); static void restoreGL(); /*virtual*/ void render(S32 pass = 0); /*virtual*/ void renderFaceSelected(LLFace *facep, LLImageGL *image, const LLColor4 &color, const S32 index_offset = 0, const S32 index_count = 0); /*virtual*/ void prerender(); /*virtual*/ void renderForSelect(); /*virtual*/ LLViewerImage *getDebugTexture(); /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display void renderReflection(LLFace* face); void shade(); void renderShaderSimple(); virtual S32 getMaterialAttribIndex() { return 0; } }; void cgErrorCallback(); #endif // LL_LLDRAWPOOLWATER_H