Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Support AtlasTexture regions in AnimatedTexture direct RID consumers

Open
#1,470 0 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@DaveTheEggman is already working on this.

Since Oct 2, 2026.

Assessment

This issue has not been assessed yet.

Description

Summary

Support AtlasTexture frames in AnimatedTexture when a consumer uses AnimatedTexture::get_rid() directly.

PR #1467 fixes use through the Texture2D drawing API by forwarding draw(), draw_rect(), and draw_rect_region() to the current frame texture. Direct RID support is intentionally outside that PR's scope.

The existing proxy receives the current frame texture's RID. For an AtlasTexture, that RID represents the underlying atlas image, not the selected region. Direct RID consumers therefore do not receive the cropped frame.

Required changes

  • Investigate a rendering-side representation that preserves the selected AtlasTexture region for direct RID consumers.
  • Update AnimatedTexture proxy handling to use that representation when appropriate.
  • Preserve existing behavior for ordinary Texture2D frames and the drawing API.
  • Document the supported behavior and any remaining limitations.
  • Add regression coverage or a reproducible validation project for direct RID use across frame changes.

Affected areas

  • scene/resources/animated_texture.cpp: AnimatedTexture::_update_proxy() and AnimatedTexture::get_rid().
  • RenderingServer texture proxy handling and the relevant rendering backends, as identified during investigation.
  • doc/classes/AnimatedTexture.xml.

Acceptance criteria

  • A direct RID consumer displays the selected atlas region rather than the full atlas image.
  • Switching between AtlasTexture frames updates the displayed region correctly.
  • Ordinary texture frames and Texture2D drawing API use continue to work.
  • Validation covers frames with different atlas regions and documents any unsupported AtlasTexture features.

Context

Requested by @DaveTheEggman as a separate follow-up.

Dominant language
C++
Stars
6.1k
Forks
337
Avg merge
1d 13h
Merged PRs (30d)
39

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Redot-Engine/redot-engine

All issues in Redot-Engine/redot-engine

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.