From a919e3d3d415a42c839d8e57152d9bf826e42dab Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Sun, 6 Jul 2025 03:35:36 +0100 Subject: [PATCH] add function to convert from absolute pixel value to NDC --- dotscape | Bin 1051728 -> 1051728 bytes temp-squares/fcore/ndc.sml | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dotscape b/dotscape index 7dd7c06402babaac67162165fd3f9c271dde0510..8e6a97bb14b0a8cf106f70a7be487436d8979caa 100755 GIT binary patch delta 42059 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 UjRBtBn_qS`SW7*7)xgmI0jgRCi2wiq delta 41842 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 Rss>{oelHd+_Q9x%h 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 diff --git a/temp-squares/fcore/ndc.sml b/temp-squares/fcore/ndc.sml index ec1a180..fcf0177 100644 --- a/temp-squares/fcore/ndc.sml +++ b/temp-squares/fcore/ndc.sml @@ -24,7 +24,7 @@ struct fun fromPixelX (xpos, windowWidth, windowHeight) = let - val halfWidth = (Real32.fromInt windowWidth) / 2.0 + val halfWidth = Real32.fromInt (windowWidth div 2) val xpos = xpos - halfWidth in if windowWidth > windowHeight then @@ -40,7 +40,7 @@ struct fun fromPixelY (ypos, windowWidth, windowHeight) = let - val halfHeight = (Real32.fromInt windowHeight) / 2.0 + val halfHeight = Real32.fromInt (windowHeight div 2) val ypos = ~(ypos - halfHeight) in if windowHeight > windowWidth then