parallax_layers — GFX2D tile op

• Data kinds: sprites → rgba

• Call: import fullseye as fs; fs.ledger.parallax_layers(layers, camera_x, factors, camera_y=0.0, factors_y=None) (implementation को सीधे call करना हो तो import gfx2d; gfx2d.parallax_layers(layers, camera_x, factors, camera_y=0.0, factors_y=None), registry से लेना हो तो opsgfx2d.get("parallax_layers"))

उपयोग

rgba layer के समूह को अलग-अलग दर से scroll करके composite करता है।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

layers[0] is the farthest layer and is drawn first. Each layer is shifted by -round(camera_x * factors[i]) columns (and rows, if factors_y is given) and wraps — a parallax backdrop is a loop, and wrapping is what makes it one.

Shifts are rounded to whole pixels, so the scroll is a pure permutation: a single layer shifted by exactly its own width comes back with its alpha channel bit-identical and its colour identical wherever alpha > 0. (The colour of *fully transparent* pixels is not preserved — compositing goes

through premultiply, which zeroes it by definition. That is the documented cost of the premultiplied round trip, not a bug in the scroll.)

Sub-pixel scrolling would resample every frame and accumulate blur, which is why it is not offered here — put the fractional part in sprite_transform if you need it.

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• gfx2d_scene — py -3.11 examples/gfx2d_scene.py

वे अगले ops जिनसे type जुड़ता है (rgba को input के रूप में लेते हैं)

premultiply · alpha_composite · sprite_blit · sprite_transform · sprite_sheet_slice · nine_slice

इसी category के (tile)

tilemap_render


*Provenance: gfx2d.py — GFX2D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.