summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawpoolalpha.h
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2007-03-02 21:25:50 +0000
committerSteven Bennetts <steve@lindenlab.com>2007-03-02 21:25:50 +0000
commit4dabd9c0472deb49573fdafef2fa413e59703f19 (patch)
tree06c680d6a2047e03838d6548bccd26c7baf9d652 /indra/newview/lldrawpoolalpha.h
parentd4462963c6ba5db2088723bbedc7b60f1184c594 (diff)
merge release@58699 beta-1-14-0@58707 -> release
Diffstat (limited to 'indra/newview/lldrawpoolalpha.h')
-rw-r--r--indra/newview/lldrawpoolalpha.h58
1 files changed, 23 insertions, 35 deletions
diff --git a/indra/newview/lldrawpoolalpha.h b/indra/newview/lldrawpoolalpha.h
index 6f24959e50..e33bbacd82 100644
--- a/indra/newview/lldrawpoolalpha.h
+++ b/indra/newview/lldrawpoolalpha.h
@@ -10,55 +10,43 @@
#define LL_LLDRAWPOOLALPHA_H
#include "lldrawpool.h"
-#include "llviewerimage.h"
#include "llframetimer.h"
class LLFace;
class LLColor4;
-class LLDrawPoolAlpha: public LLDrawPool
+class LLDrawPoolAlpha: public LLRenderPass
{
public:
- LLDrawPoolAlpha();
- /*virtual*/ ~LLDrawPoolAlpha();
-
- /*virtual*/ LLDrawPool *instancePool();
-
- /*virtual*/ void beginRenderPass(S32 pass = 0);
- /*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*/ void enqueue(LLFace *face);
- /*virtual*/ BOOL removeFace(LLFace *face);
- /*virtual*/ void resetDrawOrders();
-
- /*virtual*/ void enableShade();
- /*virtual*/ void disableShade();
- /*virtual*/ void setShade(F32 shade);
-
-
- virtual S32 getMaterialAttribIndex();
-
- BOOL mRebuiltLastFrame;
enum
{
- NUM_ALPHA_BINS = 1024
+ VERTEX_DATA_MASK = LLVertexBuffer::MAP_VERTEX |
+ LLVertexBuffer::MAP_NORMAL |
+ LLVertexBuffer::MAP_COLOR |
+ LLVertexBuffer::MAP_TEXCOORD
};
+ virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; }
+
+ LLDrawPoolAlpha(U32 type = LLDrawPool::POOL_ALPHA);
+ /*virtual*/ ~LLDrawPoolAlpha();
- /*virtual*/ BOOL verify() const;
- /*virtual*/ LLViewerImage *getDebugTexture();
- /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display
+ /*virtual*/ void beginRenderPass(S32 pass = 0);
+ virtual void render(S32 pass = 0);
+ void render(std::vector<LLSpatialGroup*>& groups);
+ /*virtual*/ void prerender();
+ void renderGroupAlpha(LLSpatialGroup* group, U32 type, U32 mask, BOOL texture = TRUE);
+ void renderAlpha(U32 mask, std::vector<LLSpatialGroup*>& groups);
+ void renderAlphaHighlight(U32 mask, std::vector<LLSpatialGroup*>& groups);
+
static BOOL sShowDebugAlpha;
-protected:
- F32 mMinDistance;
- F32 mMaxDistance;
- F32 mInvBinSize;
+};
- LLDynamicArray<LLFace*> mDistanceBins[NUM_ALPHA_BINS];
+class LLDrawPoolAlphaPostWater : public LLDrawPoolAlpha
+{
+public:
+ LLDrawPoolAlphaPostWater();
+ virtual void render(S32 pass = 0);
};
#endif // LL_LLDRAWPOOLALPHA_H