mirror of
https://github.com/overte-org/overte.git
synced 2025-04-23 15:13:41 +02:00
more hacking and cleanup
This commit is contained in:
parent
4ce27f1483
commit
adcb62eb18
3 changed files with 18 additions and 11 deletions
|
@ -521,7 +521,6 @@ void Avatar::renderBody(RenderArgs* renderArgs, ViewFrustum* renderFrustum, bool
|
|||
// check to see if when we added our models to the scene they were ready, if they were not ready, then
|
||||
// fix them up in the scene
|
||||
if (_skeletonModel.needsFixupInScene()) {
|
||||
qDebug() << "Avatar::renderBody() FIXING _skeletonModel";
|
||||
render::ScenePointer scene = Application::getInstance()->getMain3DScene();
|
||||
render::PendingChanges pendingChanges;
|
||||
_skeletonModel.removeFromScene(scene, pendingChanges);
|
||||
|
|
|
@ -165,19 +165,15 @@ void AvatarManager::removeAvatarMotionState(Avatar* avatar) {
|
|||
void AvatarManager::removeAvatar(const QUuid& sessionUUID) {
|
||||
AvatarHash::iterator avatarIterator = _avatarHash.find(sessionUUID);
|
||||
if (avatarIterator != _avatarHash.end()) {
|
||||
//Avatar* avatar = reinterpret_cast<Avatar*>(avatarIterator.value().get());
|
||||
std::shared_ptr<Avatar> avatar = std::dynamic_pointer_cast<Avatar>(avatarIterator.value());
|
||||
|
||||
// FIX ME! Can we just say (avatar != _myAvatar)
|
||||
if (avatar != _myAvatar && avatar->isInitialized()) {
|
||||
removeAvatarMotionState(avatar.get());
|
||||
_avatarFades.push_back(avatarIterator.value());
|
||||
_avatarHash.erase(avatarIterator);
|
||||
}
|
||||
|
||||
render::ScenePointer scene = Application::getInstance()->getMain3DScene();
|
||||
render::PendingChanges pendingChanges;
|
||||
avatar->removeFromScene(avatar, scene, pendingChanges);
|
||||
avatar->removeFromScene(avatar, scene, pendingChanges);
|
||||
scene->enqueuePendingChanges(pendingChanges);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -814,14 +814,13 @@ namespace render {
|
|||
|
||||
template <> const Item::Bound payloadGetBound(const TransparentMeshPart::Pointer& payload) {
|
||||
if (payload) {
|
||||
//return payload->model->getPartBounds(payload->meshIndex, payload->partIndex);
|
||||
return payload->model->getPartBounds(payload->meshIndex, payload->partIndex);
|
||||
}
|
||||
return render::Item::Bound();
|
||||
}
|
||||
template <> void payloadRender(const TransparentMeshPart::Pointer& payload, RenderArgs* args) {
|
||||
if (args) {
|
||||
args->_elementsTouched++;
|
||||
//qDebug() << "would be TransparentMeshPart: " << payload->meshIndex << "," << payload->partIndex;
|
||||
return payload->model->renderPart(args, payload->meshIndex, payload->partIndex, true);
|
||||
}
|
||||
}
|
||||
|
@ -845,7 +844,9 @@ namespace render {
|
|||
|
||||
template <> const Item::Bound payloadGetBound(const OpaqueMeshPart::Pointer& payload) {
|
||||
if (payload) {
|
||||
return payload->model->getPartBounds(payload->meshIndex, payload->partIndex);
|
||||
Item::Bound result = payload->model->getPartBounds(payload->meshIndex, payload->partIndex);
|
||||
//qDebug() << "payloadGetBound(OpaqueMeshPart) " << result;
|
||||
return result;
|
||||
}
|
||||
return render::Item::Bound();
|
||||
}
|
||||
|
@ -1540,6 +1541,12 @@ void Model::snapToRegistrationPoint() {
|
|||
}
|
||||
|
||||
void Model::simulate(float deltaTime, bool fullUpdate) {
|
||||
/*
|
||||
qDebug() << "Model::simulate()";
|
||||
qDebug() << " _translation:" << _translation;
|
||||
qDebug() << " _rotation:" << _rotation;
|
||||
*/
|
||||
|
||||
fullUpdate = updateGeometry() || fullUpdate || (_scaleToFit && !_scaledToFit)
|
||||
|| (_snapModelToRegistrationPoint && !_snappedToRegistrationPoint);
|
||||
|
||||
|
@ -2343,8 +2350,13 @@ void Model::renderPart(RenderArgs* args, int meshIndex, int partIndex, bool tran
|
|||
|
||||
Texture* diffuseMap = networkPart.diffuseTexture.data();
|
||||
if (mesh.isEye && diffuseMap) {
|
||||
diffuseMap = (_dilatedTextures[meshIndex][partIndex] =
|
||||
static_cast<DilatableNetworkTexture*>(diffuseMap)->getDilatedTexture(_pupilDilation)).data();
|
||||
// FIXME - guard against out of bounds here
|
||||
if (meshIndex < _dilatedTextures.size()) {
|
||||
if (partIndex < _dilatedTextures[meshIndex].size()) {
|
||||
diffuseMap = (_dilatedTextures[meshIndex][partIndex] =
|
||||
static_cast<DilatableNetworkTexture*>(diffuseMap)->getDilatedTexture(_pupilDilation)).data();
|
||||
}
|
||||
}
|
||||
}
|
||||
static bool showDiffuse = true;
|
||||
if (showDiffuse && diffuseMap) {
|
||||
|
|
Loading…
Reference in a new issue