diff options
Diffstat (limited to 'indra/newview')
35 files changed, 62 insertions, 626 deletions
| diff --git a/indra/newview/lldrawpool.h b/indra/newview/lldrawpool.h index e394aeaaf1..1d6f99d346 100644 --- a/indra/newview/lldrawpool.h +++ b/indra/newview/lldrawpool.h @@ -168,7 +168,6 @@ public:  	LLFacePool(const U32 type);  	virtual ~LLFacePool(); -	virtual void renderForSelect() = 0;  	BOOL isDead() { return mReferences.empty(); }  	virtual LLViewerTexture *getTexture(); diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 8cf4dc1b95..dbd5da31a6 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -743,79 +743,6 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)  	}  } -//----------------------------------------------------------------------------- -// renderForSelect() -//----------------------------------------------------------------------------- -void LLDrawPoolAvatar::renderForSelect() -{ - - -	if (mDrawFace.empty()) -	{ -		return; -	} - -	const LLFace *facep = mDrawFace[0]; -	if (!facep->getDrawable()) -	{ -		return; -	} -	LLVOAvatar *avatarp = (LLVOAvatar *)facep->getDrawable()->getVObj().get(); - -	if (avatarp->isDead() || avatarp->mIsDummy || avatarp->mDrawable.isNull()) -	{ -		return; -	} - -	S32 curr_shader_level = getVertexShaderLevel(); -	S32 name = avatarp->mDrawable->getVObj()->mGLName; -	LLColor4U color((U8)(name >> 16), (U8)(name >> 8), (U8)name); - -	BOOL impostor = avatarp->isImpostor(); -	if (impostor) -	{ -		gGL.getTexUnit(0)->setTextureColorBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_VERT_COLOR); -		gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_TEX_ALPHA, LLTexUnit::TBS_VERT_ALPHA); - -		avatarp->renderImpostor(color); - -		gGL.getTexUnit(0)->setTextureBlendType(LLTexUnit::TB_MULT); -		return; -	} - -	sVertexProgram = &gAvatarPickProgram; -	if (curr_shader_level > 0) -	{ -		gAvatarMatrixParam = sVertexProgram->mUniform[LLViewerShaderMgr::AVATAR_MATRIX]; -	} -	gGL.setAlphaRejectSettings(LLRender::CF_GREATER_EQUAL, 0.2f); -	gGL.setSceneBlendType(LLRender::BT_REPLACE); - -	glColor4ubv(color.mV); - -	if (curr_shader_level > 0)  // for hardware blending -	{ -		sRenderingSkinned = TRUE; -		sVertexProgram->bind(); -		enable_vertex_weighting(sVertexProgram->mAttribute[LLViewerShaderMgr::AVATAR_WEIGHT]); -	} -	 -	avatarp->renderSkinned(AVATAR_RENDER_PASS_SINGLE); - -	// if we're in software-blending, remember to set the fence _after_ we draw so we wait till this rendering is done -	if (curr_shader_level > 0) -	{ -		sRenderingSkinned = FALSE; -		sVertexProgram->unbind(); -		disable_vertex_weighting(sVertexProgram->mAttribute[LLViewerShaderMgr::AVATAR_WEIGHT]); -	} - -	gGL.setAlphaRejectSettings(LLRender::CF_DEFAULT); -	gGL.setSceneBlendType(LLRender::BT_ALPHA); - -	// restore texture mode -	gGL.getTexUnit(0)->setTextureBlendType(LLTexUnit::TB_MULT); -}  //-----------------------------------------------------------------------------  // getDebugTexture() diff --git a/indra/newview/lldrawpoolavatar.h b/indra/newview/lldrawpoolavatar.h index c46fed824e..f536d3c911 100644 --- a/indra/newview/lldrawpoolavatar.h +++ b/indra/newview/lldrawpoolavatar.h @@ -64,7 +64,6 @@ public:  	/*virtual*/ void endRenderPass(S32 pass);  	/*virtual*/ void prerender();  	/*virtual*/ void render(S32 pass = 0); -	/*virtual*/ void renderForSelect();  	/*virtual*/ S32 getNumDeferredPasses();  	/*virtual*/ void beginDeferredPass(S32 pass); diff --git a/indra/newview/lldrawpoolclouds.cpp b/indra/newview/lldrawpoolclouds.cpp index f7da144671..5db1d8cfed 100644 --- a/indra/newview/lldrawpoolclouds.cpp +++ b/indra/newview/lldrawpoolclouds.cpp @@ -95,6 +95,3 @@ void LLDrawPoolClouds::render(S32 pass)  } -void LLDrawPoolClouds::renderForSelect() -{ -} diff --git a/indra/newview/lldrawpoolclouds.h b/indra/newview/lldrawpoolclouds.h index 548720ed9c..019f11a795 100644 --- a/indra/newview/lldrawpoolclouds.h +++ b/indra/newview/lldrawpoolclouds.h @@ -49,7 +49,6 @@ public:  	/*virtual*/ void enqueue(LLFace *face);  	/*virtual*/ void beginRenderPass(S32 pass);  	/*virtual*/ void render(S32 pass = 0); -	/*virtual*/ void renderForSelect();  };  #endif // LL_LLDRAWPOOLSKY_H diff --git a/indra/newview/lldrawpoolground.cpp b/indra/newview/lldrawpoolground.cpp index b4dc0c26a6..ce07e62122 100644 --- a/indra/newview/lldrawpoolground.cpp +++ b/indra/newview/lldrawpoolground.cpp @@ -85,7 +85,3 @@ void LLDrawPoolGround::render(S32 pass)  	glPopMatrix();  } -void LLDrawPoolGround::renderForSelect() -{ -} - diff --git a/indra/newview/lldrawpoolground.h b/indra/newview/lldrawpoolground.h index c6c7cbf964..a4f8a3fcf5 100644 --- a/indra/newview/lldrawpoolground.h +++ b/indra/newview/lldrawpoolground.h @@ -47,7 +47,6 @@ public:  	/*virtual*/ void prerender();  	/*virtual*/ void render(S32 pass = 0); -	/*virtual*/ void renderForSelect();  };  #endif // LL_LLDRAWPOOLGROUND_H diff --git a/indra/newview/lldrawpoolsky.cpp b/indra/newview/lldrawpoolsky.cpp index 9eb45a952c..6b45c5abb0 100644 --- a/indra/newview/lldrawpoolsky.cpp +++ b/indra/newview/lldrawpoolsky.cpp @@ -143,10 +143,6 @@ void LLDrawPoolSky::renderSkyCubeFace(U8 side)  	}  } -void LLDrawPoolSky::renderForSelect() -{ -} -  void LLDrawPoolSky::endRenderPass( S32 pass )  {  } diff --git a/indra/newview/lldrawpoolsky.h b/indra/newview/lldrawpoolsky.h index 15d643c886..098bd2134a 100644 --- a/indra/newview/lldrawpoolsky.h +++ b/indra/newview/lldrawpoolsky.h @@ -58,7 +58,6 @@ public:  	/*virtual*/ void prerender();  	/*virtual*/ void render(S32 pass = 0); -	/*virtual*/ void renderForSelect();  	/*virtual*/ void endRenderPass(S32 pass);  	void setSkyTex(LLSkyTex* const st) { mSkyTex = st; } diff --git a/indra/newview/lldrawpoolterrain.cpp b/indra/newview/lldrawpoolterrain.cpp index 3dede9d8fc..84eeace9c6 100644 --- a/indra/newview/lldrawpoolterrain.cpp +++ b/indra/newview/lldrawpoolterrain.cpp @@ -899,27 +899,6 @@ void LLDrawPoolTerrain::renderOwnership()  } -void LLDrawPoolTerrain::renderForSelect() -{ -	if (mDrawFace.empty()) -	{ -		return; -	} - -	 -	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); - -	for (std::vector<LLFace*>::iterator iter = mDrawFace.begin(); -		 iter != mDrawFace.end(); iter++) -	{ -		LLFace *facep = *iter; -		if (!facep->getDrawable()->isDead() && (facep->getDrawable()->getVObj()->mGLName)) -		{ -			facep->renderForSelect(LLVertexBuffer::MAP_VERTEX); -		} -	} -} -  void LLDrawPoolTerrain::dirtyTextures(const std::set<LLViewerFetchedTexture*>& textures)  {  	LLViewerFetchedTexture* tex = LLViewerTextureManager::staticCastToFetchedTexture(mTexturep) ; diff --git a/indra/newview/lldrawpoolterrain.h b/indra/newview/lldrawpoolterrain.h index 730298609d..3056da44d5 100644 --- a/indra/newview/lldrawpoolterrain.h +++ b/indra/newview/lldrawpoolterrain.h @@ -66,7 +66,6 @@ public:  	/*virtual*/ void prerender();  	/*virtual*/ void beginRenderPass( S32 pass );  	/*virtual*/ void endRenderPass( S32 pass ); -	/*virtual*/ void renderForSelect();  	/*virtual*/ void dirtyTextures(const std::set<LLViewerFetchedTexture*>& textures);  	/*virtual*/ LLViewerTexture *getTexture();  	/*virtual*/ LLViewerTexture *getDebugTexture(); diff --git a/indra/newview/lldrawpooltree.cpp b/indra/newview/lldrawpooltree.cpp index 09cca8b73c..f1198c9a8d 100644 --- a/indra/newview/lldrawpooltree.cpp +++ b/indra/newview/lldrawpooltree.cpp @@ -183,68 +183,6 @@ void LLDrawPoolTree::endShadowPass(S32 pass)  } -void LLDrawPoolTree::renderForSelect() -{ -	if (mDrawFace.empty()) -	{ -		return; -	} - -	LLOverrideFaceColor color(this, 1.f, 1.f, 1.f, 1.f); - -	LLGLSObjectSelectAlpha gls_alpha; -	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); - -	gGL.setSceneBlendType(LLRender::BT_REPLACE); -	gGL.setAlphaRejectSettings(LLRender::CF_GREATER, 0.5f); - -	gGL.getTexUnit(0)->setTextureColorBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_PREV_COLOR); -	gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_TEX_ALPHA, LLTexUnit::TBS_VERT_ALPHA); - -	if (gSavedSettings.getBOOL("RenderAnimateTrees")) -	{ -		renderTree(TRUE); -	} -	else -	{ -		gGL.getTexUnit(sDiffTex)->bind(mTexturep); -				 -		for (std::vector<LLFace*>::iterator iter = mDrawFace.begin(); -			 iter != mDrawFace.end(); iter++) -		{ -			LLFace *face = *iter; -			LLDrawable *drawablep = face->getDrawable(); - -			if (drawablep->isDead() || face->mVertexBuffer.isNull()) -			{ -				continue; -			} - -			// Render each of the trees -			LLVOTree *treep = (LLVOTree *)drawablep->getVObj().get(); - -			LLColor4U color(255,255,255,255); - -			if (treep->mGLName != 0) -			{ -				S32 name = treep->mGLName; -				color = LLColor4U((U8)(name >> 16), (U8)(name >> 8), (U8)name, 255); -				 -				LLFacePool::LLOverrideFaceColor col(this, color); -				 -				face->mVertexBuffer->setBuffer(LLDrawPoolTree::VERTEX_DATA_MASK); -				face->mVertexBuffer->drawRange(LLRender::TRIANGLES, 0, face->mVertexBuffer->getRequestedVerts()-1, face->mVertexBuffer->getRequestedIndices(), 0);  -				gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices()); -			} -		} -	} - -	gGL.setAlphaRejectSettings(LLRender::CF_DEFAULT); -	gGL.setSceneBlendType(LLRender::BT_ALPHA); - -	gGL.getTexUnit(0)->setTextureBlendType(LLTexUnit::TB_MULT); -} -  void LLDrawPoolTree::renderTree(BOOL selecting)  {  	LLGLState normalize(GL_NORMALIZE, TRUE); diff --git a/indra/newview/lldrawpooltree.h b/indra/newview/lldrawpooltree.h index cebe41f75f..ddb259bb82 100644 --- a/indra/newview/lldrawpooltree.h +++ b/indra/newview/lldrawpooltree.h @@ -62,7 +62,6 @@ public:  	/*virtual*/ void render(S32 pass = 0);  	/*virtual*/ void endRenderPass( S32 pass );  	/*virtual*/ S32	 getNumPasses() { return 1; } -	/*virtual*/ void renderForSelect();  	/*virtual*/ BOOL verify() const;  	/*virtual*/ LLViewerTexture *getTexture();  	/*virtual*/ LLViewerTexture *getDebugTexture(); diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 6126908231..0ee70bcdd1 100644 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -591,12 +591,6 @@ void LLDrawPoolWater::shade()  } -void LLDrawPoolWater::renderForSelect() -{ -	// Can't select water! -	return; -} -  LLViewerTexture *LLDrawPoolWater::getDebugTexture()  {  	return LLViewerFetchedTexture::sSmokeImagep; diff --git a/indra/newview/lldrawpoolwater.h b/indra/newview/lldrawpoolwater.h index 3ab4bc5e2c..2648a5276c 100644 --- a/indra/newview/lldrawpoolwater.h +++ b/indra/newview/lldrawpoolwater.h @@ -74,7 +74,6 @@ public:  	/*virtual*/ S32 getNumPasses();  	/*virtual*/ void render(S32 pass = 0);  	/*virtual*/ void prerender(); -	/*virtual*/ void renderForSelect();  	/*virtual*/ LLViewerTexture *getDebugTexture();  	/*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index d22950cad3..2471da9da5 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -399,84 +399,6 @@ void LLFace::updateCenterAgent()  	}  } -void LLFace::renderForSelect(U32 data_mask) -{ -	if(mDrawablep.isNull() || mVertexBuffer.isNull()) -	{ -		return; -	} - -	LLSpatialGroup* group = mDrawablep->getSpatialGroup(); -	if (!group || group->isState(LLSpatialGroup::GEOM_DIRTY)) -	{ -		return; -	} - -	if (mVObjp->mGLName) -	{ -		S32 name = mVObjp->mGLName; - -		LLColor4U color((U8)(name >> 16), (U8)(name >> 8), (U8)name); -#if 0 // *FIX: Postponing this fix until we have texcoord pick info... -		if (mTEOffset != -1) -		{ -			color.mV[VALPHA] = (U8)(getTextureEntry()->getColor().mV[VALPHA] * 255.f); -		} -#endif -		glColor4ubv(color.mV); - -		if (!getPool()) -		{ -			switch (getPoolType()) -			{ -			case LLDrawPool::POOL_ALPHA: -				gGL.getTexUnit(0)->bind(getTexture()); -				break; -			default: -				gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); -				break; -			} -		} - -		mVertexBuffer->setBuffer(data_mask); -#if !LL_RELEASE_FOR_DOWNLOAD -		LLGLState::checkClientArrays("", data_mask); -#endif -		if (mTEOffset != -1) -		{ -			// mask off high 4 bits (16 total possible faces) -			color.mV[0] &= 0x0f; -			color.mV[0] |= (mTEOffset & 0x0f) << 4; -			glColor4ubv(color.mV); -		} - -		if (mIndicesCount) -		{ -			if (isState(GLOBAL)) -			{ -				if (mDrawablep->getVOVolume()) -				{ -					glPushMatrix(); -					glMultMatrixf((float*) mDrawablep->getRegion()->mRenderMatrix.mMatrix); -					mVertexBuffer->draw(LLRender::TRIANGLES, mIndicesCount, mIndicesIndex); -					glPopMatrix(); -				} -				else -				{ -					mVertexBuffer->draw(LLRender::TRIANGLES, mIndicesCount, mIndicesIndex); -				} -			} -			else -			{ -				glPushMatrix(); -				glMultMatrixf((float*)getRenderMatrix().mMatrix); -				mVertexBuffer->draw(LLRender::TRIANGLES, mIndicesCount, mIndicesIndex); -				glPopMatrix(); -			} -		} -	} -} -  void LLFace::renderSelected(LLViewerTexture *imagep, const LLColor4& color)  {  	if (mDrawablep->getSpatialGroup() == NULL) diff --git a/indra/newview/llface.h b/indra/newview/llface.h index 0166e45bee..6c941bd092 100644 --- a/indra/newview/llface.h +++ b/indra/newview/llface.h @@ -173,7 +173,6 @@ public:  	void		updateCenterAgent(); // Update center when xform has changed.  	void		renderSelectedUV(); -	void		renderForSelect(U32 data_mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0);  	void		renderSelected(LLViewerTexture *image, const LLColor4 &color);  	F32			getKey()					const	{ return mDistance; } diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 36e8ad9dfc..51ee38bd65 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -1212,8 +1212,6 @@ LLViewerWindow::ESnapshotType LLFloaterSnapshot::Impl::getLayerType(LLFloaterSna  		type = LLViewerWindow::SNAPSHOT_TYPE_COLOR;  	else if (id == "depth")  		type = LLViewerWindow::SNAPSHOT_TYPE_DEPTH; -	else if (id == "objects") -		type = LLViewerWindow::SNAPSHOT_TYPE_OBJECT_ID;  	return type;  } diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index d43b3a5d6e..842911ecc0 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -663,35 +663,27 @@ void LLViewerParcelMgr::renderCollisionSegments(U8* segments, BOOL use_pass, LLV  				x2 = x1 + PARCEL_GRID_STEP_METERS;  				y2 = y1; -				if (gRenderForSelect) -				{ -					LLColor4U color((U8)(GL_NAME_PARCEL_WALL >> 16), (U8)(GL_NAME_PARCEL_WALL >> 8), (U8)GL_NAME_PARCEL_WALL); -					gGL.color4ubv(color.mV); -				} -				else -				{ -					dy = (pos_y - y1) + DIST_OFFSET; -					 -					if (pos_x < x1) -						dx = pos_x - x1; -					else if (pos_x > x2) -						dx = pos_x - x2; -					else  -						dx = 0; +				dy = (pos_y - y1) + DIST_OFFSET; -					dist = dx*dx+dy*dy; - -					if (dist < MIN_DIST_SQ) -						alpha = MAX_ALPHA; -					else if (dist > MAX_DIST_SQ) -						alpha = 0.0f; -					else -						alpha = 30/dist; - -					alpha = llclamp(alpha, 0.0f, MAX_ALPHA); - -					gGL.color4f(1.f, 1.f, 1.f, alpha); -				} +				if (pos_x < x1) +					dx = pos_x - x1; +				else if (pos_x > x2) +					dx = pos_x - x2; +				else  +					dx = 0; +				 +				dist = dx*dx+dy*dy; +				 +				if (dist < MIN_DIST_SQ) +					alpha = MAX_ALPHA; +				else if (dist > MAX_DIST_SQ) +					alpha = 0.0f; +				else +					alpha = 30/dist; +				 +				alpha = llclamp(alpha, 0.0f, MAX_ALPHA); +				 +				gGL.color4f(1.f, 1.f, 1.f, alpha);  				if ((pos_y - y1) < 0) direction = SOUTH_MASK;  				else 		direction = NORTH_MASK; @@ -709,35 +701,27 @@ void LLViewerParcelMgr::renderCollisionSegments(U8* segments, BOOL use_pass, LLV  				x2 = x1;  				y2 = y1 + PARCEL_GRID_STEP_METERS; -				if (gRenderForSelect) -				{ -					LLColor4U color((U8)(GL_NAME_PARCEL_WALL >> 16), (U8)(GL_NAME_PARCEL_WALL >> 8), (U8)GL_NAME_PARCEL_WALL); -					gGL.color4ubv(color.mV); -				} +				dx = (pos_x - x1) + DIST_OFFSET; +				 +				if (pos_y < y1)  +					dy = pos_y - y1; +				else if (pos_y > y2) +					dy = pos_y - y2; +				else  +					dy = 0; +				 +				dist = dx*dx+dy*dy; +				 +				if (dist < MIN_DIST_SQ)  +					alpha = MAX_ALPHA; +				else if (dist > MAX_DIST_SQ) +					alpha = 0.0f;  				else -				{					 -					dx = (pos_x - x1) + DIST_OFFSET; -		 -					if (pos_y < y1)  -						dy = pos_y - y1; -					else if (pos_y > y2) -						dy = pos_y - y2; -					else  -						dy = 0; - -					dist = dx*dx+dy*dy; -					 -					if (dist < MIN_DIST_SQ)  -						alpha = MAX_ALPHA; -					else if (dist > MAX_DIST_SQ) -						alpha = 0.0f; -					else -						alpha = 30/dist; - -					alpha = llclamp(alpha, 0.0f, MAX_ALPHA); +					alpha = 30/dist; +				 +				alpha = llclamp(alpha, 0.0f, MAX_ALPHA); -					gGL.color4f(1.f, 1.f, 1.f, alpha); -				} +				gGL.color4f(1.f, 1.f, 1.f, alpha);  				if ((pos_x - x1) > 0) direction = WEST_MASK;  				else 		direction = EAST_MASK; diff --git a/indra/newview/llhudicon.cpp b/indra/newview/llhudicon.cpp index aea8c5928b..568b0ae585 100644 --- a/indra/newview/llhudicon.cpp +++ b/indra/newview/llhudicon.cpp @@ -201,11 +201,6 @@ void LLHUDIcon::render()  	renderIcon(FALSE);  } -void LLHUDIcon::renderForSelect() -{ -	renderIcon(TRUE); -} -  BOOL LLHUDIcon::lineSegmentIntersect(const LLVector3& start, const LLVector3& end, LLVector3* intersection)  {  	if (mHidden) diff --git a/indra/newview/llhudicon.h b/indra/newview/llhudicon.h index 8d7b8d4288..644daa0299 100644 --- a/indra/newview/llhudicon.h +++ b/indra/newview/llhudicon.h @@ -52,7 +52,6 @@ friend class LLHUDObject;  public:  	/*virtual*/ void render(); -	/*virtual*/ void renderForSelect();  	/*virtual*/ void markDead();  	/*virtual*/ F32 getDistance() const { return mDistance; } diff --git a/indra/newview/llhudobject.cpp b/indra/newview/llhudobject.cpp index 09200ee5be..5e762ee037 100644 --- a/indra/newview/llhudobject.cpp +++ b/indra/newview/llhudobject.cpp @@ -284,27 +284,6 @@ void LLHUDObject::renderAll()  }  // static -void LLHUDObject::renderAllForSelect() -{ -	LLHUDObject *hud_objp; -	 -	hud_object_list_t::iterator object_it; -	for (object_it = sHUDObjects.begin(); object_it != sHUDObjects.end(); ) -	{ -		hud_object_list_t::iterator cur_it = object_it++; -		hud_objp = (*cur_it); -		if (hud_objp->getNumRefs() == 1) -		{ -			sHUDObjects.erase(cur_it); -		} -		else if (hud_objp->isVisible()) -		{ -			hud_objp->renderForSelect(); -		} -	} -} - -// static  void LLHUDObject::renderAllForTimer()  {  	LLHUDObject *hud_objp; diff --git a/indra/newview/llhudobject.h b/indra/newview/llhudobject.h index 4282ade34d..33e6394445 100644 --- a/indra/newview/llhudobject.h +++ b/indra/newview/llhudobject.h @@ -104,7 +104,6 @@ protected:  	~LLHUDObject();  	virtual void render() = 0; -	virtual void renderForSelect() {};  	virtual void renderForTimer() {};  protected: diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp index 6a423e529a..f7e5103d88 100644 --- a/indra/newview/llhudtext.cpp +++ b/indra/newview/llhudtext.cpp @@ -113,36 +113,21 @@ void LLHUDText::render()  	if (!mOnHUDAttachment && sDisplayText)  	{  		LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE); -		renderText(FALSE); +		renderText();  	}  } -void LLHUDText::renderForSelect() -{ -	if (!mOnHUDAttachment) -	{ -		LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE); -		renderText(TRUE); -	} -} - -void LLHUDText::renderText(BOOL for_select) +void LLHUDText::renderText()  {  	if (!mVisible || mHidden)  	{  		return;  	} -	// don't pick text -	if (for_select) -	{ -		return; -	} -	  	gGL.getTexUnit(0)->enable(LLTexUnit::TT_TEXTURE); -	LLGLState gls_blend(GL_BLEND, for_select ? FALSE : TRUE); -	LLGLState gls_alpha(GL_ALPHA_TEST, for_select ? FALSE : TRUE); +	LLGLState gls_blend(GL_BLEND, TRUE); +	LLGLState gls_alpha(GL_ALPHA_TEST, TRUE);  	LLColor4 shadow_color(0.f, 0.f, 0.f, 1.f);  	F32 alpha_factor = 1.f; @@ -594,7 +579,7 @@ void LLHUDText::renderAllHUD()  		for (text_it = sVisibleHUDTextObjects.begin(); text_it != sVisibleHUDTextObjects.end(); ++text_it)  		{ -			(*text_it)->renderText(FALSE); +			(*text_it)->renderText();  		}  	} diff --git a/indra/newview/llhudtext.h b/indra/newview/llhudtext.h index f05ee4d594..36015d51f0 100644 --- a/indra/newview/llhudtext.h +++ b/indra/newview/llhudtext.h @@ -128,8 +128,7 @@ protected:  	LLHUDText(const U8 type);  	/*virtual*/ void render(); -	/*virtual*/ void renderForSelect(); -	void renderText(BOOL for_select); +	void renderText();  	static void updateAll();  	S32 getMaxLines(); diff --git a/indra/newview/llviewerjoint.cpp b/indra/newview/llviewerjoint.cpp index 0cf5fe0ada..baf85d6884 100644 --- a/indra/newview/llviewerjoint.cpp +++ b/indra/newview/llviewerjoint.cpp @@ -257,7 +257,7 @@ U32 LLViewerJoint::render( F32 pixelArea, BOOL first_pass, BOOL is_dummy )  		// if object is transparent, defer it, otherwise  		// give the joint subclass a chance to draw itself  		//---------------------------------------------------------------- -		if ( gRenderForSelect || is_dummy ) +		if ( is_dummy )  		{  			triangle_count += drawShape( pixelArea, first_pass, is_dummy );  		} diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp index ae2aa41b3a..e59e685f53 100644 --- a/indra/newview/llviewerjointmesh.cpp +++ b/indra/newview/llviewerjointmesh.cpp @@ -61,7 +61,6 @@ extern PFNGLWEIGHTPOINTERARBPROC glWeightPointerARB;  extern PFNGLWEIGHTFVARBPROC glWeightfvARB;  extern PFNGLVERTEXBLENDARBPROC glVertexBlendARB;  #endif -extern BOOL gRenderForSelect;  static LLPointer<LLVertexBuffer> sRenderBuffer = NULL;  static const U32 sRenderMask = LLVertexBuffer::MAP_VERTEX | @@ -515,17 +514,14 @@ U32 LLViewerJointMesh::drawShape( F32 pixelArea, BOOL first_pass, BOOL is_dummy)  	//----------------------------------------------------------------  	// setup current color  	//---------------------------------------------------------------- -	if (!gRenderForSelect) -	{ -		if (is_dummy) -			glColor4fv(LLVOAvatar::getDummyColor().mV); -		else -			glColor4fv(mColor.mV); -	} +	if (is_dummy) +		glColor4fv(LLVOAvatar::getDummyColor().mV); +	else +		glColor4fv(mColor.mV);  	stop_glerror(); -	LLGLSSpecular specular(LLColor4(1.f,1.f,1.f,1.f), gRenderForSelect ? 0.0f : mShiny && !(mFace->getPool()->getVertexShaderLevel() > 0)); +	LLGLSSpecular specular(LLColor4(1.f,1.f,1.f,1.f), mShiny && !(mFace->getPool()->getVertexShaderLevel() > 0));  	//----------------------------------------------------------------  	// setup current texture @@ -580,19 +576,6 @@ U32 LLViewerJointMesh::drawShape( F32 pixelArea, BOOL first_pass, BOOL is_dummy)  		gGL.getTexUnit(0)->bind(LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT));  	} -	if (gRenderForSelect) -	{ -		if (isTransparent()) -		{ -			gGL.getTexUnit(0)->setTextureColorBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_PREV_COLOR); -			gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_TEX_ALPHA, LLTexUnit::TBS_CONST_ALPHA); -		} -		else -		{ -			gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); -		} -	} -	  	mFace->mVertexBuffer->setBuffer(sRenderMask);  	U32 start = mMesh->mFaceVertexOffset; diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index f9bf0543c4..a414e86866 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -1274,34 +1274,6 @@ void LLViewerObjectList::generatePickList(LLCamera &camera)  	}  } -void LLViewerObjectList::renderPickList(const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent) -{ -	gRenderForSelect = TRUE; -		 -	gPipeline.renderForSelect(mSelectPickList, render_transparent, screen_rect); - -	// -	// Render pass for selected objects -	// -	gGL.color4f(1,1,1,1);	 -	gViewerWindow->renderSelections( TRUE, pick_parcel_wall, FALSE ); - -	//fix for DEV-19335.  Don't pick hud objects when customizing avatar (camera mode doesn't play nice with nametags). -	if (!gAgentCamera.cameraCustomizeAvatar()) -	{ -		// render pickable ui elements, like names, etc. -		LLHUDObject::renderAllForSelect(); -	} -	 -	gGL.flush(); -	LLVertexBuffer::unbind(); - -	gRenderForSelect = FALSE; - -	//llinfos << "Rendered " << count << " for select" << llendl; -	//llinfos << "Took " << pick_timer.getElapsedTimeF32()*1000.f << "ms to pick" << llendl; -} -  LLViewerObject *LLViewerObjectList::getSelectedObject(const U32 object_id)  {  	std::set<LLViewerObject*>::iterator pick_it; diff --git a/indra/newview/llviewerobjectlist.h b/indra/newview/llviewerobjectlist.h index eba5584b57..605bac8e89 100644 --- a/indra/newview/llviewerobjectlist.h +++ b/indra/newview/llviewerobjectlist.h @@ -104,7 +104,6 @@ public:  	// Selection related stuff  	void generatePickList(LLCamera &camera); -	void renderPickList(const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent);  	LLViewerObject *getSelectedObject(const U32 object_id); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index ea407c8f29..befb76f81f 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4009,30 +4009,19 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei  		{  			gDisplaySwapBuffers = FALSE;  			gDepthDirty = TRUE; -			if (type == SNAPSHOT_TYPE_OBJECT_ID) -			{ -				glClearColor(0.f, 0.f, 0.f, 0.f); -				glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); -				LLViewerCamera::getInstance()->setZoomParameters(scale_factor, subimage_x+(subimage_y*llceil(scale_factor))); -				setup3DRender(); -				gObjectList.renderPickList(gViewerWindow->getWindowRectScaled(), FALSE, FALSE); +			const U32 subfield = subimage_x+(subimage_y*llceil(scale_factor)); + +			if (LLPipeline::sRenderDeferred) +			{ +					display(do_rebuild, scale_factor, subfield, TRUE);  			}  			else  			{ -				const U32 subfield = subimage_x+(subimage_y*llceil(scale_factor)); - -				if (LLPipeline::sRenderDeferred) -				{ -					display(do_rebuild, scale_factor, subfield, TRUE); -				} -				else -				{ -					display(do_rebuild, scale_factor, subfield, TRUE); +				display(do_rebuild, scale_factor, subfield, TRUE);  					// Required for showing the GUI in snapshots and performing bloom composite overlay  					// Call even if show_ui is FALSE -					render_ui(scale_factor, subfield); -				} +				render_ui(scale_factor, subfield);  			}  			S32 subimage_x_offset = llclamp(buffer_x_offset - (subimage_x * window_width), 0, window_width); @@ -4055,7 +4044,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei  					LLAppViewer::instance()->pingMainloopTimeout("LLViewerWindow::rawSnapshot");  				} -				if (type == SNAPSHOT_TYPE_OBJECT_ID || type == SNAPSHOT_TYPE_COLOR) +				if (type == SNAPSHOT_TYPE_COLOR)  				{  					glReadPixels(  						subimage_x_offset, out_y + subimage_y_offset, diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 633c3a41d2..47fb7c4883 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -316,8 +316,7 @@ public:  	typedef enum  	{  		SNAPSHOT_TYPE_COLOR, -		SNAPSHOT_TYPE_DEPTH, -		SNAPSHOT_TYPE_OBJECT_ID +		SNAPSHOT_TYPE_DEPTH  	} ESnapshotType;  	BOOL			saveSnapshot(const std::string&  filename, S32 image_width, S32 image_height, BOOL show_ui = TRUE, BOOL do_rebuild = FALSE, ESnapshotType type = SNAPSHOT_TYPE_COLOR);  	BOOL			rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_height, BOOL keep_window_aspect = TRUE, BOOL is_texture = FALSE, diff --git a/indra/newview/llviewerwindowlistener.cpp b/indra/newview/llviewerwindowlistener.cpp index 4473b5820d..0b52948680 100644 --- a/indra/newview/llviewerwindowlistener.cpp +++ b/indra/newview/llviewerwindowlistener.cpp @@ -54,7 +54,7 @@ LLViewerWindowListener::LLViewerWindowListener(LLViewerWindow* llviewerwindow):  //  saveSnapshotArgs["type"] = LLSD::String();      add("saveSnapshot",          "Save screenshot: [\"filename\"], [\"width\"], [\"height\"], [\"showui\"], [\"rebuild\"], [\"type\"]\n" -        "type: \"COLOR\", \"DEPTH\", \"OBJECT_ID\"\n" +        "type: \"COLOR\", \"DEPTH\"\n"          "Post on [\"reply\"] an event containing [\"ok\"]",          &LLViewerWindowListener::saveSnapshot,          saveSnapshotArgs); @@ -71,7 +71,6 @@ void LLViewerWindowListener::saveSnapshot(const LLSD& event) const  #define tp(name) types[#name] = LLViewerWindow::SNAPSHOT_TYPE_##name      tp(COLOR);      tp(DEPTH); -    tp(OBJECT_ID);  #undef  tp      // Our add() call should ensure that the incoming LLSD does in fact      // contain our required arguments. Deal with the optional ones. diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 8738ad7687..6f3aba29c6 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -3992,7 +3992,7 @@ U32 LLVOAvatar::renderSkinned(EAvatarRenderPass pass)  	// *NOTE: this is disabled (there is no UI for enabling sShowFootPlane) due  	// to DEV-14477.  the code is left here to aid in tracking down the cause  	// of the crash in the future. -brad -	if (!gRenderForSelect && sShowFootPlane && mDrawable.notNull()) +	if (sShowFootPlane && mDrawable.notNull())  	{  		LLVector3 slaved_pos = mDrawable->getPositionAgent();  		LLVector3 foot_plane_normal(mFootPlane.mV[VX], mFootPlane.mV[VY], mFootPlane.mV[VZ]); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index e6c6c74fce..15477e0a80 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -130,8 +130,6 @@ static S32 sDelayedVBOEnable = 0;  BOOL	gAvatarBacklight = FALSE; -BOOL	gRenderForSelect = FALSE; -  BOOL	gDebugPipeline = FALSE;  LLPipeline gPipeline;  const LLMatrix4* gGLLastMatrix = NULL; @@ -3807,185 +3805,6 @@ void LLPipeline::renderDebug()  	gGL.flush();  } -void LLPipeline::renderForSelect(std::set<LLViewerObject*>& objects, BOOL render_transparent, const LLRect& screen_rect) -{ -	assertInitialized(); - -	gGL.setColorMask(true, false); -	gPipeline.resetDrawOrders(); - -	LLViewerCamera* camera = LLViewerCamera::getInstance(); -	for (std::set<LLViewerObject*>::iterator iter = objects.begin(); iter != objects.end(); ++iter) -	{ -		stateSort((*iter)->mDrawable, *camera); -	} - -	LLMemType mt(LLMemType::MTYPE_PIPELINE_RENDER_SELECT); -	 -	 -	 -	glMatrixMode(GL_MODELVIEW); - -	LLGLSDefault gls_default; -	LLGLSObjectSelect gls_object_select; -	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); -	LLGLDepthTest gls_depth(GL_TRUE,GL_TRUE); -	disableLights(); -	 -	LLVertexBuffer::unbind(); - -	//for each drawpool -	LLGLState::checkStates(); -	LLGLState::checkTextureChannels(); -	LLGLState::checkClientArrays(); -	U32 last_type = 0; -	 -	// If we don't do this, we crash something on changing graphics settings -	// from Medium -> Low, because we unload all the shaders and the  -	// draw pools aren't aware.  I don't know if this has to be a separate -	// loop before actual rendering. JC -	for (pool_set_t::iterator iter = mPools.begin(); iter != mPools.end(); ++iter) -	{ -		LLDrawPool *poolp = *iter; -		if (poolp->isFacePool() && hasRenderType(poolp->getType())) -		{ -			poolp->prerender(); -		} -	} -	for (pool_set_t::iterator iter = mPools.begin(); iter != mPools.end(); ++iter) -	{ -		LLDrawPool *poolp = *iter; -		if (poolp->isFacePool() && hasRenderType(poolp->getType())) -		{ -			LLFacePool* face_pool = (LLFacePool*) poolp; -			face_pool->renderForSelect(); -			LLVertexBuffer::unbind(); -			gGLLastMatrix = NULL; -			glLoadMatrixd(gGLModelView); - -			if (poolp->getType() != last_type) -			{ -				last_type = poolp->getType(); -				LLGLState::checkStates(); -				LLGLState::checkTextureChannels(); -				LLGLState::checkClientArrays(); -			} -		} -	}	 - -	LLGLEnable alpha_test(GL_ALPHA_TEST); -	if (render_transparent) -	{ -		gGL.setAlphaRejectSettings(LLRender::CF_GREATER_EQUAL, 0.f); -	} -	else -	{ -		gGL.setAlphaRejectSettings(LLRender::CF_GREATER, 0.2f); -	} - -	gGL.getTexUnit(0)->setTextureColorBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_VERT_COLOR); -	gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_TEX_ALPHA, LLTexUnit::TBS_VERT_ALPHA); - -	U32 prim_mask = LLVertexBuffer::MAP_VERTEX |  -					LLVertexBuffer::MAP_TEXCOORD0; - -	for (std::set<LLViewerObject*>::iterator i = objects.begin(); i != objects.end(); ++i) -	{ -		LLViewerObject* vobj = *i; -		LLDrawable* drawable = vobj->mDrawable; -		if (vobj->isDead() ||  -			vobj->isHUDAttachment() || -			(LLSelectMgr::getInstance()->mHideSelectedObjects && vobj->isSelected()) || -			drawable->isDead() ||  -			!hasRenderType(drawable->getRenderType())) -		{ -			continue; -		} - -		for (S32 j = 0; j < drawable->getNumFaces(); ++j) -		{ -			LLFace* facep = drawable->getFace(j); -			if (!facep->getPool()) -			{ -				facep->renderForSelect(prim_mask); -			} -		} -	} - -	// pick HUD objects -	if (isAgentAvatarValid() && sShowHUDAttachments) -	{ -		glh::matrix4f save_proj(glh_get_current_projection()); -		glh::matrix4f save_model(glh_get_current_modelview()); - -		setup_hud_matrices(screen_rect); -		for (LLVOAvatar::attachment_map_t::iterator iter = gAgentAvatarp->mAttachmentPoints.begin();  -			 iter != gAgentAvatarp->mAttachmentPoints.end(); ) -		{ -			LLVOAvatar::attachment_map_t::iterator curiter = iter++; -			LLViewerJointAttachment* attachment = curiter->second; -			if (attachment->getIsHUDAttachment()) -			{ -				for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); -					 attachment_iter != attachment->mAttachedObjects.end(); -					 ++attachment_iter) -				{ -					if (LLViewerObject* attached_object = (*attachment_iter)) -					{ -						LLDrawable* drawable = attached_object->mDrawable; -						if (drawable->isDead()) -						{ -							continue; -						} -							 -						for (S32 j = 0; j < drawable->getNumFaces(); ++j) -						{ -							LLFace* facep = drawable->getFace(j); -							if (!facep->getPool()) -							{ -								facep->renderForSelect(prim_mask); -							} -						} -							 -						//render child faces -						LLViewerObject::const_child_list_t& child_list = attached_object->getChildren(); -						for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin(); -							 iter != child_list.end(); iter++) -						{ -							LLViewerObject* child = *iter; -							LLDrawable* child_drawable = child->mDrawable; -							for (S32 l = 0; l < child_drawable->getNumFaces(); ++l) -							{ -								LLFace* facep = child_drawable->getFace(l); -								if (!facep->getPool()) -								{ -									facep->renderForSelect(prim_mask); -								} -							} -						} -					} -				} -			} -		} - -		glMatrixMode(GL_PROJECTION); -		glLoadMatrixf(save_proj.m); -		glh_set_current_projection(save_proj); - -		glMatrixMode(GL_MODELVIEW); -		glLoadMatrixf(save_model.m); -		glh_set_current_modelview(save_model); - -	 -	} - -	gGL.getTexUnit(0)->setTextureBlendType(LLTexUnit::TB_MULT); -	 -	LLVertexBuffer::unbind(); -	 -	gGL.setColorMask(true, true); -} -  void LLPipeline::rebuildPools()  {  	LLMemType mt(LLMemType::MTYPE_PIPELINE_REBUILD_POOLS); diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 790b595626..3f785a99fe 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -245,7 +245,6 @@ public:  	void renderHighlights();  	void renderDebug(); -	void renderForSelect(std::set<LLViewerObject*>& objects, BOOL render_transparent, const LLRect& screen_rect);  	void rebuildPools(); // Rebuild pools  	void findReferences(LLDrawable *drawablep);	// Find the lists which have references to this object @@ -713,7 +712,6 @@ void render_bbox(const LLVector3 &min, const LLVector3 &max);  void render_hud_elements();  extern LLPipeline gPipeline; -extern BOOL gRenderForSelect;  extern BOOL gDebugPipeline;  extern const LLMatrix4* gGLLastMatrix; | 
