Kaydet (Commit) bd5ebeb6 authored tarafından Tomáš Chvátal's avatar Tomáš Chvátal Kaydeden (comit) Fridrich Strba

Allow building with more recent glm versions

Use glm::scale(glm::vec3(x, y, z)) instead of glm::scale(x, y, z)

Cherry-pick of: 7da3ce7c

Change-Id: Ib9ad6b57cb6b74c8c43c9f6b48f312bfc499ffbe
Reviewed-on: https://gerrit.libreoffice.org/9808Reviewed-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
Tested-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
üst 4d7e4e63
...@@ -121,8 +121,8 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer ...@@ -121,8 +121,8 @@ void GL3DBarChart::create3DShapes(const boost::ptr_vector<VDataSeries>& rDataSer
float nXPos = nIndex * (nBarSizeX + nBarDistanceX); float nXPos = nIndex * (nBarSizeX + nBarDistanceX);
glm::mat4 aScaleMatrix = glm::scale(nBarSizeX, nBarSizeY, nVal); glm::mat4 aScaleMatrix = glm::scale(glm::vec3(nBarSizeX, nBarSizeY, nVal));
glm::mat4 aTranslationMatrix = glm::translate(nXPos, nYPos, 0.0f); glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(nXPos, nYPos, 0.0f));
glm::mat4 aBarPosition = aTranslationMatrix * aScaleMatrix; glm::mat4 aBarPosition = aTranslationMatrix * aScaleMatrix;
maShapes.push_back(new opengl3D::Bar(mpRenderer.get(), aBarPosition, nColor, nId++)); maShapes.push_back(new opengl3D::Bar(mpRenderer.get(), aBarPosition, nColor, nId++));
......
...@@ -1003,7 +1003,7 @@ void OpenGL3DRenderer::AddShape3DExtrudeObject(bool roundedCorner, sal_uInt32 nC ...@@ -1003,7 +1003,7 @@ void OpenGL3DRenderer::AddShape3DExtrudeObject(bool roundedCorner, sal_uInt32 nC
m_Extrude3DInfo.yScale = glm::length(DirY); m_Extrude3DInfo.yScale = glm::length(DirY);
m_Extrude3DInfo.zScale = glm::length(DirZ); m_Extrude3DInfo.zScale = glm::length(DirZ);
glm::mat4 transformMatrixInverse = glm::inverse(glm::translate(glm::vec3(tranform))); glm::mat4 transformMatrixInverse = glm::inverse(glm::translate(glm::vec3(tranform)));
glm::mat4 scaleMatrixInverse = glm::inverse(glm::scale(m_Extrude3DInfo.xScale, m_Extrude3DInfo.yScale, m_Extrude3DInfo.zScale * crossZ)); glm::mat4 scaleMatrixInverse = glm::inverse(glm::scale(glm::vec3(m_Extrude3DInfo.xScale, m_Extrude3DInfo.yScale, m_Extrude3DInfo.zScale * crossZ)));
m_Extrude3DInfo.rotation = transformMatrixInverse * modelMatrix * scaleMatrixInverse; m_Extrude3DInfo.rotation = transformMatrixInverse * modelMatrix * scaleMatrixInverse;
//color //color
m_Extrude3DInfo.extrudeColor = getColorAsVector(nColor); m_Extrude3DInfo.extrudeColor = getColorAsVector(nColor);
...@@ -1109,7 +1109,7 @@ void OpenGL3DRenderer::RenderExtrudeFlatSurface(const Extrude3DInfo& extrude3D, ...@@ -1109,7 +1109,7 @@ void OpenGL3DRenderer::RenderExtrudeFlatSurface(const Extrude3DInfo& extrude3D,
extrude3D.yTransform, extrude3D.yTransform,
extrude3D.zTransform}; extrude3D.zTransform};
glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z)); glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z));
glm::mat4 flatScale = glm::scale(xyScale, xyScale, xyScale); glm::mat4 flatScale = glm::scale(glm::vec3(xyScale, xyScale, xyScale));
m_Model = aTranslationMatrix * extrude3D.rotation * flatScale; m_Model = aTranslationMatrix * extrude3D.rotation * flatScale;
if(!mbPickingMode) if(!mbPickingMode)
{ {
...@@ -1150,7 +1150,7 @@ void OpenGL3DRenderer::RenderExtrudeBottomSurface(const Extrude3DInfo& extrude3D ...@@ -1150,7 +1150,7 @@ void OpenGL3DRenderer::RenderExtrudeBottomSurface(const Extrude3DInfo& extrude3D
else else
{ {
glm::mat4 topTrans = glm::translate(glm::vec3(0.0, 0.0, -actualZTrans)); glm::mat4 topTrans = glm::translate(glm::vec3(0.0, 0.0, -actualZTrans));
glm::mat4 topScale = glm::scale(xyScale, xyScale, xyScale); glm::mat4 topScale = glm::scale(glm::vec3(xyScale, xyScale, xyScale));
glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z)); glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z));
m_Model = aTranslationMatrix * extrude3D.rotation * topTrans * topScale; m_Model = aTranslationMatrix * extrude3D.rotation * topTrans * topScale;
} }
...@@ -1189,7 +1189,7 @@ void OpenGL3DRenderer::RenderExtrudeMiddleSurface(const Extrude3DInfo& extrude3D ...@@ -1189,7 +1189,7 @@ void OpenGL3DRenderer::RenderExtrudeMiddleSurface(const Extrude3DInfo& extrude3D
} }
else else
{ {
glm::mat4 scale = glm::scale(xyScale, xyScale,actualZScale); glm::mat4 scale = glm::scale(glm::vec3(xyScale, xyScale,actualZScale));
glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z)); glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z));
m_Model = aTranslationMatrix * extrude3D.rotation * scale; m_Model = aTranslationMatrix * extrude3D.rotation * scale;
} }
...@@ -1231,7 +1231,7 @@ void OpenGL3DRenderer::RenderExtrudeTopSurface(const Extrude3DInfo& extrude3D) ...@@ -1231,7 +1231,7 @@ void OpenGL3DRenderer::RenderExtrudeTopSurface(const Extrude3DInfo& extrude3D)
//yScale /= (float)(1 + BOTTOM_THRESHOLD); //yScale /= (float)(1 + BOTTOM_THRESHOLD);
zScale /= (float)(m_RoundBarMesh.bottomThreshold); zScale /= (float)(m_RoundBarMesh.bottomThreshold);
glm::mat4 orgTrans = glm::translate(glm::vec3(0.0, 0.0, -1.0)); glm::mat4 orgTrans = glm::translate(glm::vec3(0.0, 0.0, -1.0));
glm::mat4 scale = glm::scale(xyScale, xyScale, zScale); glm::mat4 scale = glm::scale(glm::vec3(xyScale, xyScale, zScale));
//MoveModelf(trans, angle, scale); //MoveModelf(trans, angle, scale);
glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z)); glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z));
m_Model = aTranslationMatrix * extrude3D.rotation * scale * orgTrans; m_Model = aTranslationMatrix * extrude3D.rotation * scale * orgTrans;
...@@ -1241,7 +1241,7 @@ void OpenGL3DRenderer::RenderExtrudeTopSurface(const Extrude3DInfo& extrude3D) ...@@ -1241,7 +1241,7 @@ void OpenGL3DRenderer::RenderExtrudeTopSurface(const Extrude3DInfo& extrude3D)
// use different matrices for different parts // use different matrices for different parts
glm::mat4 orgTrans = glm::translate(glm::vec3(0.0, 0.0, -1.0)); glm::mat4 orgTrans = glm::translate(glm::vec3(0.0, 0.0, -1.0));
glm::mat4 topTrans = glm::translate(glm::vec3(0.0, 0.0, actualZTrans)); glm::mat4 topTrans = glm::translate(glm::vec3(0.0, 0.0, actualZTrans));
glm::mat4 topScale = glm::scale(xyScale, xyScale, xyScale); glm::mat4 topScale = glm::scale(glm::vec3(xyScale, xyScale, xyScale));
glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z)); glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z));
m_Model = aTranslationMatrix * extrude3D.rotation * topTrans * topScale * orgTrans; m_Model = aTranslationMatrix * extrude3D.rotation * topTrans * topScale * orgTrans;
} }
...@@ -1269,7 +1269,7 @@ void OpenGL3DRenderer::RenderNonRoundedBar(const Extrude3DInfo& extrude3D) ...@@ -1269,7 +1269,7 @@ void OpenGL3DRenderer::RenderNonRoundedBar(const Extrude3DInfo& extrude3D)
float yScale = extrude3D.yScale; float yScale = extrude3D.yScale;
float zScale = extrude3D.zScale; float zScale = extrude3D.zScale;
glm::mat4 transformMatrix = glm::translate(glm::vec3(extrude3D.xTransform, extrude3D.yTransform, extrude3D.zTransform)); glm::mat4 transformMatrix = glm::translate(glm::vec3(extrude3D.xTransform, extrude3D.yTransform, extrude3D.zTransform));
glm::mat4 scaleMatrix = glm::scale(xScale, yScale, zScale); glm::mat4 scaleMatrix = glm::scale(glm::vec3(xScale, yScale, zScale));
m_Model = transformMatrix * extrude3D.rotation * scaleMatrix; m_Model = transformMatrix * extrude3D.rotation * scaleMatrix;
if (extrude3D.reverse) if (extrude3D.reverse)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment