Skip to content

Commit 0fcb0aa

Browse files
committed
brush display aspect ratio fixed
1 parent 6f01824 commit 0fcb0aa

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

NormalMapGeneratorTool/src/MainApp.cpp

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -597,29 +597,26 @@ int main(void)
597597
// Set up the default framebuffer
598598
FrameBufferSystem::bindDefaultFrameBuffer();
599599
#pragma region SETUP & RENDER BRUSH DATA
600+
const glm::vec2 heightMapRes = heightMapTexData.getRes();
601+
glm::vec2 brushAspectRatioHolder;
600602
if (windowSys.getWindowRes().x < windowSys.getWindowRes().y)
601603
{
602-
const glm::vec2 heightRes = heightMapTexData.getRes();
603-
brushPanel.getTransform()->setScale(glm::vec2((brushData.brushScale / heightRes.x),
604-
(brushData.brushScale / heightRes.y) * aspectRatio) * normalViewStateUtility.zoomLevel * 2.0f);
605-
606-
if (heightRes.x > heightRes.y)
607-
brushPanel.getTransform()->setScale(brushPanel.getTransform()->getScale() * glm::vec2(heightRes.x / heightRes.y, 1));
604+
if (heightMapTexData.getRes().x > heightMapTexData.getRes().y)
605+
brushAspectRatioHolder = glm::vec2(1.0f, aspectRatio) * glm::vec2(heightMapTexData.getRes().x / heightMapTexData.getRes().y, 1.0f);
608606
else
609-
brushPanel.getTransform()->setScale(brushPanel.getTransform()->getScale() * glm::vec2(1, heightRes.y / heightRes.x));
607+
brushAspectRatioHolder = glm::vec2(1.0f, aspectRatio) * glm::vec2(1, heightMapTexData.getRes().y / heightMapTexData.getRes().x);
610608
}
611609
else
612610
{
613-
const glm::vec2 heightRes = heightMapTexData.getRes();
614-
brushPanel.getTransform()->setScale(glm::vec2((brushData.brushScale / heightRes.x) / aspectRatio,
615-
(brushData.brushScale / heightRes.y)) * normalViewStateUtility.zoomLevel * 2.0f);
616-
617-
if (heightRes.x > heightRes.y)
618-
brushPanel.getTransform()->setScale(brushPanel.getTransform()->getScale() * glm::vec2(heightMapTexData.getRes().x / heightMapTexData.getRes().y, 1));
611+
if (heightMapTexData.getRes().x > heightMapTexData.getRes().y)
612+
brushAspectRatioHolder = glm::vec2(1.0f / aspectRatio, 1.0f) * glm::vec2(heightMapTexData.getRes().x / heightMapTexData.getRes().y, 1.0f);
619613
else
620-
brushPanel.getTransform()->setScale(brushPanel.getTransform()->getScale() * glm::vec2(1, heightMapTexData.getRes().y / heightMapTexData.getRes().x));
614+
brushAspectRatioHolder = glm::vec2(1.0f / aspectRatio, 1.0f) * glm::vec2(1, heightMapTexData.getRes().y / heightMapTexData.getRes().x);
621615
}
616+
brushPanel.getTransform()->setScale(brushAspectRatioHolder * (brushData.brushScale / heightMapTexData.getRes().y) * normalViewStateUtility.zoomLevel * 2.0f);
617+
622618
GL::setBlendingMethod(BlendParam::SRC_ALPHA, BlendParam::ONE_MINUS_SRC_ALPHA);
619+
623620
brushPreviewShader.use();
624621
brushPanel.getTransform()->setPosition(((curMouseCoord.x / windowSys.getWindowRes().x) * 2.0f) - 1.0f,
625622
-(((curMouseCoord.y / windowSys.getWindowRes().y) * 2.0f) - 1.0f));

0 commit comments

Comments
 (0)