automated merge
commit
52686947e2
|
|
@ -88,7 +88,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|||
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
# NOTE: setting -isysroot is NOT adequate: http://lists.apple.com/archives/Xcode-users/2007/Oct/msg00696.html
|
||||
# see http://public.kitware.com/Bug/view.php?id=9959 + poppy
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.4)
|
||||
endif (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
|
||||
|
|
|
|||
|
|
@ -417,4 +417,67 @@ extern BOOL gClothRipple;
|
|||
extern BOOL gNoRender;
|
||||
extern BOOL gGLActive;
|
||||
|
||||
// Deal with changing glext.h definitions for newer SDK versions, specifically
|
||||
// with MAC OSX 10.5 -> 10.6
|
||||
|
||||
|
||||
#ifndef GL_DEPTH_ATTACHMENT
|
||||
#define GL_DEPTH_ATTACHMENT GL_DEPTH_ATTACHMENT_EXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_STENCIL_ATTACHMENT
|
||||
#define GL_STENCIL_ATTACHMENT GL_STENCIL_ATTACHMENT_EXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_FRAMEBUFFER
|
||||
#define GL_FRAMEBUFFER GL_FRAMEBUFFER_EXT
|
||||
#define GL_DRAW_FRAMEBUFFER GL_DRAW_FRAMEBUFFER_EXT
|
||||
#define GL_READ_FRAMEBUFFER GL_READ_FRAMEBUFFER_EXT
|
||||
#define GL_FRAMEBUFFER_COMPLETE GL_FRAMEBUFFER_COMPLETE_EXT
|
||||
#define GL_FRAMEBUFFER_UNSUPPORTED GL_FRAMEBUFFER_UNSUPPORTED_EXT
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT
|
||||
#define glGenFramebuffers glGenFramebuffersEXT
|
||||
#define glBindFramebuffer glBindFramebufferEXT
|
||||
#define glCheckFramebufferStatus glCheckFramebufferStatusEXT
|
||||
#define glBlitFramebuffer glBlitFramebufferEXT
|
||||
#define glDeleteFramebuffers glDeleteFramebuffersEXT
|
||||
#define glFramebufferRenderbuffer glFramebufferRenderbufferEXT
|
||||
#define glFramebufferTexture2D glFramebufferTexture2DEXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_RENDERBUFFER
|
||||
#define GL_RENDERBUFFER GL_RENDERBUFFER_EXT
|
||||
#define glGenRenderbuffers glGenRenderbuffersEXT
|
||||
#define glBindRenderbuffer glBindRenderbufferEXT
|
||||
#define glRenderbufferStorage glRenderbufferStorageEXT
|
||||
#define glRenderbufferStorageMultisample glRenderbufferStorageMultisampleEXT
|
||||
#define glDeleteRenderbuffers glDeleteRenderbuffersEXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_COLOR_ATTACHMENT
|
||||
#define GL_COLOR_ATTACHMENT GL_COLOR_ATTACHMENT_EXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_COLOR_ATTACHMENT0
|
||||
#define GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT0_EXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_COLOR_ATTACHMENT1
|
||||
#define GL_COLOR_ATTACHMENT1 GL_COLOR_ATTACHMENT1_EXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_COLOR_ATTACHMENT2
|
||||
#define GL_COLOR_ATTACHMENT2 GL_COLOR_ATTACHMENT2_EXT
|
||||
#endif
|
||||
|
||||
#ifndef GL_COLOR_ATTACHMENT3
|
||||
#define GL_COLOR_ATTACHMENT3 GL_COLOR_ATTACHMENT3_EXT
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef GL_DEPTH24_STENCIL8
|
||||
#define GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8_EXT
|
||||
#endif
|
||||
|
||||
#endif // LL_LLGL_H
|
||||
|
|
|
|||
|
|
@ -691,7 +691,7 @@ extern PFNGLDRAWBUFFERSARBPROC glDrawBuffersARB;
|
|||
#include <AvailabilityMacros.h>
|
||||
|
||||
//GL_EXT_blend_func_separate
|
||||
extern void glBlendFuncSeparateEXT(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
|
||||
extern void glBlendFuncSeparateEXT(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) ;
|
||||
|
||||
// GL_EXT_framebuffer_object
|
||||
extern GLboolean glIsRenderbufferEXT(GLuint renderbuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
|
||||
|
|
@ -712,6 +712,9 @@ extern void glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenu
|
|||
extern void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
|
||||
extern void glGenerateMipmapEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
|
||||
|
||||
#ifndef GL_ARB_framebuffer_object
|
||||
#define glGenerateMipmap glGenerateMipmapEXT
|
||||
#endif
|
||||
// GL_ARB_draw_buffers
|
||||
extern void glDrawBuffersARB(GLsizei n, const GLenum* bufs) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
|
||||
|
||||
|
|
|
|||
|
|
@ -2622,6 +2622,12 @@ void LLMeshRepository::buildHull(const LLVolumeParams& params, S32 detail)
|
|||
LLPrimitive::sVolumeManager->unrefVolume(volume);
|
||||
}
|
||||
|
||||
bool LLMeshRepository::hasPhysicsShape(const LLUUID& mesh_id)
|
||||
{
|
||||
LLSD mesh = mThread->getMeshHeader(mesh_id);
|
||||
return mesh.has("physics_shape") && mesh["physics_shape"].has("size") && (mesh["physics_shape"]["size"].asInteger() > 0);
|
||||
}
|
||||
|
||||
const LLSD& LLMeshRepository::getMeshHeader(const LLUUID& mesh_id)
|
||||
{
|
||||
return mThread->getMeshHeader(mesh_id);
|
||||
|
|
|
|||
|
|
@ -458,7 +458,8 @@ public:
|
|||
const LLMeshSkinInfo* getSkinInfo(const LLUUID& mesh_id);
|
||||
const LLMeshDecomposition* getDecomposition(const LLUUID& mesh_id);
|
||||
void fetchPhysicsShape(const LLUUID& mesh_id);
|
||||
|
||||
bool hasPhysicsShape(const LLUUID& mesh_id);
|
||||
|
||||
void buildHull(const LLVolumeParams& params, S32 detail);
|
||||
const LLSD& getMeshHeader(const LLUUID& mesh_id);
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@
|
|||
#include "pipeline.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "lluictrlfactory.h"
|
||||
#include "llmeshrepository.h"
|
||||
//#include "llfirstuse.h"
|
||||
|
||||
#include "lldrawpool.h"
|
||||
|
|
@ -539,8 +540,6 @@ void LLPanelObject::getState( )
|
|||
mCheckPhantom->set( mIsPhantom );
|
||||
mCheckPhantom->setEnabled( roots_selected>0 && editable && !is_flexible );
|
||||
|
||||
mComboPhysicsShapeType->setCurrentByIndex(objectp->getPhysicsShapeType());
|
||||
mComboPhysicsShapeType->setEnabled(editable);
|
||||
|
||||
mSpinPhysicsGravity->set(objectp->getPhysicsGravity());
|
||||
mSpinPhysicsGravity->setEnabled(editable);
|
||||
|
|
@ -604,6 +603,7 @@ void LLPanelObject::getState( )
|
|||
BOOL enabled = FALSE;
|
||||
BOOL hole_enabled = FALSE;
|
||||
F32 scale_x=1.f, scale_y=1.f;
|
||||
BOOL isMesh = FALSE;
|
||||
|
||||
if( !objectp || !objectp->getVolume() || !editable || !single_volume)
|
||||
{
|
||||
|
|
@ -634,10 +634,9 @@ void LLPanelObject::getState( )
|
|||
// Only allowed to change these parameters for objects
|
||||
// that you have permissions on AND are not attachments.
|
||||
enabled = root_objectp->permModify();
|
||||
|
||||
const LLVolumeParams &volume_params = objectp->getVolume()->getParams();
|
||||
|
||||
|
||||
// Volume type
|
||||
const LLVolumeParams &volume_params = objectp->getVolume()->getParams();
|
||||
U8 path = volume_params.getPathParams().getCurveType();
|
||||
U8 profile_and_hole = volume_params.getProfileParams().getCurveType();
|
||||
U8 profile = profile_and_hole & LL_PCODE_PROFILE_MASK;
|
||||
|
|
@ -868,7 +867,7 @@ void LLPanelObject::getState( )
|
|||
}
|
||||
mSpinSkew->set( skew );
|
||||
}
|
||||
|
||||
|
||||
// Compute control visibility, label names, and twist range.
|
||||
// Start with defaults.
|
||||
BOOL cut_visible = TRUE;
|
||||
|
|
@ -1132,6 +1131,10 @@ void LLPanelObject::getState( )
|
|||
mCtrlSculptInvert->setVisible(sculpt_texture_visible);
|
||||
|
||||
|
||||
// update the physics shape combo to include allowed physics shapes
|
||||
mComboPhysicsShapeType->removeall();
|
||||
mComboPhysicsShapeType->add(getString("None"), LLSD(1));
|
||||
|
||||
// sculpt texture
|
||||
|
||||
if (selected_item == MI_SCULPT)
|
||||
|
|
@ -1163,6 +1166,7 @@ void LLPanelObject::getState( )
|
|||
U8 sculpt_stitching = sculpt_type & LL_SCULPT_TYPE_MASK;
|
||||
BOOL sculpt_invert = sculpt_type & LL_SCULPT_FLAG_INVERT;
|
||||
BOOL sculpt_mirror = sculpt_type & LL_SCULPT_FLAG_MIRROR;
|
||||
isMesh = (sculpt_stitching == LL_SCULPT_TYPE_MESH);
|
||||
|
||||
if (mCtrlSculptType)
|
||||
{
|
||||
|
|
@ -1179,20 +1183,43 @@ void LLPanelObject::getState( )
|
|||
if (mCtrlSculptInvert)
|
||||
{
|
||||
mCtrlSculptInvert->set(sculpt_invert);
|
||||
mCtrlSculptInvert->setEnabled(editable && (sculpt_stitching != LL_SCULPT_TYPE_MESH));
|
||||
mCtrlSculptInvert->setEnabled(editable && (!isMesh));
|
||||
}
|
||||
|
||||
if (mLabelSculptType)
|
||||
{
|
||||
mLabelSculptType->setEnabled(TRUE);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mSculptTextureRevert = LLUUID::null;
|
||||
mSculptTextureRevert = LLUUID::null;
|
||||
}
|
||||
|
||||
if(isMesh && objectp)
|
||||
{
|
||||
const LLVolumeParams &volume_params = objectp->getVolume()->getParams();
|
||||
LLUUID mesh_id = volume_params.getSculptID();
|
||||
if(gMeshRepo.hasPhysicsShape(mesh_id))
|
||||
{
|
||||
// if a mesh contains an uploaded or decomposed physics mesh,
|
||||
// allow 'Prim'
|
||||
mComboPhysicsShapeType->add(getString("Prim"), LLSD(0));
|
||||
}
|
||||
// meshes always allow convex hull
|
||||
mComboPhysicsShapeType->add(getString("Convex Hull"), LLSD(2));
|
||||
}
|
||||
else
|
||||
{
|
||||
// simple prims always allow physics shape prim
|
||||
mComboPhysicsShapeType->add(getString("Prim"), LLSD(0));
|
||||
}
|
||||
|
||||
mComboPhysicsShapeType->setValue(LLSD(objectp->getPhysicsShapeType()));
|
||||
mComboPhysicsShapeType->setEnabled(editable);
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
|
|
@ -1268,7 +1295,9 @@ public:
|
|||
|
||||
void LLPanelObject::sendPhysicsParam()
|
||||
{
|
||||
U8 type = (U8)mComboPhysicsShapeType->getCurrentIndex();
|
||||
LLSD physicsType = mComboPhysicsShapeType->getValue();
|
||||
|
||||
U8 type = physicsType.asInteger();
|
||||
F32 gravity = mSpinPhysicsGravity->get();
|
||||
F32 friction = mSpinPhysicsFriction->get();
|
||||
F32 density = mSpinPhysicsDensity->get();
|
||||
|
|
|
|||
|
|
@ -2900,7 +2900,7 @@ void renderPhysicsShape(LLDrawable* drawable, LLVOVolume* volume)
|
|||
|
||||
LLVolumeParams volume_params = volume->getVolume()->getParams();
|
||||
|
||||
LLPhysicsVolumeParams physics_params(volume->getVolume()->getParams(),
|
||||
LLPhysicsVolumeParams physics_params(volume_params,
|
||||
physics_type == LLViewerObject::PHYSICS_SHAPE_CONVEX_HULL);
|
||||
|
||||
LLPhysicsShapeBuilderUtil::PhysicsShapeSpecification physics_spec;
|
||||
|
|
|
|||
|
|
@ -1291,6 +1291,9 @@ even though the user gets a free copy.
|
|||
name="Object"
|
||||
top="16"
|
||||
width="295">
|
||||
<panel.string name="None">None</panel.string>
|
||||
<panel.string name="Prim">Prim</panel.string>
|
||||
<panel.string name="Convex Hull">Convex Hull</panel.string>
|
||||
<check_box
|
||||
height="19"
|
||||
label="Locked"
|
||||
|
|
@ -1516,20 +1519,7 @@ even though the user gets a free copy.
|
|||
name="Physics Shape Type Combo Ctrl"
|
||||
tool_tip="Choose the physics shape type"
|
||||
left_pad="0"
|
||||
width="108">
|
||||
<combo_box.item
|
||||
label="Prim"
|
||||
name="Prim"
|
||||
value="Prim" />
|
||||
<combo_box.item
|
||||
label="None"
|
||||
name="None"
|
||||
value="None" />
|
||||
<combo_box.item
|
||||
label="Convex Hull"
|
||||
name="Convex Hull"
|
||||
value="Convex Hull" />
|
||||
</combo_box>
|
||||
width="108"/>
|
||||
|
||||
<spinner
|
||||
follows="left|top"
|
||||
|
|
|
|||
Loading…
Reference in New Issue