aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llrender/llvertexbuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llrender/llvertexbuffer.h')
-rw-r--r--linden/indra/llrender/llvertexbuffer.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/linden/indra/llrender/llvertexbuffer.h b/linden/indra/llrender/llvertexbuffer.h
index 3031b2d..453f3ac 100644
--- a/linden/indra/llrender/llvertexbuffer.h
+++ b/linden/indra/llrender/llvertexbuffer.h
@@ -84,6 +84,7 @@ public:
84 84
85 static void initClass(bool use_vbo); 85 static void initClass(bool use_vbo);
86 static void cleanupClass(); 86 static void cleanupClass();
87 static void setupClientArrays(U32 data_mask);
87 static void startRender(); //between start and stop render, no client copies will occur 88 static void startRender(); //between start and stop render, no client copies will occur
88 static void stopRender(); //any buffer not copied to GL will be rendered from client memory 89 static void stopRender(); //any buffer not copied to GL will be rendered from client memory
89 static void clientCopy(F64 max_time = 0.005); //copy data from client to GL 90 static void clientCopy(F64 max_time = 0.005); //copy data from client to GL
@@ -123,6 +124,15 @@ public:
123 MAP_UNMAPPED = 0x8000 // Indicates that buffer has been logically un-mapped 124 MAP_UNMAPPED = 0x8000 // Indicates that buffer has been logically un-mapped
124 }; 125 };
125 126
127 enum {
128 TRIANGLES = 0,
129 TRIANGLE_STRIP,
130 TRIANGLE_FAN,
131 POINTS,
132 LINES,
133 LINE_STRIP,
134 NUM_MODES
135 };
126protected: 136protected:
127 friend class LLGLImmediate; 137 friend class LLGLImmediate;
128 138
@@ -194,6 +204,9 @@ public:
194 204
195 void markDirty(U32 vert_index, U32 vert_count, U32 indices_index, U32 indices_count); 205 void markDirty(U32 vert_index, U32 vert_count, U32 indices_index, U32 indices_count);
196 206
207 void draw(U32 mode, U32 count, U32 indices_offset) const;
208 void drawRange(U32 mode, U32 start, U32 end, U32 count, U32 indices_offset) const;
209
197protected: 210protected:
198 S32 mNumVerts; // Number of vertices allocated 211 S32 mNumVerts; // Number of vertices allocated
199 S32 mNumIndices; // Number of indices allocated 212 S32 mNumIndices; // Number of indices allocated
@@ -241,6 +254,7 @@ public:
241 254
242 static BOOL sEnableVBOs; 255 static BOOL sEnableVBOs;
243 static S32 sTypeOffsets[TYPE_MAX]; 256 static S32 sTypeOffsets[TYPE_MAX];
257 static U32 sGLMode[NUM_MODES];
244 static U32 sGLRenderBuffer; 258 static U32 sGLRenderBuffer;
245 static U32 sGLRenderIndices; 259 static U32 sGLRenderIndices;
246 static BOOL sVBOActive; 260 static BOOL sVBOActive;