mirror of
https://github.com/overte-org/overte.git
synced 2025-04-17 14:46:40 +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())
|
||||
{
|
||||
_model->init();
|
||||
_model->setSpatiallyNestableOverride(this);
|
||||
_isLoaded = false;
|
||||
}
|
||||
|
||||
|
@ -33,6 +34,7 @@ ModelOverlay::ModelOverlay(const ModelOverlay* modelOverlay) :
|
|||
_updateModel(false)
|
||||
{
|
||||
_model->init();
|
||||
_model->setSpatiallyNestableOverride(this);
|
||||
if (_url.isValid()) {
|
||||
_updateModel = true;
|
||||
_isLoaded = false;
|
||||
|
|
|
@ -508,7 +508,7 @@ ModelPointer RenderableModelEntityItem::getModel(QSharedPointer<EntityTreeRender
|
|||
// If we don't have a model, allocate one *immediately*
|
||||
if (!_model) {
|
||||
_model = _myRenderer->allocateModel(getModelURL(), renderer->getEntityLoadingPriority(*this));
|
||||
_model->setSpatiallyNestableOverride(shared_from_this());
|
||||
_model->setSpatiallyNestableOverride(this);
|
||||
_needsInitialSimulation = true;
|
||||
// If we need to change URLs, update it *after rendering* (to avoid access violations)
|
||||
} else if (QUrl(getModelURL()) != _model->getURL()) {
|
||||
|
|
|
@ -133,16 +133,15 @@ void Model::setRotation(const glm::quat& rotation) {
|
|||
updateRenderItems();
|
||||
}
|
||||
|
||||
void Model::setSpatiallyNestableOverride(SpatiallyNestablePointer override) {
|
||||
void Model::setSpatiallyNestableOverride(SpatiallyNestable* override) {
|
||||
_spatiallyNestableOverride = override;
|
||||
updateRenderItems();
|
||||
}
|
||||
|
||||
Transform Model::getTransform() const {
|
||||
SpatiallyNestablePointer spatiallyNestableOverride = _spatiallyNestableOverride.lock();
|
||||
if (spatiallyNestableOverride) {
|
||||
if (_spatiallyNestableOverride) {
|
||||
bool success;
|
||||
Transform transform = spatiallyNestableOverride->getTransform(success);
|
||||
Transform transform = _spatiallyNestableOverride->getTransform(success);
|
||||
if (success) {
|
||||
transform.setScale(getScale());
|
||||
return transform;
|
||||
|
|
|
@ -205,7 +205,7 @@ public:
|
|||
|
||||
void setTranslation(const glm::vec3& translation);
|
||||
void setRotation(const glm::quat& rotation);
|
||||
void setSpatiallyNestableOverride(SpatiallyNestablePointer ptr);
|
||||
void setSpatiallyNestableOverride(SpatiallyNestable* ptr);
|
||||
|
||||
const glm::vec3& getTranslation() const { return _translation; }
|
||||
const glm::quat& getRotation() const { return _rotation; }
|
||||
|
@ -297,7 +297,7 @@ protected:
|
|||
glm::quat _rotation;
|
||||
glm::vec3 _scale;
|
||||
|
||||
SpatiallyNestableWeakPointer _spatiallyNestableOverride;
|
||||
SpatiallyNestable* _spatiallyNestableOverride { nullptr };
|
||||
|
||||
glm::vec3 _offset;
|
||||
|
||||
|
|
Loading…
Reference in a new issue