lldrawpoolterrain.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLDRAWPOOLTERRAIN_H
00033 #define LL_LLDRAWPOOLTERRAIN_H
00034 
00035 #include "lldrawpool.h"
00036 
00037 class LLDrawPoolTerrain : 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                                                         LLVertexBuffer::MAP_TEXCOORD2 |
00047                                                         LLVertexBuffer::MAP_COLOR
00048         };
00049 
00050         virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; }
00051         static S32 getDetailMode();
00052 
00053         LLDrawPoolTerrain(LLViewerImage *texturep);
00054         virtual ~LLDrawPoolTerrain();
00055 
00056         /*virtual*/ LLDrawPool *instancePool();
00057 
00058 
00059         /*virtual*/ void render(S32 pass = 0);
00060         /*virtual*/ void prerender();
00061         /*virtual*/ void renderForSelect();
00062         /*virtual*/ void dirtyTextures(const std::set<LLViewerImage*>& textures);
00063         /*virtual*/ LLViewerImage *getTexture();
00064         /*virtual*/ LLViewerImage *getDebugTexture();
00065         /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display
00066 
00067         LLPointer<LLViewerImage> mAlphaRampImagep;
00068         LLPointer<LLViewerImage> m2DAlphaRampImagep;
00069         LLPointer<LLViewerImage> mAlphaNoiseImagep;
00070 
00071         virtual S32 getMaterialAttribIndex();
00072 
00073         static S32 sDetailMode;
00074         static F32 sDetailScale; // meters per texture
00075 protected:
00076         void renderSimple();
00077         void renderOwnership();
00078 
00079         void renderFull2TU();
00080         void renderFull4TU();
00081         void renderFull4TUShader();
00082 };
00083 
00084 #endif // LL_LLDRAWPOOLSIMPLE_H

Generated on Thu Jul 1 06:08:27 2010 for Second Life Viewer by  doxygen 1.4.7