summaryrefslogtreecommitdiff
path: root/graphics.c
diff options
context:
space:
mode:
authorMitya Selivanov <automainint@guattari.tech>2025-02-14 15:54:46 +0100
committerMitya Selivanov <automainint@guattari.tech>2025-02-14 15:54:46 +0100
commit9eb170e70a7be9ed418152ad1b679473fbe0c35a (patch)
tree3dbfdae858aad250005b6a3b33d7d8ba4856e216 /graphics.c
parent236a55c6e3c6554a8ff68a9ca17053dd2c4e9cee (diff)
downloadreduced_system_layer-9eb170e70a7be9ed418152ad1b679473fbe0c35a.zip
Copy pixels fixes
Diffstat (limited to 'graphics.c')
-rwxr-xr-xgraphics.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/graphics.c b/graphics.c
index 17afe97..c8df0c8 100755
--- a/graphics.c
+++ b/graphics.c
@@ -313,13 +313,13 @@ void draw_pixels_to_buffer(Pixel_Buffer dst, Box area, Pixel_Buffer src) {
f64 di = src.width / area.width;
f64 dj = src.height / area.height;
- f64 jj = (j0 - area.y) * dj;
+ f64 jj = (j0 - area.y) * dj + dj * .5;
for (i64 j = j0; j < j1; ++j, jj += dj) {
if (jj < 0 || jj >= src.height) continue;
vec4_f32 *d = dst.pixels + j * dst.stride + i0;
vec4_f32 *d_end = d + i1 - i0;
vec4_f32 *s = src.pixels + (i64) jj * src.stride;
- f64 ii = (i0 - area.x) * di;
+ f64 ii = (i0 - area.x) * di + di * .5;
if (ii < 0 || ii >= src.width) continue;
for (; d < d_end; ++d, ii += di)
put_pixel_(d, s[(i64) ii]);