aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/pipeline.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-09-06 18:24:57 -0500
committerJacek Antonelli2008-09-06 18:25:07 -0500
commit798d367d54a6c6379ad355bd8345fa40e31e7fe9 (patch)
tree1921f1708cd0240648c97bc02df2c2ab5f2fc41e /linden/indra/newview/pipeline.h
parentSecond Life viewer sources 1.20.15 (diff)
downloadmeta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.zip
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.gz
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.bz2
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.xz
Second Life viewer sources 1.21.0-RC
Diffstat (limited to 'linden/indra/newview/pipeline.h')
-rw-r--r--linden/indra/newview/pipeline.h36
1 files changed, 22 insertions, 14 deletions
diff --git a/linden/indra/newview/pipeline.h b/linden/indra/newview/pipeline.h
index 8b032ec..e21d143 100644
--- a/linden/indra/newview/pipeline.h
+++ b/linden/indra/newview/pipeline.h
@@ -65,8 +65,8 @@ typedef enum e_avatar_skinning_method
65 65
66BOOL compute_min_max(LLMatrix4& box, LLVector2& min, LLVector2& max); // Shouldn't be defined here! 66BOOL compute_min_max(LLMatrix4& box, LLVector2& min, LLVector2& max); // Shouldn't be defined here!
67bool LLRayAABB(const LLVector3 &center, const LLVector3 &size, const LLVector3& origin, const LLVector3& dir, LLVector3 &coord, F32 epsilon = 0); 67bool LLRayAABB(const LLVector3 &center, const LLVector3 &size, const LLVector3& origin, const LLVector3& dir, LLVector3 &coord, F32 epsilon = 0);
68BOOL LLLineSegmentAABB(const LLVector3& start, const LLVector3& end, const LLVector3& center, const LLVector3& size); 68BOOL setup_hud_matrices(); // use whole screen to render hud
69BOOL setup_hud_matrices(BOOL for_select); 69BOOL setup_hud_matrices(const LLRect& screen_region); // specify portion of screen (in pixels) to render hud attachments from (for picking)
70glh::matrix4f glh_copy_matrix(GLdouble* src); 70glh::matrix4f glh_copy_matrix(GLdouble* src);
71glh::matrix4f glh_get_current_modelview(); 71glh::matrix4f glh_get_current_modelview();
72void glh_set_current_modelview(const glh::matrix4f& mat); 72void glh_set_current_modelview(const glh::matrix4f& mat);
@@ -129,8 +129,21 @@ public:
129 void markTextured(LLDrawable *drawablep); 129 void markTextured(LLDrawable *drawablep);
130 void markRebuild(LLDrawable *drawablep, LLDrawable::EDrawableFlags flag = LLDrawable::REBUILD_ALL, BOOL priority = FALSE); 130 void markRebuild(LLDrawable *drawablep, LLDrawable::EDrawableFlags flag = LLDrawable::REBUILD_ALL, BOOL priority = FALSE);
131 131
132 //get the object between start and end that's closest to start. Return the point of collision in collision. 132 //get the object between start and end that's closest to start.
133 LLViewerObject* pickObject(const LLVector3 &start, const LLVector3 &end, LLVector3 &collision); 133 LLViewerObject* lineSegmentIntersectInWorld(const LLVector3& start, const LLVector3& end,
134 S32* face_hit, // return the face hit
135 LLVector3* intersection = NULL, // return the intersection point
136 LLVector2* tex_coord = NULL, // return the texture coordinates of the intersection point
137 LLVector3* normal = NULL, // return the surface normal at the intersection point
138 LLVector3* bi_normal = NULL // return the surface bi-normal at the intersection point
139 );
140 LLViewerObject* lineSegmentIntersectInHUD(const LLVector3& start, const LLVector3& end,
141 S32* face_hit, // return the face hit
142 LLVector3* intersection = NULL, // return the intersection point
143 LLVector2* tex_coord = NULL, // return the texture coordinates of the intersection point
144 LLVector3* normal = NULL, // return the surface normal at the intersection point
145 LLVector3* bi_normal = NULL // return the surface bi-normal at the intersection point
146 );
134 147
135 // Something about these textures has changed. Dirty them. 148 // Something about these textures has changed. Dirty them.
136 void dirtyPoolObjectTextures(const std::set<LLViewerImage*>& textures); 149 void dirtyPoolObjectTextures(const std::set<LLViewerImage*>& textures);
@@ -185,8 +198,7 @@ public:
185 void renderHighlights(); 198 void renderHighlights();
186 void renderDebug(); 199 void renderDebug();
187 200
188 void renderForSelect(std::set<LLViewerObject*>& objects); 201 void renderForSelect(std::set<LLViewerObject*>& objects, BOOL render_transparent, const LLRect& screen_rect);
189 void renderFaceForUVSelect(LLFace* facep);
190 void rebuildPools(); // Rebuild pools 202 void rebuildPools(); // Rebuild pools
191 203
192 void findReferences(LLDrawable *drawablep); // Find the lists which have references to this object 204 void findReferences(LLDrawable *drawablep); // Find the lists which have references to this object
@@ -261,8 +273,6 @@ public:
261 static void toggleRenderHighlights(void* data); 273 static void toggleRenderHighlights(void* data);
262 static BOOL getRenderHighlights(void* data); 274 static BOOL getRenderHighlights(void* data);
263 275
264 static BOOL getProcessBeacons(void* data);
265
266private: 276private:
267 void unloadShaders(); 277 void unloadShaders();
268 void addToQuickLookup( LLDrawPool* new_poolp ); 278 void addToQuickLookup( LLDrawPool* new_poolp );
@@ -329,7 +339,8 @@ public:
329 RENDER_DEBUG_TEXTURE_ANIM = 0x080000, 339 RENDER_DEBUG_TEXTURE_ANIM = 0x080000,
330 RENDER_DEBUG_LIGHTS = 0x100000, 340 RENDER_DEBUG_LIGHTS = 0x100000,
331 RENDER_DEBUG_BATCH_SIZE = 0x200000, 341 RENDER_DEBUG_BATCH_SIZE = 0x200000,
332 RENDER_DEBUG_SHAME = 0x400000, 342 RENDER_DEBUG_RAYCAST = 0x400000,
343 RENDER_DEBUG_SHAME = 0x800000
333 }; 344 };
334 345
335public: 346public:
@@ -376,6 +387,8 @@ public:
376 static BOOL sRenderGlow; 387 static BOOL sRenderGlow;
377 static BOOL sTextureBindTest; 388 static BOOL sTextureBindTest;
378 static BOOL sRenderFrameTest; 389 static BOOL sRenderFrameTest;
390 static BOOL sRenderAttachedLights;
391 static BOOL sRenderAttachedParticles;
379 392
380 //screen texture 393 //screen texture
381 LLRenderTarget mScreen; 394 LLRenderTarget mScreen;
@@ -390,10 +403,6 @@ public:
390 403
391 //texture for making the glow 404 //texture for making the glow
392 LLRenderTarget mGlow[3]; 405 LLRenderTarget mGlow[3];
393
394 //framebuffer objects for off-screen scratch space
395 //GLuint mFramebuffer[4];
396 //GLuint mDepthbuffer[2];
397 406
398 //dynamic cube map scratch space 407 //dynamic cube map scratch space
399 LLPointer<LLCubeMap> mCubeBuffer; 408 LLPointer<LLCubeMap> mCubeBuffer;
@@ -539,7 +548,6 @@ protected:
539public: 548public:
540 static BOOL sRenderBeacons; 549 static BOOL sRenderBeacons;
541 static BOOL sRenderHighlight; 550 static BOOL sRenderHighlight;
542 static BOOL sRenderProcessBeacons;
543}; 551};
544 552
545void render_bbox(const LLVector3 &min, const LLVector3 &max); 553void render_bbox(const LLVector3 &min, const LLVector3 &max);