Video texture / Image Sequence not refreshing under eevee #57457

Closed
opened 4 years ago by Ericserpi · 147 comments

{F5282778}System Information
Mac OSX and gtx 980 ti

Blender Version
Broken: 2.80.0 3bc8bc0709

When navigating in timeline, shader with video texture doesn't refresh with eevee , but it's working when I switch to cycles

EDIT: same result in viewport or render (ctrl F12)

{[F5282778](https://archive.blender.org/developer/F5282778/test.zip)}**System Information** Mac OSX and gtx 980 ti **Blender Version** Broken: 2.80.0 3bc8bc0709a **When navigating in timeline, shader with video texture doesn't refresh with eevee , but it's working when I switch to cycles** EDIT: same result in viewport or render (ctrl F12)
Poster

Added subscriber: @Ericserpi

Added subscriber: @Ericserpi
Collaborator

#61680 was marked as duplicate of this issue

#61680 was marked as duplicate of this issue
Collaborator

#60878 was marked as duplicate of this issue

#60878 was marked as duplicate of this issue
Collaborator

#60728 was marked as duplicate of this issue

#60728 was marked as duplicate of this issue
Collaborator

#60716 was marked as duplicate of this issue

#60716 was marked as duplicate of this issue
Collaborator

#60644 was marked as duplicate of this issue

#60644 was marked as duplicate of this issue
Collaborator

#56715 was marked as duplicate of this issue

#56715 was marked as duplicate of this issue
Collaborator

#60414 was marked as duplicate of this issue

#60414 was marked as duplicate of this issue
Collaborator

#60371 was marked as duplicate of this issue

#60371 was marked as duplicate of this issue
Collaborator

#60297 was marked as duplicate of this issue

#60297 was marked as duplicate of this issue
Collaborator

#59394 was marked as duplicate of this issue

#59394 was marked as duplicate of this issue
Collaborator

#60255 was marked as duplicate of this issue

#60255 was marked as duplicate of this issue
Collaborator

#60035 was marked as duplicate of this issue

#60035 was marked as duplicate of this issue
Collaborator

#60026 was marked as duplicate of this issue

#60026 was marked as duplicate of this issue
Collaborator

#59148 was marked as duplicate of this issue

#59148 was marked as duplicate of this issue
Collaborator

#59277 was marked as duplicate of this issue

#59277 was marked as duplicate of this issue
Collaborator

#59139 was marked as duplicate of this issue

#59139 was marked as duplicate of this issue
Collaborator

#58418 was marked as duplicate of this issue

#58418 was marked as duplicate of this issue
Collaborator

#58804 was marked as duplicate of this issue

#58804 was marked as duplicate of this issue
Collaborator

#58724 was marked as duplicate of this issue

#58724 was marked as duplicate of this issue
Collaborator

#58052 was marked as duplicate of this issue

#58052 was marked as duplicate of this issue
Collaborator

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Collaborator

Please always provide a simple .blend file that demonstrates the issue.
(It takes time setting these up -- also it makes sure we are all on the same page then)

also: is this about viewport rendering (or F12?)?

Marking as incomplete until we have these...

Please always provide a simple .blend file that demonstrates the issue. (It takes time setting these up -- also it makes sure we are all on the same page then) also: is this about viewport rendering (or F12?)? Marking as incomplete until we have these...
Collaborator

Added subscriber: @fclem

Added subscriber: @fclem
Collaborator

Confirmed.
Before digging deeper: @fclem: is this a known limitation atm.?

Confirmed. Before digging deeper: @fclem: is this a known limitation atm.?
fclem commented 4 years ago
Collaborator

Nope. It's something that seems to have been remove when removing the BGE. I know nothing on how it was done before and what would be the best way to reimplement this.

Nope. It's something that seems to have been remove when removing the BGE. I know nothing on how it was done before and what would be the best way to reimplement this.
fclem commented 4 years ago
Collaborator

Well I hoped something like that would work:

diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index e9d874bd1ee..2cf3494802d 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -40,6 +40,8 @@
 - include "BLI_link_utils.h"
 - include "BLI_mempool.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "intern/gpu_codegen.h"
 
 struct GPUVertFormat *g_pos_format = NULL;
@@ -802,7 +804,7 @@ static DRWShadingGroup *drw_shgroup_material_inputs(DRWShadingGroup *grp, struct
 			GPUTexture *tex = NULL;
 
 			if (input->ima) {
-				double time = 0.0; /* TODO make time variable */
+				double time = DEG_get_ctime(DST.draw_ctx.depsgraph);
 				tex = GPU_texture_from_blender(input->ima, input->iuser, GL_TEXTURE_2D, input->image_isdata, time);
 			}
 			else {

But GPU_texture_from_blender does not do anything with time...

Well I hoped something like that would work: ``` diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c index e9d874bd1ee..2cf3494802d 100644 --- a/source/blender/draw/intern/draw_manager_data.c +++ b/source/blender/draw/intern/draw_manager_data.c @@ -40,6 +40,8 @@ - include "BLI_link_utils.h" - include "BLI_mempool.h" +#include "DEG_depsgraph_query.h" + #include "intern/gpu_codegen.h" struct GPUVertFormat *g_pos_format = NULL; @@ -802,7 +804,7 @@ static DRWShadingGroup *drw_shgroup_material_inputs(DRWShadingGroup *grp, struct GPUTexture *tex = NULL; if (input->ima) { - double time = 0.0; /* TODO make time variable */ + double time = DEG_get_ctime(DST.draw_ctx.depsgraph); tex = GPU_texture_from_blender(input->ima, input->iuser, GL_TEXTURE_2D, input->image_isdata, time); } else { ``` But GPU_texture_from_blender does not do anything with `time`...
Collaborator

Will also have a look tomorrow [cycles seems to be updating -- in rendered view...]

Will also have a look tomorrow [cycles seems to be updating -- in rendered view...]
Collaborator

Added subscriber: @MarceloBeck

Added subscriber: @MarceloBeck
Collaborator

Added subscriber: @mhcall

Added subscriber: @mhcall

Added subscriber: @al.mijn.email

Added subscriber: @al.mijn.email
mhcall commented 4 years ago

Hi Philipp,

I have added a testfile Kati_test.blend.

The Clip I could not pack into blender, so I add the mp4 clip in addition (zip).
The Video texture is 2009 12 26 Kati 2_1.zip.

No timeline reresh and no frame refresh with Ctrl+F12.

Hi Philipp, I have added a testfile [Kati_test.blend](https://archive.blender.org/developer/F5837460/Kati_test.blend). The Clip I could not pack into blender, so I add the mp4 clip in addition (zip). The Video texture is [2009 12 26 Kati 2_1.zip](https://archive.blender.org/developer/F5837620/2009_12_26_Kati_2_1.zip). No timeline reresh and no frame refresh with Ctrl+F12.
brecht commented 4 years ago
Owner

Added subscriber: @vistula_waves

Added subscriber: @vistula_waves
zanqdo commented 4 years ago
Collaborator

Added subscriber: @zanqdo

Added subscriber: @zanqdo
zanqdo commented 4 years ago
Collaborator

Hi, any update or workaround on this issue? We're being hit by it :)

Hi, any update or workaround on this issue? We're being hit by it :)
zanqdo commented 4 years ago
Collaborator

Well in case anyone else needs it urgently, for now I've hacked it with a frame change handler. It works in viewport and render but only if the image editor is present :p

image.png

Well in case anyone else needs it urgently, for now I've hacked it with a frame change handler. It works in viewport and render but only if the image editor is present :p ![image.png](https://archive.blender.org/developer/F5861336/image.png)
mhcall commented 4 years ago

Hi Daniel,

Thank you very much for taking care!
The script runs well in the Image Editor, however I couldn't manage to run it in the render view, please see my test Image added here.
May be I made a mistake…?clip_test.jpg

Hi Daniel, Thank you very much for taking care! The script runs well in the Image Editor, however I couldn't manage to run it in the render view, please see my test Image added here. May be I made a mistake…?![clip_test.jpg](https://archive.blender.org/developer/F5861512/clip_test.jpg)
ZedDB commented 4 years ago
Collaborator

Added subscriber: @Zacc

Added subscriber: @Zacc
zanqdo commented 4 years ago
Collaborator

@mhcall You have a typo in line 4.

@mhcall You have a typo in line 4.
mhcall commented 4 years ago

Thanks, Daniel!
Repaired… nevertheless… no Ctrl+F12 result… stucks at one Frame.
Scrolling timeline, the Image Editor refreshes well, though.

Thanks, Daniel! Repaired… nevertheless… no Ctrl+F12 result… stucks at one Frame. Scrolling timeline, the Image Editor refreshes well, though.
mhcall commented 4 years ago

and.. which built is in use at your site?

and.. which built is in use at your site?
zanqdo commented 4 years ago
Collaborator

@mhcall It does work with rendering animation for me

@mhcall It does work with rendering animation for me
zanqdo commented 4 years ago
Collaborator

@mhcall I see you have 2 copies of the movie, the one your referencing in the script is Kati.mp4, the one in the image editor is Kati.mp4.001

The image editor has to have the same movie displayed.

@mhcall I see you have 2 copies of the movie, the one your referencing in the script is Kati.mp4, the one in the image editor is Kati.mp4.001 The image editor has to have the same movie displayed.
mhcall commented 4 years ago

Yes, you're right. I reloaded the orgingal 'Kati.mp4'.. however, it won't seem to work in the render view.
This is my current blender Version blender_version.jpg

And this was - at least at my place here - the last 2.8x blender Version, which worked well with animated textrues:
blender_version-2018-04-10.jpg

Eventually this hint might help to locate the "bug" (?)....t.

Yes, you're right. I reloaded the orgingal 'Kati.mp4'.. however, it won't seem to work in the render view. This is my current blender Version ![blender_version.jpg](https://archive.blender.org/developer/F5876620/blender_version.jpg) And this was - at least at my place here - the last 2.8x blender Version, which worked well with animated textrues: ![blender_version-2018-04-10.jpg](https://archive.blender.org/developer/F5876738/blender_version-2018-04-10.jpg) Eventually this hint might help to locate the "bug" (?)....t.

for easy copy paste:

import bpy

def clipReload(scene):
    bpy.data.images['pasteclipnamere.mp4'].reload()
    print('Clip Reloaded')
    
bpy.app.handlers.frame_change_pre.append(clipReload)
for easy copy paste: ``` import bpy def clipReload(scene): bpy.data.images['pasteclipnamere.mp4'].reload() print('Clip Reloaded') bpy.app.handlers.frame_change_pre.append(clipReload) ```
Collaborator

Added subscribers: @VFX_Man, @StephenSwaney

Added subscribers: @VFX_Man, @StephenSwaney
zanqdo commented 4 years ago
Collaborator

I don't know what else to say :) The hack works for me. Did you actually execute the script? In my original screenshot I have the Register option enabled. This makes it so that the script is executed automatically on load. Also the Auto Run Python Scripts preference must be enabled..

I don't know what else to say :) The hack works for me. Did you actually execute the script? In my original screenshot I have the Register option enabled. This makes it so that the script is executed automatically on load. Also the Auto Run Python Scripts preference must be enabled..
zanqdo commented 4 years ago
Collaborator

This comment was removed by @zanqdo

*This comment was removed by @zanqdo*
zanqdo commented 4 years ago
Collaborator

OK I found a hack for the hack :) When rendering doesn't work, you can render a "Playblast" with View/Viewport Render Animation.

The problem is the viewport render doesn't respect sample settings..

OK I found a hack for the hack :) When rendering doesn't work, you can render a "Playblast" with View/Viewport Render Animation. The problem is the viewport render doesn't respect sample settings..
brecht commented 4 years ago
Owner

Added subscriber: @jmekiff

Added subscriber: @jmekiff
brecht commented 4 years ago
Owner

Added subscriber: @MarcelLegindi

Added subscriber: @MarcelLegindi

Added subscriber: @ReljaTrajkovic

Added subscriber: @ReljaTrajkovic

Added subscriber: @ArsenMikitov

Added subscriber: @ArsenMikitov

In #57457#571701, @zanqdo wrote:
Well in case anyone else needs it urgently, for now I've hacked it with a frame change handler. It works in viewport and render but only if the image editor is present :p

image.png

Thank you, great man! This way works for me! At first there were problems, but I saw the "Register" switch in the text editor. When I turned it on, the script worked. Now I see animated textures :) Super.
Blender 2.80 beta. Linux Ubuntu x64. Eevee. RTX-2080Ti.

> In #57457#571701, @zanqdo wrote: > Well in case anyone else needs it urgently, for now I've hacked it with a frame change handler. It works in viewport and render but only if the image editor is present :p > > ![image.png](https://archive.blender.org/developer/F5861336/image.png) Thank you, great man! This way works for me! At first there were problems, but I saw the "Register" switch in the text editor. When I turned it on, the script worked. Now I see animated textures :) Super. Blender 2.80 beta. Linux Ubuntu x64. Eevee. RTX-2080Ti.

Added subscriber: @VladimirKunyansky

Added subscriber: @VladimirKunyansky

@zanqdo , I tried your option and it works, thanks!

BUT!

Having tested several versions (now checked on the last 1fc75dbbce) and video texture is updating only when several conditions is true:

  • only the active object is updated, but not selected (provided that there are several objects with different video textures in the scene);

  • the texture is updated only if a node with a texture is selected in the shader settings window;

  • the texture is updated only when the N-panel is open (in shader window) and when the "Properties" tab is expanded.

If all conditions are met, the texture is updated even when rendered.

Update:
Oh. Sorry. "If the image editor is present" - i see.
The working variant for several objects with video textures is to open several working windows with image editors and in each of them open different textures.

video_texture_update_2.jpg

@zanqdo , I tried your option and it works, thanks! **BUT!** Having tested several versions (now checked on the last 1fc75dbbceea) and video texture is updating only when several conditions is true: - only the active object is updated, but not selected (provided that there are several objects with different video textures in the scene); - the texture is updated only if a node with a texture is selected in the shader settings window; - the texture is updated only when the N-panel is open (in shader window) and when the "Properties" tab is expanded. If all conditions are met, the texture is updated even when rendered. **Update:** Oh. Sorry. "If the image editor is present" - i see. The working variant for several objects with video textures is to open several working windows with image editors and in each of them open different textures. ![video_texture_update_2.jpg](https://archive.blender.org/developer/F6008593/video_texture_update_2.jpg)
De3n commented 4 years ago

Added subscriber: @De3n

Added subscriber: @De3n

I don't know, if this can help, but i finded deleted code from internal render for update image sequences and movies in (https://developer.blender.org/rB51b796ff1528c52cc8b4079fab1003671652a4d9):

file: source/blender/render/intern/source/render_texture.c
line: 3827

if (tex->ima && BKE_image_is_animated(tex->ima)) {
BKE_image_user_check_frame_calc(&tex->iuser, (int)scene->r.cfra,
0);

I don't know, if this can help, but i finded deleted code from internal render for update image sequences and movies in (https://developer.blender.org/rB51b796ff1528c52cc8b4079fab1003671652a4d9): file: source/blender/render/intern/source/render_texture.c line: 3827 ``` if (tex->ima && BKE_image_is_animated(tex->ima)) { BKE_image_user_check_frame_calc(&tex->iuser, (int)scene->r.cfra, 0); ```

Added subscriber: @technoendo

Added subscriber: @technoendo

I grabbed Blender 2.80 0661bcba32 from 12/27/2018 and was having some problems with an h264/mov video file used as a texture in Eevee when I was pleased to see a bug was already filed. I tried the frame change handler workaround mentioned by zanqdo, which did update the image viewer + 3d view but ctrl+f12 rendering out animations behaves strangely. Usually the first frame will render out as expected, so rendering out 1 frame (f12) does work, but subsequent frames in an animation will be black in the areas where the movie texture should be.

Next, I used ffmpeg to extract every frame of the h264/mov video as png images. In this case the frame change handler workaround is not needed. I still get similar results: I can scrub through my timeline and see the entire video updating with each frame update as expected (in eevee 3d viewport and in the image viewer), but again... when I render the first frame renders OK but subsequent frames have bright pink where the image sequence should be.

Rendering individual frames (f12) does yield the expected output in the render buffer which can be saved to a file. This is a painful way to render an animation doing this manually in the UI.

This made me wonder if I could do some command line render tricks, run a bash while loop to iterate on every frame, and run blender -b file.blend -f $frame? This did not work and the video frames were always the first frame from the video/image sequence. I also tried "-a" to render out the entire animation instead of specifying it frame by frame and also had the same problem of only the first frame of the video/image sequence being used.

I tried 4 other builds of Blender 2.80 from late November through today and results were all consistent. In reading this thread I think I'm in the same spot as @mhcall. That a bit of python is required to get the 3d viewport updated so its in sync with the image viewer, which fixes f12 renders, but this does not allow ctrl-f12 animations to render.

I grabbed Blender 2.80 0661bcba3210 from 12/27/2018 and was having some problems with an h264/mov video file used as a texture in Eevee when I was pleased to see a bug was already filed. I tried the frame change handler workaround mentioned by zanqdo, which did update the image viewer + 3d view but ctrl+f12 rendering out animations behaves strangely. Usually the first frame will render out as expected, so rendering out 1 frame (f12) does work, but subsequent frames in an animation will be black in the areas where the movie texture should be. Next, I used ffmpeg to extract every frame of the h264/mov video as png images. In this case the frame change handler workaround is not needed. I still get similar results: I can scrub through my timeline and see the entire video updating with each frame update as expected (in eevee 3d viewport and in the image viewer), but again... when I render the first frame renders OK but subsequent frames have bright pink where the image sequence should be. Rendering individual frames (f12) does yield the expected output in the render buffer which can be saved to a file. This is a painful way to render an animation doing this manually in the UI. This made me wonder if I could do some command line render tricks, run a bash while loop to iterate on every frame, and run blender -b file.blend -f $frame? This did not work and the video frames were always the first frame from the video/image sequence. I also tried "-a" to render out the entire animation instead of specifying it frame by frame and also had the same problem of only the first frame of the video/image sequence being used. I tried 4 other builds of Blender 2.80 from late November through today and results were all consistent. In reading this thread I think I'm in the same spot as @mhcall. That a bit of python is required to get the 3d viewport updated so its in sync with the image viewer, which fixes f12 renders, but this does not allow ctrl-f12 animations to render.

but this does not allow ctrl-f12 animations to render.

Yes, I was also happy at first that the texture works, but Ctrl+F12 gives a texture with blinking black images.

> but this does not allow ctrl-f12 animations to render. Yes, I was also happy at first that the texture works, but Ctrl+F12 gives a texture with blinking black images.
mhcall commented 4 years ago

@Ian-117 Garrison's and @Arsen Mikitiov's expereinces are correct.
Unfortunately the Ctrl+F12 coommand results in wierd animations with partly pink Frames and "Blackout" all over.

My personal workaround since is this:
I take all respective objects incl. the camera + paths into Cycles 2.7.94 (in my opinion the best and fastest Cycles build ever, #bae880d as from 2018-05-25). Then I apply a HOLDOUT material to all objects that might hide or partly cover the movie clip texture plane. The rendered sequence I put as an additional layer on top of the original sequence (into After Effects for example)…. and this works smoothly.

The time loss with this workaround is half way acceptable. However it would be so great if the 2.8x beta would be "healed"....

@Ian-117 Garrison's and @Arsen Mikitiov's expereinces are correct. Unfortunately the Ctrl+F12 coommand results in wierd animations with partly pink Frames and "Blackout" all over. My personal workaround since is this: I take all respective objects incl. the camera + paths into Cycles 2.7.94 (in my opinion the best and fastest Cycles build ever, #bae880d as from 2018-05-25). Then I apply a HOLDOUT material to all objects that might hide or partly cover the movie clip texture plane. The rendered sequence I put as an additional layer on top of the original sequence (into After Effects for example)…. and this works smoothly. The time loss with this workaround is half way acceptable. However it would be so great if the 2.8x beta would be "healed"....
zanqdo commented 4 years ago
Collaborator

Guys what I had to do is rendering with the Render OGL way from the viewport, it lacks quality controls but it works with movies with my workaround. Hope that helps!

Guys what I had to do is rendering with the Render OGL way from the viewport, it lacks quality controls but it works with movies with my workaround. Hope that helps!
ZedDB commented 4 years ago
Collaborator

Added subscriber: @Gie

Added subscriber: @Gie
ZedDB commented 4 years ago
Collaborator

Added subscriber: @antoine.clenet

Added subscriber: @antoine.clenet

@fclem , if you give a hint, then I can help with finding a problem. In my opinion, this is due to BKE_image_user_check_frame_calc, since I found a similar problem:
https://lists.blender.org/pipermail/bf-blender-cvs/2013-May/056122.html

- / * update animated image textures for gpu, etc,
- * call before BKE_scene_update_for_newframe so modifiers with textures don't lag 1 frame * /
- ED_image_update_frame (bmain, scene-> r.cfra);
-
  ED_clip_update_frame (bmain, scene-> r.cfra);
@fclem , if you give a hint, then I can help with finding a problem. In my opinion, this is due to **BKE_image_user_check_frame_calc**, since I found a similar problem: https://lists.blender.org/pipermail/bf-blender-cvs/2013-May/056122.html ``` - / * update animated image textures for gpu, etc, - * call before BKE_scene_update_for_newframe so modifiers with textures don't lag 1 frame * / - ED_image_update_frame (bmain, scene-> r.cfra); - ED_clip_update_frame (bmain, scene-> r.cfra); ```
brecht commented 4 years ago
Owner

Added subscriber: @KyleAustin

Added subscriber: @KyleAustin
brecht commented 4 years ago
Owner

Added subscribers: @gigi-4, @Serra1973, @Kavukamari

Added subscribers: @gigi-4, @Serra1973, @Kavukamari

Added subscriber: @MikeFutcher

Added subscriber: @MikeFutcher

Thanks for that excellent little script quick-fixing this bug, Daniel Salazar (zanqdo). You'll be pleased to know it works for videos in environment textures as well. Do you mind if I include it in a tutorial I have planned? How would you like to be credited?

Thanks for that excellent little script quick-fixing this bug, Daniel Salazar (zanqdo). You'll be pleased to know it works for videos in environment textures as well. Do you mind if I include it in a tutorial I have planned? How would you like to be credited?

Ahh.. but it doesn't work for looping videos.

Ahh.. but it doesn't work for looping videos.

And for some even more bazaar reason - it won't go past frame 97. I guess it's a memory problem? Tried the same scene with a few different videos in the same scene so far... but I might make this reporting bugs on a script rather than Blender if I'm not careful. I guess I'll be putting my greenscreen nodegroup for material nodes on hold.

And for some even more bazaar reason - it won't go past frame 97. I guess it's a memory problem? Tried the same scene with a few different videos in the same scene so far... but I might make this reporting bugs on a script rather than Blender if I'm not careful. I guess I'll be putting my greenscreen nodegroup for material nodes on hold.
zanqdo commented 4 years ago
Collaborator

@MikeFutcher let's just hope this get's fixed properly :)

@MikeFutcher let's just hope this get's fixed properly :)

Surely video textures and image sequences will be debugged if the Spring movie team requires their use! ;-)
Very nice work in progress to see on the cloud of blender :-)

Surely video textures and image sequences will be debugged if the Spring movie team requires their use! ;-) Very nice work in progress to see on the cloud of blender :-)
Collaborator

Added subscriber: @istoltoto

Added subscriber: @istoltoto
lichtwerk changed title from Video texture not refreshing under eevee to Video texture / Image Sequence not refreshing under eevee 4 years ago

Thanks for the script Daniel
However, it seems that it doesn't work when you change the Start Frame to something higher.
But a very good workaround till the bug is solved.

Thanks for the script Daniel However, it seems that it doesn't work when you change the Start Frame to something higher. But a very good workaround till the bug is solved.
Collaborator

Added subscribers: @Sergey, @brecht

Added subscribers: @Sergey, @brecht
Collaborator

In #57457#549721, @fclem wrote:
Well I hoped something like that would work:

diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index e9d874bd1ee..2cf3494802d 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -40,6 +40,8 @@
 #include "BLI_link_utils.h"
 #include "BLI_mempool.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "intern/gpu_codegen.h"
 
 struct GPUVertFormat *g_pos_format = NULL;
@@ -802,7 +804,7 @@ static DRWShadingGroup *drw_shgroup_material_inputs(DRWShadingGroup *grp, struct
 			GPUTexture *tex = NULL;
 
 			if (input->ima) {
-				double time = 0.0; /* TODO make time variable */
+				double time = DEG_get_ctime(DST.draw_ctx.depsgraph);
 				tex = GPU_texture_from_blender(input->ima, input->iuser, GL_TEXTURE_2D, input->image_isdata, time);
 			}
 			else {

But GPU_texture_from_blender does not do anything with time...

Also had a quick look and as a starting point it seems GPUInput input->iuser Image User was always NULL. [without the image user you dont have access to framnumber etc...]
I tried to fix this and building upon what @fclem tried I get something that updates movies [sequences also -- but only if the image node has a keyframe, that's another issue to solve...] with flickering. [eh, another issue to solve]

Thought I should drop this here so it is not lost: P888: #57457 snippet



diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index 6584b6953d5..615adeb61f1 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -40,6 +40,8 @@
 #include "BLI_link_utils.h"
 #include "BLI_mempool.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "intern/gpu_codegen.h"
 
 struct GPUVertFormat *g_pos_format = NULL;
@@ -802,7 +804,7 @@ static DRWShadingGroup *drw_shgroup_material_inputs(DRWShadingGroup *grp, struct
 			GPUTexture *tex = NULL;
 
 			if (input->ima) {
-				double time = 0.0; /* TODO make time variable */
+				double time = DEG_get_ctime(DST.draw_ctx.depsgraph);
 				tex = GPU_texture_from_blender(input->ima, input->iuser, GL_TEXTURE_2D, input->image_isdata, time);
 			}
 			else {
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index 6f939261729..a6fd71585e6 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -285,7 +285,7 @@ GPUTexture *GPU_texture_from_blender(
         ImageUser *iuser,
         int textarget,
         bool is_data,
-        double UNUSED(time))
+        double time)
 {
 	if (ima == NULL) {
 		return NULL;
@@ -293,9 +293,11 @@ GPUTexture *GPU_texture_from_blender(
 
 	/* Test if we already have a texture. */
 	GPUTexture **tex = gpu_get_image_gputexture(ima, textarget);
+	/*
 	if (*tex) {
 		return *tex;
 	}
+	*/
 
 	/* Check if we have a valid image. If not, we return a dummy
 	 * texture with zero bindcode so we don't keep trying. */
@@ -312,6 +314,7 @@ GPUTexture *GPU_texture_from_blender(
 	}
 
 	/* check if we have a valid image buffer */
+	BKE_image_user_frame_calc(iuser, (int)time);
 	ImBuf *ibuf = BKE_image_acquire_ibuf(ima, iuser, NULL);
 	if (ibuf == NULL) {
 		*tex = GPU_texture_from_bindcode(textarget, bindcode);
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_image.c b/source/blender/nodes/shader/nodes/node_shader_tex_image.c
index 524f7a5c8e2..c13a1064794 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_image.c
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_image.c
@@ -75,8 +75,8 @@ static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, bNodeExecDat
 	};
 
 	Image *ima = (Image *)node->id;
-	ImageUser *iuser = NULL;
 	NodeTexImage *tex = node->storage;
+	ImageUser *iuser = &tex->iuser;
 	const char *gpu_node_name = (tex->projection == SHD_PROJ_BOX)
 	                             ? names_box[tex->interpolation]
 	                             : names[tex->interpolation];

maybe we should get @brecht and @Sergey on board?

> In #57457#549721, @fclem wrote: > Well I hoped something like that would work: > > ``` > diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c > index e9d874bd1ee..2cf3494802d 100644 > --- a/source/blender/draw/intern/draw_manager_data.c > +++ b/source/blender/draw/intern/draw_manager_data.c > @@ -40,6 +40,8 @@ > #include "BLI_link_utils.h" > #include "BLI_mempool.h" > > +#include "DEG_depsgraph_query.h" > + > #include "intern/gpu_codegen.h" > > struct GPUVertFormat *g_pos_format = NULL; > @@ -802,7 +804,7 @@ static DRWShadingGroup *drw_shgroup_material_inputs(DRWShadingGroup *grp, struct > GPUTexture *tex = NULL; > > if (input->ima) { > - double time = 0.0; /* TODO make time variable */ > + double time = DEG_get_ctime(DST.draw_ctx.depsgraph); > tex = GPU_texture_from_blender(input->ima, input->iuser, GL_TEXTURE_2D, input->image_isdata, time); > } > else { > > ``` > > But GPU_texture_from_blender does not do anything with `time`... Also had a quick look and as a starting point it seems GPUInput `input->iuser` Image User was always NULL. [without the image user you dont have access to framnumber etc...] I tried to fix this and building upon what @fclem tried I get something that updates movies [sequences also -- but only if the image node has a keyframe, that's another issue to solve...] with flickering. [eh, another issue to solve] Thought I should drop this here so it is not lost: [P888: #57457 snippet](https://archive.blender.org/developer/P888.txt) ``` diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c index 6584b6953d5..615adeb61f1 100644 --- a/source/blender/draw/intern/draw_manager_data.c +++ b/source/blender/draw/intern/draw_manager_data.c @@ -40,6 +40,8 @@ #include "BLI_link_utils.h" #include "BLI_mempool.h" +#include "DEG_depsgraph_query.h" + #include "intern/gpu_codegen.h" struct GPUVertFormat *g_pos_format = NULL; @@ -802,7 +804,7 @@ static DRWShadingGroup *drw_shgroup_material_inputs(DRWShadingGroup *grp, struct GPUTexture *tex = NULL; if (input->ima) { - double time = 0.0; /* TODO make time variable */ + double time = DEG_get_ctime(DST.draw_ctx.depsgraph); tex = GPU_texture_from_blender(input->ima, input->iuser, GL_TEXTURE_2D, input->image_isdata, time); } else { diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index 6f939261729..a6fd71585e6 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -285,7 +285,7 @@ GPUTexture *GPU_texture_from_blender( ImageUser *iuser, int textarget, bool is_data, - double UNUSED(time)) + double time) { if (ima == NULL) { return NULL; @@ -293,9 +293,11 @@ GPUTexture *GPU_texture_from_blender( /* Test if we already have a texture. */ GPUTexture **tex = gpu_get_image_gputexture(ima, textarget); + /* if (*tex) { return *tex; } + */ /* Check if we have a valid image. If not, we return a dummy * texture with zero bindcode so we don't keep trying. */ @@ -312,6 +314,7 @@ GPUTexture *GPU_texture_from_blender( } /* check if we have a valid image buffer */ + BKE_image_user_frame_calc(iuser, (int)time); ImBuf *ibuf = BKE_image_acquire_ibuf(ima, iuser, NULL); if (ibuf == NULL) { *tex = GPU_texture_from_bindcode(textarget, bindcode); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_image.c b/source/blender/nodes/shader/nodes/node_shader_tex_image.c index 524f7a5c8e2..c13a1064794 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_image.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_image.c @@ -75,8 +75,8 @@ static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, bNodeExecDat }; Image *ima = (Image *)node->id; - ImageUser *iuser = NULL; NodeTexImage *tex = node->storage; + ImageUser *iuser = &tex->iuser; const char *gpu_node_name = (tex->projection == SHD_PROJ_BOX) ? names_box[tex->interpolation] : names[tex->interpolation]; ``` maybe we should get @brecht and @Sergey on board?
Collaborator

Added subscriber: @Ekiwnox

Added subscriber: @Ekiwnox
Collaborator

@brecht, @Sergey: not sure whom to assign this to? (I could spend more time investigating, but maybe it is obvious to one of you?)

btw. we have this working (refreshing sequences and movies) in camera background images, see view3d_draw_bgpic, but implementation is different/separate from GPU_texture_from_blender in that it does the whole drawing [not just the texture refresh...]

@brecht, @Sergey: not sure whom to assign this to? (I could spend more time investigating, but maybe it is obvious to one of you?) btw. we have this working (refreshing sequences and movies) in camera background images, see `view3d_draw_bgpic`, but implementation is different/separate from `GPU_texture_from_blender` in that it does the whole drawing [not just the texture refresh...]
brecht self-assigned this 4 years ago
brecht commented 4 years ago
Owner

Added subscribers: @AJ-200, @ideasman42, @mont29

Added subscribers: @AJ-200, @ideasman42, @mont29
brecht commented 4 years ago
Owner

Marking as high priority since this gets reported often.

This is a rather complicated issue caused mainly by copy-on-write changes. Previously on each frame change Blender would loop over (most) image users, recalculate the frame number and free the GPU texture if needed.

It did not do this for Cycles/Eevee image texture nodes in materials, only BI materials. That is easily solved, though for best playback performance it could be done in a smarter way than before.

The main issue however is copy-on-write. Both the original and COW datablocks need to be updated. This could be done as part of the depsgraph now for image users that are in the depsgraph, marking such materials or objects as depending on time.

Refreshing the GPU texture is problematic as well. Currently each image datablock stores and owns a single GPU texture at a single frame. However it is now possible to have multiple depsgraphs each at their own time. A proper solution to this likely means moving ownership of the GPU texture from the image to the image user or depsgraph, or having some kind of caching system.

Marking as high priority since this gets reported often. This is a rather complicated issue caused mainly by copy-on-write changes. Previously on each frame change Blender would loop over (most) image users, recalculate the frame number and free the GPU texture if needed. It did not do this for Cycles/Eevee image texture nodes in materials, only BI materials. That is easily solved, though for best playback performance it could be done in a smarter way than before. The main issue however is copy-on-write. Both the original and COW datablocks need to be updated. This could be done as part of the depsgraph now for image users that are in the depsgraph, marking such materials or objects as depending on time. Refreshing the GPU texture is problematic as well. Currently each image datablock stores and owns a single GPU texture at a single frame. However it is now possible to have multiple depsgraphs each at their own time. A proper solution to this likely means moving ownership of the GPU texture from the image to the image user or depsgraph, or having some kind of caching system.
brecht commented 4 years ago
Owner

Added subscriber: @Pastel

Added subscriber: @Pastel

Added subscriber: @PerKofodHansen

Added subscriber: @PerKofodHansen
Collaborator

Added subscriber: @CyberLuden

Added subscriber: @CyberLuden
Collaborator

Added subscribers: @ChristopherCarroll, @WilliamReynish

Added subscribers: @ChristopherCarroll, @WilliamReynish

Hey,

Some news about this?

Hey, Some news about this?
(Deleted) commented 4 years ago (Migrated from localhost:3001)
Collaborator

Added subscriber: @(Deleted)

Added subscriber: @(Deleted)

Added subscriber: @OcularSorcerer

Added subscriber: @OcularSorcerer

In #57457#595671, @MikeFutcher wrote:
And for some even more bazaar reason - it won't go past frame 97. I guess it's a memory problem? Tried the same scene with a few different videos in the same scene so far... but I might make this reporting bugs on a script rather than Blender if I'm not careful. I guess I'll be putting my greenscreen nodegroup for material nodes on hold.

I just discovered that if you toggle the sidebar (N) in the image editor, it gives you options to change the amount of frames to use in a movie/image sequence. This seems to be unaffected by the settings on the image texture node.

Still trying to figure out how to use more than one image sequence texture....any solutions?

> In #57457#595671, @MikeFutcher wrote: > And for some even more bazaar reason - it won't go past frame 97. I guess it's a memory problem? Tried the same scene with a few different videos in the same scene so far... but I might make this reporting bugs on a script rather than Blender if I'm not careful. I guess I'll be putting my greenscreen nodegroup for material nodes on hold. I just discovered that if you toggle the sidebar (N) in the image editor, it gives you options to change the amount of frames to use in a movie/image sequence. This seems to be unaffected by the settings on the image texture node. Still trying to figure out how to use more than one image sequence texture....any solutions?

@OcularSorcerer , Yep.
The working variant for several objects with video textures is to open several working windows with image editors and in each of them open different textures:

Bag_2.8_Video.jpg

@OcularSorcerer , Yep. The working variant for several objects with video textures is to open several working windows with image editors and in each of them open different textures: ![Bag_2.8_Video.jpg](https://archive.blender.org/developer/F6393088/Bag_2.8_Video.jpg)
brecht commented 4 years ago
Owner

Added subscriber: @iSpeedy

Added subscriber: @iSpeedy

Added subscriber: @semimetallic-1

Added subscriber: @semimetallic-1

Daniel Craven (Craven) - thankyou! I will be putting a tutorial together on this in the next week.

Daniel Craven (Craven) - thankyou! I will be putting a tutorial together on this in the next week.

Removed subscriber: @istoltoto

Removed subscriber: @istoltoto

Added subscriber: @FranAlburquerque

Added subscriber: @FranAlburquerque

Same problem here in two scenarios:

  • Image sequence textures under Eevee
  • Image Empties using a video with autorefresh (the usual way) in viewport, no matter which render engine is set
Same problem here in two scenarios: - Image sequence textures under Eevee - Image Empties using a video with autorefresh (the usual way) in viewport, no matter which render engine is set

When will the bug get fixed?

When will the bug get fixed?

@lichtwerk , i try to compile blender (da1da3053d) with your solution, but your variant don't give needed result (black material with video texture and pink - with sequences).
Working variant with this code in node_shader_tex_image.c :

	Image *ima = (Image *)node->id;
	ImageUser *iuser = NULL;
	NodeTexImage *tex = node->storage;
	//ImageUser *iuser = &tex->iuser;

That give expected result (video and sequences update in viewport but render - sequences is flickering), but only when object is selected and active.

@lichtwerk , i try to compile blender (da1da3053d75) with your solution, but your variant don't give needed result (black material with video texture and pink - with sequences). Working variant with this code in **node_shader_tex_image.c** : ``` Image *ima = (Image *)node->id; ImageUser *iuser = NULL; NodeTexImage *tex = node->storage; //ImageUser *iuser = &tex->iuser; ``` That give expected result (video and sequences update in viewport but render - sequences is flickering), but only when object is selected and active.

Added subscriber: @DominikR

Added subscriber: @DominikR

Someone can help with it? I don't understand some strings:
in all BKE_image update/check frame/etc uses cfra as integer.

But in GPU_texture_from_blender used time in double.

Ofcourse, in sequences/video textures logically to use integer (as frames). So, why using double?

Someone can help with it? I don't understand some strings: in all **BKE_image update/check frame**/etc uses **cfra** as ***integer***. But in **GPU_texture_from_blender** used **time** in ***double***. Ofcourse, in sequences/video textures logically to use *integer* (as frames). So, why using *double*?

Added subscriber: @darylsautter

Added subscriber: @darylsautter

Added subscriber: @DavidGladstein

Added subscriber: @DavidGladstein
bent commented 4 years ago

Added subscriber: @bent

Added subscriber: @bent

This comment was removed by @istoltoto

*This comment was removed by @istoltoto*

I would like to send some resources for this problem particularly to speed the process, is it possible?

I would like to send some resources for this problem particularly to speed the process, is it possible?

In #57457#615643, @MarcelLegindi wrote:
I would like to send some resources for this problem particularly to speed the process, is it possible?

I support. Ready to transfer money for a speedy solution to the problem. Where to transfer?

> In #57457#615643, @MarcelLegindi wrote: > I would like to send some resources for this problem particularly to speed the process, is it possible? I support. Ready to transfer money for a speedy solution to the problem. Where to transfer?
brecht commented 4 years ago
Owner

It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8.

It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8.
zanqdo commented 4 years ago
Collaborator

In #57457#615645, @brecht wrote:
It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8.

Thanks for the heads up @brecht

> In #57457#615645, @brecht wrote: > It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8. Thanks for the heads up @brecht
mhoff commented 4 years ago

Added subscriber: @mhoff

Added subscriber: @mhoff
gigi-4 commented 4 years ago

In #57457#615645, @brecht wrote:
It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8.

Thank you @brecht I'm broadcast tv director. We are designing a tv show with a real time dynamic CGenerated scenography. Because of Eevee Blender can be ideal for that. But the real time movie clip elements insertion\playback is obviously crucial. We need a lot of video contribution in scenography. Have you an idea of how much time will take the fix? Thank you so much.

> In #57457#615645, @brecht wrote: > It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8. Thank you @brecht I'm broadcast tv director. We are designing a tv show with a real time dynamic CGenerated scenography. Because of Eevee Blender can be ideal for that. But the real time movie clip elements insertion\playback is obviously crucial. We need a lot of video contribution in scenography. Have you an idea of how much time will take the fix? Thank you so much.

Added subscriber: @Allucinari

Added subscriber: @Allucinari
Yanis commented 4 years ago

Added subscriber: @Yanis

Added subscriber: @Yanis
Collaborator

This issue was referenced by 0e3a2acbfa

This issue was referenced by 0e3a2acbfa6998b3a1ec967f3c25f7e12e0cf8fb
pm commented 4 years ago

Added subscriber: @pm

Added subscriber: @pm
knekke commented 4 years ago

Added subscriber: @knekke

Added subscriber: @knekke
knekke commented 4 years ago

Also very interested in this!!

As another workaround:

import bpy

def my_handler(scene):
    print("Frame Change", scene.frame_current)
    bpy.data.images['YOUR_IMAGESEQENCE.0001.png'].reload()

bpy.app.handlers.frame_change_pre.append(my_handler)

Now you can scrub the timeline and see the changes.

Also very interested in this!! As another workaround: ``` import bpy def my_handler(scene): print("Frame Change", scene.frame_current) bpy.data.images['YOUR_IMAGESEQENCE.0001.png'].reload() bpy.app.handlers.frame_change_pre.append(my_handler) ``` Now you can scrub the timeline and see the changes.
knekke commented 4 years ago

ah, well...nevermind... workaround has been posted before

ah, well...nevermind... workaround has been posted before
knekke commented 4 years ago

In #57457#615644, @VladimirKunyansky wrote:

In #57457#615643, @MarcelLegindi wrote:
I would like to send some resources for this problem particularly to speed the process, is it possible?

I support. Ready to transfer money for a speedy solution to the problem. Where to transfer?

+1

> In #57457#615644, @VladimirKunyansky wrote: >> In #57457#615643, @MarcelLegindi wrote: >> I would like to send some resources for this problem particularly to speed the process, is it possible? > > I support. Ready to transfer money for a speedy solution to the problem. Where to transfer? +1

I can donate $ 40.

I can donate $ 40.

In #57457#615645, @brecht wrote:
It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8.

... so, for this problem I think 1000$ is not enough.

> In #57457#615645, @brecht wrote: > It's being worked on, just requires some deep changes to the dependency graph and GPU image loading code to work properly in 2.8. ... so, for this problem I think 1000$ is not enough.
ZedDB commented 4 years ago
Collaborator

Added subscriber: @StickMeister125

Added subscriber: @StickMeister125
brecht commented 4 years ago
Owner

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
brecht closed this issue 4 years ago

Thank goodness!
Thank you Brecht Van Lommel ???

You were always my hero, right after you created Cycles!
I knew you could do it!

Thank goodness! Thank you Brecht Van Lommel ??? You were always my hero, right after you created Cycles! I knew you could do it!

@brecht , I do not refuse my words, please tell me where to transfer money?

Thank you so much!

@brecht , I do not refuse my words, please tell me where to transfer money? Thank you so much!
brecht commented 4 years ago
Owner

@VladimirKunyansky: anyone is welcome to contribute to the development fund, this bugfix was funded by it.
https://fund.blender.org/

@VladimirKunyansky: anyone is welcome to contribute to the development fund, this bugfix was funded by it. https://fund.blender.org/

@brecht , I wanted to thank You personally, but the support of the whole team is also important. Thank you very much for the work!

@brecht , I wanted to thank You personally, but the support of the whole team is also important. Thank you very much for the work!
zanqdo commented 4 years ago
Collaborator

If you're not already subscribed to https://fund.blender.org/ go do it now! You can start as low as $6 a month :)

Thanks @brecht !

If you're not already subscribed to https://fund.blender.org/ go do it now! You can start as low as $6 a month :) Thanks @brecht !

Thanks so much Blender team - you are the most awesome people ! - I am so gratefull for the work you do! This fix was really important to me as well :)

Thanks so much Blender team - you are the most awesome people ! - I am so gratefull for the work you do! This fix was really important to me as well :)
De3n commented 4 years ago

Removed subscriber: @De3n

Removed subscriber: @De3n

Is it functional in 2.8 - 6bab905c9d ? If so, it is only working with open node editor and active texture node - with properties. Is that right?

Is it functional in 2.8 - 6bab905c9d40 ? If so, it is only working with open node editor and active texture node - with properties. Is that right?
zanqdo commented 4 years ago
Collaborator

@MarcelLegindi Download latest build from https://builder.blender.org/download/ it should work out of trthe box. Remember to set the frame range correctly in the node

@MarcelLegindi Download latest build from https://builder.blender.org/download/ it should work out of trthe box. Remember to set the frame range correctly in the node

Added subscriber: @daniel-34

Added subscriber: @daniel-34

@daniel-34 Salazar (zanqdo) Downloaded last build as before, but now is the 893fa59831. But not working - blend file inside. And technique what I using is there: https://blender.stackexchange.com/questions/124813/image-texture-node-image-sequence-control-by-slider

It is working only with open node editor and active texture node. Without it is not functional. I used this technique for automate rigging puppet phases - hands, eyes, mouth etc.

image_sequence_02.blend

@daniel-34 Salazar (zanqdo) Downloaded last build as before, but now is the 893fa598319e. But not working - blend file inside. And technique what I using is there: https://blender.stackexchange.com/questions/124813/image-texture-node-image-sequence-control-by-slider It is working only with open node editor and active texture node. Without it is not functional. I used this technique for automate rigging puppet phases - hands, eyes, mouth etc. [image_sequence_02.blend](https://archive.blender.org/developer/F6710692/image_sequence_02.blend)
knekke commented 4 years ago

I also have some troubles when doing opengl previews. I have a batchscript that starts Blender, replaces the background sequence, renders a opengl preview (because 10x faster than regular evee rendering) from different cameras and quit.
The backgroundsequences can either be png-seqences or mp4 files and the script does the switching and setting offsets. But the rendering is very unreliable and often I end up with only 3 animated frames and then a freeze, or the background is not moving at all. When I open up the scene everything looks fine in the viewport and scrubbing the timeline works. I couldn't detect a pattern yet.

I also have some troubles when doing opengl previews. I have a batchscript that starts Blender, replaces the background sequence, renders a opengl preview (because 10x faster than regular evee rendering) from different cameras and quit. The backgroundsequences can either be png-seqences or mp4 files and the script does the switching and setting offsets. But the rendering is very unreliable and often I end up with only 3 animated frames and then a freeze, or the background is not moving at all. When I open up the scene everything looks fine in the viewport and scrubbing the timeline works. I couldn't detect a pattern yet.
brecht commented 4 years ago
Owner

If there are further specific issues with image sequences, please create new bug reports.

If there are further specific issues with image sequences, please create new bug reports.

But it is same problem as before ... If we created new report we will wait for enough people with same problem then it will be in progress, so it may be long time story.

But it is same problem as before ... If we created new report we will wait for enough people with same problem then it will be in progress, so it may be long time story.
(Deleted) commented 4 years ago (Migrated from localhost:3001)
Collaborator

This comment was removed by @(Deleted)

*This comment was removed by @(Deleted)*
brecht commented 4 years ago
Owner

Please do create new bug report, this is working for many cases so if there is a bug it's related to some specific setup. And for that it is best to have an own report with .blend and clear steps to redo. It also means we don't send mails to 50+ people subscribed to this task for a bug that is not relevant to them.

Please do create new bug report, this is working for many cases so if there is a bug it's related to some specific setup. And for that it is best to have an own report with .blend and clear steps to redo. It also means we don't send mails to 50+ people subscribed to this task for a bug that is not relevant to them.
zanqdo commented 4 years ago
Collaborator

In #57457#626977, @MarcelLegindi wrote:
@daniel-34 Salazar (zanqdo) Downloaded last build as before, but now is the 893fa59831. But not working - blend file inside. And technique what I using is there: https://blender.stackexchange.com/questions/124813/image-texture-node-image-sequence-control-by-slider

It is working only with open node editor and active texture node. Without it is not functional. I used this technique for automate rigging puppet phases - hands, eyes, mouth etc.

image_sequence_02.blend

You need to enable the Autorefresh option in the node

> In #57457#626977, @MarcelLegindi wrote: > @daniel-34 Salazar (zanqdo) Downloaded last build as before, but now is the 893fa598319e. But not working - blend file inside. And technique what I using is there: https://blender.stackexchange.com/questions/124813/image-texture-node-image-sequence-control-by-slider > > It is working only with open node editor and active texture node. Without it is not functional. I used this technique for automate rigging puppet phases - hands, eyes, mouth etc. > > [image_sequence_02.blend](https://archive.blender.org/developer/F6710692/image_sequence_02.blend) You need to enable the Autorefresh option in the node

No no, it’s not working with enable autorefresh neither withou it.

No no, it’s not working with enable autorefresh neither withou it.

Removed subscriber: @PerKofodHansen

Removed subscriber: @PerKofodHansen
gigi-4 commented 4 years ago

Its work but there is still a little bug on autorefresh command. (on my system) Justreassign material you are working on to object in the shader editor when you finish your node assigning video texture etc (remember to set total frame number, activate cyclic and auto refresh) hit play and movie or image sequence work perfectly. If not video remain stopped to first frame. I noted with pleasure same video shader/material is shareable over undefined object number.

Its work but there is still a little bug on autorefresh command. (on my system) Just**reassign** material you are working on to object in the shader editor when you finish your node assigning video texture etc (remember to set total frame number, activate cyclic and auto refresh) hit play and movie or image sequence work perfectly. If not video remain stopped to first frame. I noted with pleasure same video shader/material is shareable over undefined object number.
zanqdo commented 4 years ago
Collaborator

In #57457#627850, @MarcelLegindi wrote:
No no, it’s not working with enable autorefresh neither withou it.

Your scene is set to cycles, this is supposed to be a feature for eevee :s

> In #57457#627850, @MarcelLegindi wrote: > No no, it’s not working with enable autorefresh neither withou it. Your scene is set to cycles, this is supposed to be a feature for eevee :s

@daniel-34 Salazar (zanqdo) and did you try it in eevee ?

I am sorry guys, but this my example is not functional on win 7, win 10, cycles or eevee its some kind of system problem, I don't know where exactly it is. I was looking forward to working with puppets, you know ... I am only sad nothing else. From my perspective its one big problem, very difficult problem, but the solution is on half way and I don't know how can I help, because I would like to help of course.

@daniel-34 Salazar (zanqdo) and did you try it in eevee ? I am sorry guys, but this my example is not functional on win 7, win 10, cycles or eevee its some kind of system problem, I don't know where exactly it is. I was looking forward to working with puppets, you know ... I am only sad nothing else. From my perspective its one big problem, very difficult problem, but the solution is on half way and I don't know how can I help, because I would like to help of course.
zanqdo commented 4 years ago
Collaborator

In #57457#628282, @MarcelLegindi wrote:
@daniel-34 Salazar (zanqdo) and did you try it in eevee ?

I am sorry guys, but this my example is not functional on win 7, win 10, cycles or eevee its some kind of system problem, I don't know where exactly it is. I was looking forward to working with puppets, you know ... I am only sad nothing else. From my perspective its one big problem, very difficult problem, but the solution is on half way and I don't know how can I help, because I would like to help of course.

Why do you have that driver setup in the offset?

> In #57457#628282, @MarcelLegindi wrote: > @daniel-34 Salazar (zanqdo) and did you try it in eevee ? > > I am sorry guys, but this my example is not functional on win 7, win 10, cycles or eevee its some kind of system problem, I don't know where exactly it is. I was looking forward to working with puppets, you know ... I am only sad nothing else. From my perspective its one big problem, very difficult problem, but the solution is on half way and I don't know how can I help, because I would like to help of course. Why do you have that driver setup in the offset?
brecht commented 4 years ago
Owner

There's already a separate bug report for @MarcelLegindi's case: #61937 (Image sequence offset driver has no effect without node editor)

It's been confirmed and will be worked on, no need to discuss it here.

There's already a separate bug report for @MarcelLegindi's case: #61937 (Image sequence offset driver has no effect without node editor) It's been confirmed and will be worked on, no need to discuss it here.
Sign in to join this conversation.
No Label
Interest/Alembic
Interest/Animation & Rigging
Interest/Asset Browser
Interest/Asset Browser Project Overview
Interest/Audio
Interest/Automated Testing
Interest/Blender Asset Bundle
Interest/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
Interest/Eevee & Viewport
Interest/Freestyle
Interest/Geometry Nodes
Interest/Grease Pencil
Interest/ID Management
Interest/Images & Movies
Interest/Import/Export
Interest/Line Art
Interest/Masking
Interest/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
Interest/Python API
Interest/Render & Cycles
Interest/Render Pipeline
Interest/Translations
Interest/Undo
Interest/USD
Interest/Video Sequencer
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Sculpt, Paint & Texture
legacy project/Text Editor
legacy project/Tracker Curfew
legacy project/Triaging
legacy project/User Interface
legacy project/UV Editing
legacy project/VFX & Video
legacy project/Virtual Reality
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
Module › Animation & Rigging
Module › Core
Module › Development Management
Module › Eevee & Viewport
Module › Grease Pencil
Module › Modeling
Module › Nodes & Physics
Module › Pipeline, Assets & IO
Module › Platforms, Builds, Tests & Devices
Module › Python API
Module › Render & Cycles
Module › Sculpt, Paint & Texture
Module › Triaging
Module › User Interface
Module › VFX & Video
Platform/FreeBSD
Platform/Linux
Platform/macOS
Platform/Windows
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
No Milestone
No project
No Assignees
33 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#57457
Loading…
There is no content yet.