Solve bug that cause some vertices to be misplaced in MultiModelGeometry and calculate MVP matrix for renderable model in double precision

This commit is contained in:
Kalle Bladin
2016-08-02 19:14:52 -04:00
parent 93d661bfc6
commit 4e0bbe2da0
31 changed files with 63 additions and 4675 deletions

View File

@@ -38,7 +38,7 @@ public:
Ephemeris(const ghoul::Dictionary& dictionary);
virtual ~Ephemeris();
virtual bool initialize();
virtual const psc& position() const = 0;
virtual const glm::dvec3& position() const = 0;
virtual const glm::dmat3& worldRotationMatrix() const = 0;
virtual void update(const UpdateData& data);

View File

@@ -76,8 +76,8 @@ public:
void setParent(SceneGraphNode* parent);
//bool abandonChild(SceneGraphNode* child);
const psc& position() const;
psc worldPosition() const;
const glm::dvec3& position() const;
glm::dvec3 worldPosition() const;
const glm::dmat3& worldRotationMatrix() const;
@@ -104,7 +104,7 @@ public:
private:
bool sphereInsideFrustum(const psc& s_pos, const PowerScaledScalar& s_rad, const Camera* camera);
psc calculateWorldPosition() const;
glm::dvec3 calculateWorldPosition() const;
std::vector<SceneGraphNode*> _children;
SceneGraphNode* _parent;
@@ -118,7 +118,8 @@ private:
bool _boundingSphereVisible;
PowerScaledScalar _boundingSphere;
psc _worldPositionCached;
//psc _worldPositionCached;
glm::dvec3 _worldPositionCached;
};
} // namespace openspace