Skip to content

setFrame() under WEBGL environment not rendering correct frame #7370

Open
@pacpapapa

Description

@pacpapapa

Most appropriate sub-area of p5.js?

  • Accessibility
    Color
    Core/Environment/Rendering
    Data
    DOM
    Events
    Image
    IO
    Math
    Typography
    Utilities
    WebGL
    Build process
    Unit testing
    Internationalization
    Friendly errors
    Other (specify if possible)

p5.js version

1.11.1

Web browser and version

Arc 130.0.6723.117

Operating system

macOS 13.2.1

Steps to reproduce this

Steps:

  1. Here is an example: https://editor.p5js.org/a25811342/sketches/ctcrkd_71
  2. gif.getCurrentFrame() shows that it does apply assigned frame to the object.
  3. However, when using image() to render the image, the one in WEBGL environment is still, but the other one works fine with default renderer. (object be placed in another layer without WEBGL using createGraphics())

Snippet:

let gif;
let layer2d;

function preload() {
  gif = loadImage('Rotating_earth_(large).gif');
}

function setup() {
  createCanvas(400, 400, WEBGL);
  layer2d = createGraphics(width, height);
}

function draw() {
  background(220);
  
  let gifFrame = frameCount % (gif.numFrames());
  gif.setFrame(gifFrame);
  print(gif.getCurrentFrame());
  
  // setFrame() cannot apply to WEBGL environment.
  image(gif, -200, -200, 200, 200);
  
  // but work fine with default renderer.
  layer2d.image(gif, 0, 0, 200, 200);
  image(layer2d, 0, 0);
}

Activity

welcome

welcome commented on Nov 9, 2024

@welcome

Welcome! 👋 Thanks for opening your first issue here! And to ensure the community is able to respond to your issue, please make sure to fill out the inputs in the issue forms. Thank you!

rishabhs-rizz

rishabhs-rizz commented on Nov 26, 2024

@rishabhs-rizz

good issue, could you please assign this issue to me

davepagurek

davepagurek commented on Dec 20, 2024

@davepagurek
Contributor

Hey @rishabhs-rizz, sorry I missed this, I'll assign it to you!

swastikCommits

swastikCommits commented on Mar 2, 2025

@swastikCommits
Contributor

I m willing to work in this, since there has been inactivity.

davepagurek

davepagurek commented on Mar 2, 2025

@davepagurek
Contributor

I'll assign it to you @swastikCommits, @rishabhs-rizz if you're still interested in working on this maybe you two can collaborate and help review code?

Another note: We are close to releasing p5 2.0. Its development is taking place on the dev-2.0 branch. In addition to fixing this on main, it would also be beneficial to check if this problem exists in 2.0 (there's a CDN link for a beta build here: https://github.com/processing/p5.js/releases/tag/v2.0.0-beta.3) and making an additional PR into dev-2.0 if so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    Participants

    @davepagurek@pacpapapa@rishabhs-rizz@swastikCommits

    Issue actions

      setFrame() under WEBGL environment not rendering correct frame · Issue #7370 · processing/p5.js