meow-7.2.2
Dave Parks 2011-11-15 12:24:47 -06:00
commit ab7a85602f
2 changed files with 34 additions and 3 deletions

View File

@ -955,10 +955,12 @@ void gl_ring( F32 radius, F32 width, const LLColor4& center_color, const LLColor
if( render_center )
{
gGL.color4fv(center_color.mV);
gGL.diffuseColor4fv(center_color.mV);
gl_deep_circle( radius, width, steps );
}
else
{
gGL.diffuseColor4fv(side_color.mV);
gl_washer_2d(radius, radius - width, steps, side_color, side_color);
gGL.translateUI(0.f, 0.f, width);
gl_washer_2d(radius - width, radius, steps, side_color, side_color);

View File

@ -53,6 +53,7 @@
#include "llviewercamera.h"
#include "llviewerobject.h"
#include "llviewerobject.h"
#include "llviewershadermgr.h"
#include "llviewerwindow.h"
#include "llworld.h"
#include "pipeline.h"
@ -113,7 +114,7 @@ void LLManipRotate::handleSelect()
void LLManipRotate::render()
{
LLGLSUIDefault gls_ui;
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.getTexUnit(0)->bind(LLViewerFetchedTexture::sWhiteImagep);
LLGLDepthTest gls_depth(GL_TRUE);
LLGLEnable gl_blend(GL_BLEND);
LLGLEnable gls_alpha_test(GL_ALPHA_TEST);
@ -147,6 +148,7 @@ void LLManipRotate::render()
gGL.pushMatrix();
{
// are we in the middle of a constrained drag?
if (mManipPart >= LL_ROT_X && mManipPart <= LL_ROT_Z)
{
@ -154,6 +156,11 @@ void LLManipRotate::render()
}
else
{
if (LLGLSLShader::sNoFixedFunction)
{
gDebugProgram.bind();
}
LLGLEnable cull_face(GL_CULL_FACE);
LLGLDepthTest gls_depth(GL_FALSE);
gGL.pushMatrix();
@ -190,20 +197,27 @@ void LLManipRotate::render()
{
color.setVec( 0.7f, 0.7f, 0.7f, 0.6f );
}
gGL.diffuseColor4fv(color.mV);
gl_washer_2d(mRadiusMeters + width_meters, mRadiusMeters, CIRCLE_STEPS, color, color);
if (mManipPart == LL_NO_PART)
{
gGL.color4f( 0.7f, 0.7f, 0.7f, 0.3f );
gGL.diffuseColor4f(0.7f, 0.7f, 0.7f, 0.3f);
gl_circle_2d( 0, 0, mRadiusMeters, CIRCLE_STEPS, TRUE );
}
gGL.flush();
}
gGL.popMatrix();
}
if (LLGLSLShader::sNoFixedFunction)
{
gUIProgram.bind();
}
}
gGL.translatef( center.mV[VX], center.mV[VY], center.mV[VZ] );
LLQuaternion rot;
@ -219,6 +233,11 @@ void LLManipRotate::render()
gGL.rotatef(angle_radians * RAD_TO_DEG, x, y, z);
if (LLGLSLShader::sNoFixedFunction)
{
gDebugProgram.bind();
}
if (mManipPart == LL_ROT_Z)
{
mManipulatorScales = lerp(mManipulatorScales, LLVector4(1.f, 1.f, SELECTED_MANIPULATOR_SCALE, 1.f), LLCriticalDamp::getInterpolant(MANIPULATOR_SCALE_HALF_LIFE));
@ -270,6 +289,7 @@ void LLManipRotate::render()
// First pass: centers. Second pass: sides.
for( S32 i=0; i<2; i++ )
{
gGL.pushMatrix();
{
if (mHighlightedPart == LL_ROT_Z)
@ -286,7 +306,7 @@ void LLManipRotate::render()
}
}
gGL.popMatrix();
gGL.pushMatrix();
{
gGL.rotatef( 90.f, 1.f, 0.f, 0.f );
@ -328,11 +348,20 @@ void LLManipRotate::render()
{
mManipulatorScales = lerp(mManipulatorScales, LLVector4(1.f, 1.f, 1.f, SELECTED_MANIPULATOR_SCALE), LLCriticalDamp::getInterpolant(MANIPULATOR_SCALE_HALF_LIFE));
}
}
}
if (LLGLSLShader::sNoFixedFunction)
{
gUIProgram.bind();
}
}
gGL.popMatrix();
gGL.popMatrix();
LLVector3 euler_angles;
LLQuaternion object_rot = first_object->getRotationEdit();