diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/lldrawpoolalpha.h | 58 |
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 | ||
35 | class LLFace; | 34 | class LLFace; |
36 | class LLColor4; | 35 | class LLColor4; |
37 | 36 | ||
38 | class LLDrawPoolAlpha: public LLDrawPool | 37 | class LLDrawPoolAlpha: public LLRenderPass |
39 | { | 38 | { |
40 | public: | 39 | public: |
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; |
75 | protected: | 62 | }; |
76 | F32 mMinDistance; | ||
77 | F32 mMaxDistance; | ||
78 | F32 mInvBinSize; | ||
79 | 63 | ||
80 | LLDynamicArray<LLFace*> mDistanceBins[NUM_ALPHA_BINS]; | 64 | class LLDrawPoolAlphaPostWater : public LLDrawPoolAlpha |
65 | { | ||
66 | public: | ||
67 | LLDrawPoolAlphaPostWater(); | ||
68 | virtual void render(S32 pass = 0); | ||
81 | }; | 69 | }; |
82 | 70 | ||
83 | #endif // LL_LLDRAWPOOLALPHA_H | 71 | #endif // LL_LLDRAWPOOLALPHA_H |