aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/lldrawpoolalpha.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/lldrawpoolalpha.h58
1 files changed, 23 insertions, 35 deletions
diff --git a/linden/indra/newview/lldrawpoolalpha.h b/linden/indra/newview/lldrawpoolalpha.h
index ba58a7f..f7012d6 100644
--- a/linden/indra/newview/lldrawpoolalpha.h
+++ b/linden/indra/newview/lldrawpoolalpha.h
@@ -29,55 +29,43 @@
29#define LL_LLDRAWPOOLALPHA_H 29#define LL_LLDRAWPOOLALPHA_H
30 30
31#include "lldrawpool.h" 31#include "lldrawpool.h"
32#include "llviewerimage.h"
33#include "llframetimer.h" 32#include "llframetimer.h"
34 33
35class LLFace; 34class LLFace;
36class LLColor4; 35class LLColor4;
37 36
38class LLDrawPoolAlpha: public LLDrawPool 37class LLDrawPoolAlpha: public LLRenderPass
39{ 38{
40public: 39public:
41 LLDrawPoolAlpha();
42 /*virtual*/ ~LLDrawPoolAlpha();
43
44 /*virtual*/ LLDrawPool *instancePool();
45
46 /*virtual*/ void beginRenderPass(S32 pass = 0);
47 /*virtual*/ void render(S32 pass = 0);
48 /*virtual*/ void renderFaceSelected(LLFace *facep, LLImageGL *image, const LLColor4 &color,
49 const S32 index_offset = 0, const S32 index_count = 0);
50 /*virtual*/ void prerender();
51 /*virtual*/ void renderForSelect();
52
53 /*virtual*/ void enqueue(LLFace *face);
54 /*virtual*/ BOOL removeFace(LLFace *face);
55 /*virtual*/ void resetDrawOrders();
56
57 /*virtual*/ void enableShade();
58 /*virtual*/ void disableShade();
59 /*virtual*/ void setShade(F32 shade);
60
61
62 virtual S32 getMaterialAttribIndex();
63
64 BOOL mRebuiltLastFrame;
65 enum 40 enum
66 { 41 {
67 NUM_ALPHA_BINS = 1024 42 VERTEX_DATA_MASK = LLVertexBuffer::MAP_VERTEX |
43 LLVertexBuffer::MAP_NORMAL |
44 LLVertexBuffer::MAP_COLOR |
45 LLVertexBuffer::MAP_TEXCOORD
68 }; 46 };
47 virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; }
48
49 LLDrawPoolAlpha(U32 type = LLDrawPool::POOL_ALPHA);
50 /*virtual*/ ~LLDrawPoolAlpha();
69 51
70 /*virtual*/ BOOL verify() const; 52 /*virtual*/ void beginRenderPass(S32 pass = 0);
71 /*virtual*/ LLViewerImage *getDebugTexture(); 53 virtual void render(S32 pass = 0);
72 /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display 54 void render(std::vector<LLSpatialGroup*>& groups);
55 /*virtual*/ void prerender();
73 56
57 void renderGroupAlpha(LLSpatialGroup* group, U32 type, U32 mask, BOOL texture = TRUE);
58 void renderAlpha(U32 mask, std::vector<LLSpatialGroup*>& groups);
59 void renderAlphaHighlight(U32 mask, std::vector<LLSpatialGroup*>& groups);
60
74 static BOOL sShowDebugAlpha; 61 static BOOL sShowDebugAlpha;
75protected: 62};
76 F32 mMinDistance;
77 F32 mMaxDistance;
78 F32 mInvBinSize;
79 63
80 LLDynamicArray<LLFace*> mDistanceBins[NUM_ALPHA_BINS]; 64class LLDrawPoolAlphaPostWater : public LLDrawPoolAlpha
65{
66public:
67 LLDrawPoolAlphaPostWater();
68 virtual void render(S32 pass = 0);
81}; 69};
82 70
83#endif // LL_LLDRAWPOOLALPHA_H 71#endif // LL_LLDRAWPOOLALPHA_H