summaryrefslogtreecommitdiff
path: root/indra/newview/llface.cpp
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2008-08-28 23:57:41 +0000
committerSteven Bennetts <steve@lindenlab.com>2008-08-28 23:57:41 +0000
commit4a6bacea0f8dcff959028f285bc533852da608b5 (patch)
tree7f49b429051e550f70917ccbcdd1c27bf86f5bdf /indra/newview/llface.cpp
parentac4766d4354ee1945f1569a94d755e3e7c0cd566 (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.cpp21
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;