diff options
author | Steven Bennetts <steve@lindenlab.com> | 2008-08-28 23:57:41 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2008-08-28 23:57:41 +0000 |
commit | 4a6bacea0f8dcff959028f285bc533852da608b5 (patch) | |
tree | 7f49b429051e550f70917ccbcdd1c27bf86f5bdf /indra/newview/llface.cpp | |
parent | ac4766d4354ee1945f1569a94d755e3e7c0cd566 (diff) |
merge viewer/viewer_1-21 94170-94770 -> release
merge viewer/viewer_1-21-0 94830-95157 -> release
Includes:
QAR-786 Sandbox buildme for viewer + server Release Notes on the wiki!
QAR-797 teleport failures (DEV-6198 / SVC-972) mergeme
Diffstat (limited to 'indra/newview/llface.cpp')
-rw-r--r-- | indra/newview/llface.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 16668f81e2..294f13c338 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -372,7 +372,7 @@ void LLFace::renderForSelect(U32 data_mask) mVertexBuffer->setBuffer(data_mask); #if !LL_RELEASE_FOR_DOWNLOAD - LLGLState::checkClientArrays(data_mask); + LLGLState::checkClientArrays("", data_mask); #endif if (mTEOffset != -1) { @@ -435,7 +435,7 @@ void LLFace::renderSelected(LLImageGL *imagep, const LLColor4& color) mVertexBuffer->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD); #if !LL_RELEASE_FOR_DOWNLOAD - LLGLState::checkClientArrays(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD); + LLGLState::checkClientArrays("", LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD); #endif mVertexBuffer->draw(LLVertexBuffer::TRIANGLES, mIndicesCount, mIndicesIndex); @@ -696,20 +696,23 @@ LLVector2 LLFace::surfaceToTexture(LLVector2 surface_coord, LLVector3 position, { LLVector3 center = mDrawablep->getVOVolume()->getVolume()->getVolumeFace(mTEOffset).mCenter; - LLVector3 scale = (mDrawablep->getVOVolume()->isVolumeGlobal()) ? LLVector3(1,1,1) : mVObjp->getScale(); - LLVector3 vec = position; - vec.scaleVec(scale); - + LLVector3 scale = (mDrawablep->getVOVolume()->isVolumeGlobal()) ? LLVector3(1,1,1) : mVObjp->getScale(); + LLVector3 volume_position = mDrawablep->getVOVolume()->agentPositionToVolume(position); + volume_position.scaleVec(scale); + + LLVector3 volume_normal = mDrawablep->getVOVolume()->agentDirectionToVolume(normal); + volume_normal.normalize(); + switch (texgen) { case LLTextureEntry::TEX_GEN_PLANAR: - planarProjection(tc, normal, center, vec); + planarProjection(tc, volume_normal, center, volume_position); break; case LLTextureEntry::TEX_GEN_SPHERICAL: - sphericalProjection(tc, normal, center, vec); + sphericalProjection(tc, volume_normal, center, volume_position); break; case LLTextureEntry::TEX_GEN_CYLINDRICAL: - cylindricalProjection(tc, normal, center, vec); + cylindricalProjection(tc, volume_normal, center, volume_position); break; default: break; |