diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llvosurfacepatch.h | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/linden/indra/newview/llvosurfacepatch.h b/linden/indra/newview/llvosurfacepatch.h index 3549571..75d57cb 100644 --- a/linden/indra/newview/llvosurfacepatch.h +++ b/linden/indra/newview/llvosurfacepatch.h | |||
@@ -35,9 +35,19 @@ class LLSurfacePatch; | |||
35 | class LLDrawPool; | 35 | class LLDrawPool; |
36 | class LLVector2; | 36 | class LLVector2; |
37 | 37 | ||
38 | class LLVOSurfacePatch : public LLViewerObject | 38 | class LLVOSurfacePatch : public LLStaticViewerObject |
39 | { | 39 | { |
40 | public: | 40 | public: |
41 | enum | ||
42 | { | ||
43 | VERTEX_DATA_MASK = (1 << LLVertexBuffer::TYPE_VERTEX) | | ||
44 | (1 << LLVertexBuffer::TYPE_NORMAL) | | ||
45 | (1 << LLVertexBuffer::TYPE_TEXCOORD) | | ||
46 | (1 << LLVertexBuffer::TYPE_TEXCOORD2) | | ||
47 | (1 << LLVertexBuffer::TYPE_COLOR) | ||
48 | } | ||
49 | eVertexDataMask; | ||
50 | |||
41 | LLVOSurfacePatch(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); | 51 | LLVOSurfacePatch(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); |
42 | virtual ~LLVOSurfacePatch(); | 52 | virtual ~LLVOSurfacePatch(); |
43 | 53 | ||
@@ -46,8 +56,18 @@ public: | |||
46 | // Initialize data that's only inited once per class. | 56 | // Initialize data that's only inited once per class. |
47 | static void initClass(); | 57 | static void initClass(); |
48 | 58 | ||
59 | virtual U32 getPartitionType() const; | ||
60 | |||
49 | /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline); | 61 | /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline); |
50 | /*virtual*/ BOOL updateGeometry(LLDrawable *drawable); | 62 | /*virtual*/ BOOL updateGeometry(LLDrawable *drawable); |
63 | /*virtual*/ BOOL updateLOD(); | ||
64 | /*virtual*/ void updateFaceSize(S32 idx); | ||
65 | void getGeometry(LLStrider<LLVector3> &verticesp, | ||
66 | LLStrider<LLVector3> &normalsp, | ||
67 | LLStrider<LLColor4U> &colorsp, | ||
68 | LLStrider<LLVector2> &texCoords0p, | ||
69 | LLStrider<LLVector2> &texCoords1p, | ||
70 | LLStrider<U32> &indicesp); | ||
51 | 71 | ||
52 | /*virtual*/ void updateTextures(LLAgent &agent); | 72 | /*virtual*/ void updateTextures(LLAgent &agent); |
53 | /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent); // generate accurate apparent angle and area | 73 | /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent); // generate accurate apparent angle and area |
@@ -63,8 +83,8 @@ public: | |||
63 | 83 | ||
64 | BOOL mDirtiedPatch; | 84 | BOOL mDirtiedPatch; |
65 | protected: | 85 | protected: |
66 | LLDrawPool *mPool; | 86 | LLFacePool *mPool; |
67 | LLDrawPool *getPool(); | 87 | LLFacePool *getPool(); |
68 | S32 mBaseComp; | 88 | S32 mBaseComp; |
69 | LLSurfacePatch *mPatchp; | 89 | LLSurfacePatch *mPatchp; |
70 | BOOL mDirtyTexture; | 90 | BOOL mDirtyTexture; |
@@ -89,24 +109,24 @@ protected: | |||
89 | LLStrider<LLColor4U> &colorsp, | 109 | LLStrider<LLColor4U> &colorsp, |
90 | LLStrider<LLVector2> &texCoords0p, | 110 | LLStrider<LLVector2> &texCoords0p, |
91 | LLStrider<LLVector2> &texCoords1p, | 111 | LLStrider<LLVector2> &texCoords1p, |
92 | U32* &indicesp, | 112 | LLStrider<U32> &indicesp, |
93 | S32 &index_offset); | 113 | U32 &index_offset); |
94 | void updateNorthGeometry(LLFace *facep, | 114 | void updateNorthGeometry(LLFace *facep, |
95 | LLStrider<LLVector3> &verticesp, | 115 | LLStrider<LLVector3> &verticesp, |
96 | LLStrider<LLVector3> &normalsp, | 116 | LLStrider<LLVector3> &normalsp, |
97 | LLStrider<LLColor4U> &colorsp, | 117 | LLStrider<LLColor4U> &colorsp, |
98 | LLStrider<LLVector2> &texCoords0p, | 118 | LLStrider<LLVector2> &texCoords0p, |
99 | LLStrider<LLVector2> &texCoords1p, | 119 | LLStrider<LLVector2> &texCoords1p, |
100 | U32* &indicesp, | 120 | LLStrider<U32> &indicesp, |
101 | S32 &index_offset); | 121 | U32 &index_offset); |
102 | void updateEastGeometry(LLFace *facep, | 122 | void updateEastGeometry(LLFace *facep, |
103 | LLStrider<LLVector3> &verticesp, | 123 | LLStrider<LLVector3> &verticesp, |
104 | LLStrider<LLVector3> &normalsp, | 124 | LLStrider<LLVector3> &normalsp, |
105 | LLStrider<LLColor4U> &colorsp, | 125 | LLStrider<LLColor4U> &colorsp, |
106 | LLStrider<LLVector2> &texCoords0p, | 126 | LLStrider<LLVector2> &texCoords0p, |
107 | LLStrider<LLVector2> &texCoords1p, | 127 | LLStrider<LLVector2> &texCoords1p, |
108 | U32* &indicesp, | 128 | LLStrider<U32> &indicesp, |
109 | S32 &index_offset); | 129 | U32 &index_offset); |
110 | }; | 130 | }; |
111 | 131 | ||
112 | #endif // LL_VOSURFACEPATCH_H | 132 | #endif // LL_VOSURFACEPATCH_H |