mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-23 21:54:09 +02:00
Fix for one-frame lag in the tablet stylus.
This commit is contained in:
parent
5a0990fbe4
commit
0962a15a06
4 changed files with 8 additions and 7 deletions
|
@ -22,6 +22,7 @@ ModelOverlay::ModelOverlay()
|
||||||
_modelTextures(QVariantMap())
|
_modelTextures(QVariantMap())
|
||||||
{
|
{
|
||||||
_model->init();
|
_model->init();
|
||||||
|
_model->setSpatiallyNestableOverride(this);
|
||||||
_isLoaded = false;
|
_isLoaded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,6 +34,7 @@ ModelOverlay::ModelOverlay(const ModelOverlay* modelOverlay) :
|
||||||
_updateModel(false)
|
_updateModel(false)
|
||||||
{
|
{
|
||||||
_model->init();
|
_model->init();
|
||||||
|
_model->setSpatiallyNestableOverride(this);
|
||||||
if (_url.isValid()) {
|
if (_url.isValid()) {
|
||||||
_updateModel = true;
|
_updateModel = true;
|
||||||
_isLoaded = false;
|
_isLoaded = false;
|
||||||
|
|
|
@ -508,7 +508,7 @@ ModelPointer RenderableModelEntityItem::getModel(QSharedPointer<EntityTreeRender
|
||||||
// If we don't have a model, allocate one *immediately*
|
// If we don't have a model, allocate one *immediately*
|
||||||
if (!_model) {
|
if (!_model) {
|
||||||
_model = _myRenderer->allocateModel(getModelURL(), renderer->getEntityLoadingPriority(*this));
|
_model = _myRenderer->allocateModel(getModelURL(), renderer->getEntityLoadingPriority(*this));
|
||||||
_model->setSpatiallyNestableOverride(shared_from_this());
|
_model->setSpatiallyNestableOverride(this);
|
||||||
_needsInitialSimulation = true;
|
_needsInitialSimulation = true;
|
||||||
// If we need to change URLs, update it *after rendering* (to avoid access violations)
|
// If we need to change URLs, update it *after rendering* (to avoid access violations)
|
||||||
} else if (QUrl(getModelURL()) != _model->getURL()) {
|
} else if (QUrl(getModelURL()) != _model->getURL()) {
|
||||||
|
|
|
@ -133,16 +133,15 @@ void Model::setRotation(const glm::quat& rotation) {
|
||||||
updateRenderItems();
|
updateRenderItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Model::setSpatiallyNestableOverride(SpatiallyNestablePointer override) {
|
void Model::setSpatiallyNestableOverride(SpatiallyNestable* override) {
|
||||||
_spatiallyNestableOverride = override;
|
_spatiallyNestableOverride = override;
|
||||||
updateRenderItems();
|
updateRenderItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
Transform Model::getTransform() const {
|
Transform Model::getTransform() const {
|
||||||
SpatiallyNestablePointer spatiallyNestableOverride = _spatiallyNestableOverride.lock();
|
if (_spatiallyNestableOverride) {
|
||||||
if (spatiallyNestableOverride) {
|
|
||||||
bool success;
|
bool success;
|
||||||
Transform transform = spatiallyNestableOverride->getTransform(success);
|
Transform transform = _spatiallyNestableOverride->getTransform(success);
|
||||||
if (success) {
|
if (success) {
|
||||||
transform.setScale(getScale());
|
transform.setScale(getScale());
|
||||||
return transform;
|
return transform;
|
||||||
|
|
|
@ -205,7 +205,7 @@ public:
|
||||||
|
|
||||||
void setTranslation(const glm::vec3& translation);
|
void setTranslation(const glm::vec3& translation);
|
||||||
void setRotation(const glm::quat& rotation);
|
void setRotation(const glm::quat& rotation);
|
||||||
void setSpatiallyNestableOverride(SpatiallyNestablePointer ptr);
|
void setSpatiallyNestableOverride(SpatiallyNestable* ptr);
|
||||||
|
|
||||||
const glm::vec3& getTranslation() const { return _translation; }
|
const glm::vec3& getTranslation() const { return _translation; }
|
||||||
const glm::quat& getRotation() const { return _rotation; }
|
const glm::quat& getRotation() const { return _rotation; }
|
||||||
|
@ -297,7 +297,7 @@ protected:
|
||||||
glm::quat _rotation;
|
glm::quat _rotation;
|
||||||
glm::vec3 _scale;
|
glm::vec3 _scale;
|
||||||
|
|
||||||
SpatiallyNestableWeakPointer _spatiallyNestableOverride;
|
SpatiallyNestable* _spatiallyNestableOverride { nullptr };
|
||||||
|
|
||||||
glm::vec3 _offset;
|
glm::vec3 _offset;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue