diff options
| author | Dave Parks <davep@lindenlab.com> | 2013-04-11 15:17:55 -0500 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2013-04-11 15:17:55 -0500 | 
| commit | 66b4900e70db9bf6244faee0bcde63060302f9fe (patch) | |
| tree | 70193f312456d74580c13032cb486ed5e6519235 | |
| parent | cfc375777871ec3d04b9969793379d0cd78a012e (diff) | |
Pass binormal masks in on particles and in lldrawpoolalpha
| -rw-r--r-- | indra/newview/lldrawpoolalpha.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llvopartgroup.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 9 | 
3 files changed, 13 insertions, 2 deletions
| diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index 291bdfebe6..d506e57609 100644 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -326,7 +326,7 @@ void LLDrawPoolAlpha::render(S32 pass)  	if (mVertexShaderLevel > 0)  	{ -		renderAlpha(getVertexDataMask() | LLVertexBuffer::MAP_TEXTURE_INDEX); +		renderAlpha(getVertexDataMask() | LLVertexBuffer::MAP_TEXTURE_INDEX | LLVertexBuffer::MAP_BINORMAL);  	}  	else  	{ diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp index 0b34bbb90f..675ba685b4 100644 --- a/indra/newview/llvopartgroup.cpp +++ b/indra/newview/llvopartgroup.cpp @@ -65,7 +65,9 @@ void LLVOPartGroup::initClass()  //static  void LLVOPartGroup::restoreGL()  { -	sVB = new LLVertexBuffer(VERTEX_DATA_MASK, GL_STREAM_DRAW_ARB); + +	//TODO: optimize out binormal mask here +	sVB = new LLVertexBuffer(VERTEX_DATA_MASK | LLVertexBuffer::MAP_BINORMAL, GL_STREAM_DRAW_ARB);  	U32 count = LL_MAX_PARTICLE_COUNT;  	sVB->allocateBuffer(count*4, count*6, true); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 34bed6a7f3..139f3d2c2a 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -4095,6 +4095,15 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,  		}  	} +	//DEBUG  +	LLVertexBuffer* buff = facep->getVertexBuffer(); + +	if (type == LLRenderPass::PASS_ALPHA && !buff->hasDataType(LLVertexBuffer::TYPE_BINORMAL)) +	{ +		llerrs << "WTF?" << llendl; +	} + +  	if (idx >= 0 &&   		draw_vec[idx]->mVertexBuffer == facep->getVertexBuffer() &&  		draw_vec[idx]->mEnd == facep->getGeomIndex()-1 && | 
