Page MenuHome
Feed Advanced Search

Fri, Jan 18

Lukas Stockner (lukasstockner97) closed T56799: "Save Buffers" doesn't allow saving the volume passes as Resolved by committing rBc9eef2490347: Fix T56799: Custom render passes missing when using Save Buffers.
Fri, Jan 18, 1:27 AM · Compositing, Cycles, BF Blender

Sat, Jan 12

Daniel Holst (NotHolst) updated the task description for T60444: Blender compositor seperate and combine rgba yields different image..
Sat, Jan 12, 5:07 PM · Compositing, BF Blender
Daniel Holst (NotHolst) created T60444: Blender compositor seperate and combine rgba yields different image..
Sat, Jan 12, 4:52 PM · Compositing, BF Blender

Wed, Jan 2

Brecht Van Lommel (brecht) closed T58859: Blender 2.8 no render other scene in the compotision nodes as Resolved by committing rB56d6d13b0deb: Fix T58859: render with compositor does not render other scenes..
Wed, Jan 2, 8:23 PM · Compositing, BF Blender

Mon, Dec 31

Takahiro Komatsu (Allosteric) edited reviewers for D4105: Canny Edge Detector, added: Jeroen Bakker (jbakker), Monique Dewanchand (mdewanchand); removed: Campbell Barton (campbellbarton).
Mon, Dec 31, 9:30 AM · Compositing, BF Blender

Sat, Dec 29

Philipp Oeser (lichtwerk) updated subscribers of T59939: Masks not Animating in Render.

I assume this is similar to T57939 (in that render pipeline is not covered by DEG)
BKE_animsys_evaluate_all_animation() is already done here as an extra evaluation step.
However mask deformations are not actions, so it seems extra evaluation 'by hand' is needed... see D4140 for a potential fix...

Sat, Dec 29, 11:18 PM · Masking, Compositing, BF Blender
Philipp Oeser (lichtwerk) added a revision to T59939: Masks not Animating in Render: D4140: Fix T59939: Masks not Animating in Render.
Sat, Dec 29, 11:17 PM · Masking, Compositing, BF Blender
Glenn Tester (karmacop) closed T59947: Animated texture node (in Compositor) remains static in render as Invalid.
Sat, Dec 29, 2:45 PM · Compositing, BF Blender
Johannes Lampert (alterdings) added a comment to T59947: Animated texture node (in Compositor) remains static in render.

I upgraded to the latest build (7c438e5366b2) and it works now. Thank you

Sat, Dec 29, 2:10 PM · Compositing, BF Blender
Glenn Tester (karmacop) added a comment to T59947: Animated texture node (in Compositor) remains static in render.

Can't reproduce. Try a newer build.

Sat, Dec 29, 12:33 PM · Compositing, BF Blender
Sebastian Parborg (zeddb) assigned T59939: Masks not Animating in Render to Sergey Sharybin (sergey).

I can reproduce this. When I move around the timeline, I can see the masks updating. And if I hit F12, the mask reflects what I see in the preview.

Sat, Dec 29, 12:05 PM · Masking, Compositing, BF Blender
Johannes Lampert (alterdings) created T59947: Animated texture node (in Compositor) remains static in render.
Sat, Dec 29, 11:03 AM · Compositing, BF Blender
Jacob Swing (jswing) created T59939: Masks not Animating in Render.
Sat, Dec 29, 1:40 AM · Masking, Compositing, BF Blender

Thu, Dec 27

Brecht Van Lommel (brecht) reassigned T56799: "Save Buffers" doesn't allow saving the volume passes from Brecht Van Lommel (brecht) to Lukas Stockner (lukasstockner97).

I think there is a general issue with save buffers and custom render engine defined passes.

Thu, Dec 27, 6:48 PM · Compositing, Cycles, BF Blender
Brecht Van Lommel (brecht) merged T59902: Cryptomattes dont render with save buffers enabled into T56799: "Save Buffers" doesn't allow saving the volume passes.
Thu, Dec 27, 6:47 PM · Compositing, Cycles, BF Blender

Dec 19 2018

Takahiro Komatsu (Allosteric) added a comment to T57893: Canny Edge Detector.

moved to
https://developer.blender.org/D4105

Dec 19 2018, 4:42 PM · Compositing, BF Blender
Takahiro Komatsu (Allosteric) created D4105: Canny Edge Detector.
Dec 19 2018, 4:41 PM · Compositing, BF Blender
Takahiro Komatsu (Allosteric) closed T57893: Canny Edge Detector as Archived.
Dec 19 2018, 4:39 PM · Compositing, BF Blender
Takahiro Komatsu (Allosteric) added a comment to T57893: Canny Edge Detector.

I guess I'll just make an diff

Dec 19 2018, 4:38 PM · Compositing, BF Blender

Dec 6 2018

Sebastian Parborg (zeddb) assigned T58859: Blender 2.8 no render other scene in the compotision nodes to Brecht Van Lommel (brecht).

If I change the render layer in the compositing tab to sceneB and then back to sceneA, it works as it should in 2.8.
However, if I then save the file and open it again the same problem occurs until I update the node again.

Dec 6 2018, 6:41 PM · Compositing, BF Blender
Cesar Salcedo (cesarsalcedo) created T58859: Blender 2.8 no render other scene in the compotision nodes.
Dec 6 2018, 1:14 PM · Compositing, BF Blender

Dec 5 2018

Brecht Van Lommel (brecht) closed T57939: Render animation doesn't take in account compositor parameter animation as Resolved by committing rB9375c941b754: Fix T57939: animated values in compositing nodes not working..
Dec 5 2018, 6:24 PM · Nodes, Animation, Compositing, BF Blender

Dec 3 2018

Brecht Van Lommel (brecht) merged T58644: Node animation in Compositor into T57939: Render animation doesn't take in account compositor parameter animation.
Dec 3 2018, 11:06 PM · Nodes, Animation, Compositing, BF Blender
Brecht Van Lommel (brecht) merged task T58644: Node animation in Compositor into T57939: Render animation doesn't take in account compositor parameter animation.
Dec 3 2018, 11:06 PM · Animation, Compositing, BF Blender: 2.8
damian (xarts) added projects to T58644: Node animation in Compositor: Compositing, Animation.
Dec 3 2018, 9:19 PM · Animation, Compositing, BF Blender: 2.8

Dec 2 2018

Brecht Van Lommel (brecht) closed T58485: Cryptomatte not precise enough as Archived.

This is a limitation of Cryptomatte. While it does produce accurate masks, it does not have the information to separate colors accurately. For that something like Deep EXR would be needed.

Dec 2 2018, 1:06 AM · Compositing, BF Blender
Steve Ernst (steveernst117) updated the task description for T58485: Cryptomatte not precise enough.
Dec 2 2018, 1:05 AM · Compositing, BF Blender
Steve Ernst (steveernst117) created T58485: Cryptomatte not precise enough.
Dec 2 2018, 1:03 AM · Compositing, BF Blender

Nov 23 2018

Shinsuke Irie (irie) updated the diff for D2493: Compositor: Add Distance Transform Node.

Change the value of CMP_NODE_DISTANCE_TRANSFORM from 323 to 324. 323 was used for CMP_NODE_CRYPTOMATTE.

Nov 23 2018, 10:16 AM · Compositing

Nov 21 2018

Philipp Oeser (lichtwerk) reassigned T57939: Render animation doesn't take in account compositor parameter animation from Sergey Sharybin (sergey) to Brecht Van Lommel (brecht).

assigning to @Brecht Van Lommel (brecht) then

Nov 21 2018, 9:24 AM · Nodes, Animation, Compositing, BF Blender

Nov 20 2018

Sergey Sharybin (sergey) updated subscribers of T57939: Render animation doesn't take in account compositor parameter animation.

Technically, @Brecht Van Lommel (brecht) is the boss of render pipeline.

Nov 20 2018, 4:56 PM · Nodes, Animation, Compositing, BF Blender
Philipp Oeser (lichtwerk) assigned T57939: Render animation doesn't take in account compositor parameter animation to Sergey Sharybin (sergey).

Can confirm this.

Nov 20 2018, 3:54 PM · Nodes, Animation, Compositing, BF Blender

Nov 19 2018

Răzvan Rădulescu (razcore) created T57939: Render animation doesn't take in account compositor parameter animation.
Nov 19 2018, 3:37 PM · Nodes, Animation, Compositing, BF Blender

Nov 17 2018

Takahiro Komatsu (Allosteric) created T57893: Canny Edge Detector.
Nov 17 2018, 5:00 PM · Compositing, BF Blender

Nov 12 2018

G. Krause (G.Krause) added a comment to T57788: Rendering Still - Blender automatically appends Frame Number.

I am utterly sorry if this was the wrong place, I didnt see it as a feature request.
My bad! Thank you for doing what you do!

Nov 12 2018, 12:09 PM · Rendering, Nodes, Compositing, BF Blender
Brecht Van Lommel (brecht) closed T57788: Rendering Still - Blender automatically appends Frame Number as Archived.

That's indeed a limitation. We don't use this tracker to handle such feature or improvement requests though:
https://wiki.blender.org/wiki/Contact#Requesting_Features

Nov 12 2018, 11:32 AM · Rendering, Nodes, Compositing, BF Blender
G. Krause (G.Krause) changed Type from Bug to To Do on T57788: Rendering Still - Blender automatically appends Frame Number.
Nov 12 2018, 11:30 AM · Rendering, Nodes, Compositing, BF Blender
G. Krause (G.Krause) added projects to T57788: Rendering Still - Blender automatically appends Frame Number: Compositing, Nodes, Rendering.
Nov 12 2018, 11:30 AM · Rendering, Nodes, Compositing, BF Blender

Nov 9 2018

Brecht Van Lommel (brecht) added a comment to T57699: Doubled Animation Render Output using Output Nodes.

Agree it could skip writing if the Composite node is removed (or has nothing linked), and that making it do that would be a To Do.

Nov 9 2018, 1:34 PM · BF Blender: 2.8, Compositing, BF Blender
Philipp Oeser (lichtwerk) changed Type from Bug to To Do on T57699: Doubled Animation Render Output using Output Nodes.
Nov 9 2018, 1:27 PM · BF Blender: 2.8, Compositing, BF Blender
Philipp Oeser (lichtwerk) triaged T57699: Doubled Animation Render Output using Output Nodes as Normal priority.

Agree this is a little weak.
It is not a bug though, it is still working as intended.
Not having a Compositing output Node used to complain and refuse to render, but that rule was softened in the fix for T35269.

Nov 9 2018, 1:27 PM · BF Blender: 2.8, Compositing, BF Blender

Nov 7 2018

Thomas Downs (tnelsond) added a comment to T57568: Transform Node Messes Up Alpha Channel Manipulation.

Working around it would be easier if the dilate/erode node had an input for step value.

Nov 7 2018, 4:16 PM · Compositing, BF Blender
Philipp Oeser (lichtwerk) triaged T57568: Transform Node Messes Up Alpha Channel Manipulation as Normal priority.

I guess this is known limitation of the compositor (but I am not sure).
Workaround is (as you said) to first do the erosion first, then the scaling.

Nov 7 2018, 3:04 PM · Compositing, BF Blender

Nov 5 2018

Thomas Downs (tnelsond) added a project to T57568: Transform Node Messes Up Alpha Channel Manipulation: BF Blender: 2.8.
Nov 5 2018, 5:27 PM · Compositing, BF Blender

Nov 3 2018

Shinsuke Irie (irie) updated the diff for D2411: Compositor: Add Anti-Aliasing node.

Rebased on the latest master.

Nov 3 2018, 11:26 AM · Compositing

Nov 1 2018

Thomas Downs (tnelsond) created T57568: Transform Node Messes Up Alpha Channel Manipulation.
Nov 1 2018, 7:08 PM · Compositing, BF Blender

Sep 28 2018

Brecht Van Lommel (brecht) closed T56942: Node wrangler background error in compositor as Resolved by committing rBAcd90aa081b33: Fix T56942: node wrangler backdrop error..
Sep 28 2018, 10:34 AM · Compositing, Addons
Brecht Van Lommel (brecht) triaged T56942: Node wrangler background error in compositor as Confirmed priority.
Sep 28 2018, 10:33 AM · Compositing, Addons

Sep 27 2018

ziv (zivoy) created T56942: Node wrangler background error in compositor.
Sep 27 2018, 10:24 PM · Compositing, Addons

Sep 24 2018

Lukas Stockner (lukasstockner97) closed T56875: Compositor: Auto Render doesn't work as Resolved by committing rB24330f679e39: Fix T56875: Auto Render not working after render pass name refactor.
Sep 24 2018, 11:44 AM · Compositing, BF Blender

Sep 23 2018

Bastien Montagne (mont29) assigned T56875: Compositor: Auto Render doesn't work to Lukas Stockner (lukasstockner97).

Tried undoing some changes done in snode_set_context() but no success so far. @Lukas Stockner (lukasstockner97) this falls on your desk am afraid. ;)

Sep 23 2018, 4:40 PM · Compositing, BF Blender
Bastien Montagne (mont29) added a comment to T56875: Compositor: Auto Render doesn't work.

Bisecting points to rB4cf7fc3b3a4d032f0c0db632a46d40806e906cf1 as breaking commit. Not sure what went wrong there, that is rather large commit :/

Sep 23 2018, 4:18 PM · Compositing, BF Blender
Bastien Montagne (mont29) raised the priority of T56875: Compositor: Auto Render doesn't work from Incomplete to Confirmed.

Confirmed, would guess something went wrong in the update notifiers…

Sep 23 2018, 2:46 PM · Compositing, BF Blender
Shinsuke Irie (irie) updated the task description for T56875: Compositor: Auto Render doesn't work.
Sep 23 2018, 11:11 AM · Compositing, BF Blender
Bastien Montagne (mont29) triaged T56875: Compositor: Auto Render doesn't work as Incomplete priority.

Please follow our submission template and guidelines, also read these tips about bug reports, and make a complete, valid bug report, with required info, precise description of the issue (only ONE issue per report!), precise steps to reproduce it, small and simple .blend and/or other files to do so if needed, etc.

Sep 23 2018, 10:35 AM · Compositing, BF Blender
Bastien Montagne (mont29) assigned T56877: Masking: Enabling Motion Blur overrides the Feather Falloff to Sergey Sharybin (sergey).

@Sergey Sharybin (sergey), I guess that one is for you? ;)

Sep 23 2018, 10:09 AM · Masking, Compositing, BF Blender

Sep 22 2018

Sebastian Koenig (sebastian_k) added a comment to T56875: Compositor: Auto Render doesn't work.

It does work when you are using the Defocus Node, using the Z-Buffer of the current scene. Could be that this is the only node that does actually trigger a render update, but then the Auto Render button would be quite misleading indeed.

Sep 22 2018, 6:03 PM · Compositing, BF Blender
Shinsuke Irie (irie) created T56875: Compositor: Auto Render doesn't work.
Sep 22 2018, 6:17 AM · Compositing, BF Blender

Sep 17 2018

Bastien Montagne (mont29) assigned T56799: "Save Buffers" doesn't allow saving the volume passes to Brecht Van Lommel (brecht).

It’s not saved because there is no data at all (as can be checked with a viewer node), for both volume passes, when Save Buffer is enabled. @Brecht Van Lommel (brecht), guess that one is for you?

Sep 17 2018, 10:42 AM · Compositing, Cycles, BF Blender

Sep 14 2018

Andy (DeepBlender) created T56799: "Save Buffers" doesn't allow saving the volume passes.
Sep 14 2018, 2:08 PM · Compositing, Cycles, BF Blender

Sep 12 2018

Alex P (eneen) added a comment to T56772: File Output node is missing "Save as render" option.

Thank you! As usual I can help with testing.
If new color management will not get into 2.8, this will surely make it more flexible.

Sep 12 2018, 12:05 PM · BF Blender, Compositing
Sergey Sharybin (sergey) closed T56772: File Output node is missing "Save as render" option as Archived.

Thanks for the report, but this is a known limitation. One day we would need to implement more proper color management and such for file output (including manual saving from the editor, render output, nodes...). For until then considering it a TODO.

Sep 12 2018, 10:44 AM · BF Blender, Compositing
Bastien Montagne (mont29) assigned T56772: File Output node is missing "Save as render" option to Sergey Sharybin (sergey).

Sounds more like a TODO and/or known limitation, @Sergey Sharybin (sergey)? Also, do not see anything specific to 2.8, afaik 2.7 does not have that option either.

Sep 12 2018, 10:17 AM · BF Blender, Compositing
Alex P (eneen) updated the task description for T56772: File Output node is missing "Save as render" option.
Sep 12 2018, 9:17 AM · BF Blender, Compositing
Alex P (eneen) created T56772: File Output node is missing "Save as render" option.
Sep 12 2018, 9:07 AM · BF Blender, Compositing

Sep 6 2018

Sean Kennedy (hype) added a comment to D2493: Compositor: Add Distance Transform Node.

This is interesting, for sure. I'm not sure that in a typical compositing workflow if it would be extremely useful, but from the examples posted, it certainly looks like you can do some very artsy, creative stuff with it.

Sep 6 2018, 6:10 AM · Compositing

Sep 3 2018

Beau Gerbrands (Beaug) added a comment to T56664: Clamping Direct/Indirect Should be Renderlayer Specific Instead of General Render Setting.

Thanks guys :)

Sep 3 2018, 4:40 PM · Cycles, Compositing, Rendering, BF Blender
Brecht Van Lommel (brecht) closed T56664: Clamping Direct/Indirect Should be Renderlayer Specific Instead of General Render Setting as Archived.

This is indeed a feature request, that is planned to be solved in the future with overrides in 2.8. The other thing is that we should add support for a world position pass at some point.

Sep 3 2018, 4:37 PM · Cycles, Compositing, Rendering, BF Blender
Sergey Sharybin (sergey) added a comment to T56664: Clamping Direct/Indirect Should be Renderlayer Specific Instead of General Render Setting.

Well, this is like trying to simulate data pass with a light setup, which is already kind of weird. So probably this is something to look at as well.

Sep 3 2018, 4:24 PM · Cycles, Compositing, Rendering, BF Blender
Bastien Montagne (mont29) assigned T56664: Clamping Direct/Indirect Should be Renderlayer Specific Instead of General Render Setting to Brecht Van Lommel (brecht).

@Brecht Van Lommel (brecht) @Sergey Sharybin (sergey) while much more like a feature request than a bug, think that totally make sense… Maybe change the task to TODO type?

Sep 3 2018, 4:11 PM · Cycles, Compositing, Rendering, BF Blender

Aug 26 2018

Michael P. (forest-house) updated subscribers of D2493: Compositor: Add Distance Transform Node.

Hi @Brecht Van Lommel (brecht), I know you have a lot to do, but could this feature someday included in Blender? (Only asking)

Aug 26 2018, 9:16 AM · Compositing
Michael P. (forest-house) updated subscribers of D2411: Compositor: Add Anti-Aliasing node.

Hi @Brecht Van Lommel (brecht), I know you have a lot to do, but could this feature someday included in Blender? (Only asking)

Aug 26 2018, 9:16 AM · Compositing

Aug 23 2018

Jeroen Bakker (jbakker) closed D3638: Compositor: Film-like curve.
Aug 23 2018, 11:42 AM · Video Sequencer, Compositing
Brecht Van Lommel (brecht) accepted D3638: Compositor: Film-like curve.
Aug 23 2018, 10:44 AM · Video Sequencer, Compositing
Jeroen Bakker (jbakker) added a comment to D3638: Compositor: Film-like curve.

Updated the patch

Aug 23 2018, 10:35 AM · Video Sequencer, Compositing
Jeroen Bakker (jbakker) updated the diff for D3638: Compositor: Film-like curve.

Updated patch with comments from @Brecht Van Lommel (brecht)'s review

Aug 23 2018, 10:34 AM · Video Sequencer, Compositing
Brecht Van Lommel (brecht) requested changes to D3638: Compositor: Film-like curve.

Looks generally fine. For release notes / documentation I guess this can be summarised as:

Aug 23 2018, 1:31 AM · Video Sequencer, Compositing

Aug 22 2018

Jeroen Bakker (jbakker) updated the summary of D3638: Compositor: Film-like curve.
Aug 22 2018, 10:07 PM · Video Sequencer, Compositing

Aug 18 2018

Yevgeny Makarov (jenkm) updated subscribers of T54716: Corner Pin adds blur to an input image?.

Yeah, there is some blurring at the default values.
Assume that the image is recalculated (always) which leads to blurring.

Aug 18 2018, 12:44 AM · Compositing, BF Blender

Aug 13 2018

Brecht Van Lommel (brecht) added a comment to T56343: 2.8/2.79 Bug: Glare Effect in Compositing Not Working with Transparency in Cycles/Eevee .

The fact that is has zero alpha outside the object is correct, it's intended to add glow without obscuring anything behind.

Aug 13 2018, 5:08 PM · Compositing, BF Blender
Yevgeny Makarov (jenkm) added a comment to T56343: 2.8/2.79 Bug: Glare Effect in Compositing Not Working with Transparency in Cycles/Eevee .

The problem lies elsewhere.

Aug 13 2018, 4:50 PM · Compositing, BF Blender
Brecht Van Lommel (brecht) added a comment to T56343: 2.8/2.79 Bug: Glare Effect in Compositing Not Working with Transparency in Cycles/Eevee .

The compositor actually works fine, but the image editor is not displaying it correctly, see T52680.

Aug 13 2018, 4:28 PM · Compositing, BF Blender
Brecht Van Lommel (brecht) merged task T56343: 2.8/2.79 Bug: Glare Effect in Compositing Not Working with Transparency in Cycles/Eevee into T52680: Alpha difference Viewport/F12 .
Aug 13 2018, 4:27 PM · Compositing, BF Blender
Drew Sikes (DTStheTDS) added a comment to T56343: 2.8/2.79 Bug: Glare Effect in Compositing Not Working with Transparency in Cycles/Eevee .

It might have something to do with it. This was pretty much the closest workaround solution I came up with, even then there's still some compromise. Is it a compositor/viewport problem or is this just normal for some effects in Blender? Sorry, I'm still fairly new to Blender.

Aug 13 2018, 12:37 PM · Compositing, BF Blender
Bastien Montagne (mont29) assigned T56343: 2.8/2.79 Bug: Glare Effect in Compositing Not Working with Transparency in Cycles/Eevee to Jeroen Bakker (jbakker).

I guess that’s something to do with premultiplied/straight alpha, @Jeroen Bakker (jbakker) care to check? Thanks.

Aug 13 2018, 11:33 AM · Compositing, BF Blender
Drew Sikes (DTStheTDS) created T56343: 2.8/2.79 Bug: Glare Effect in Compositing Not Working with Transparency in Cycles/Eevee .
Aug 13 2018, 4:37 AM · Compositing, BF Blender

Jul 29 2018

Adam Latchem (adamlatchem) added a comment to T56138: Movie Clip Node Crash.

Excellent - yes fixed now thank you.

Jul 29 2018, 7:53 PM · Nodes, Compositing, BF Blender: 2.8
Inês Almeida (brita_) closed T56138: Movie Clip Node Crash as Resolved.

Fixed yesterday by rBf50fa4c5
There was a crash on the file selection screen.
Well reported, thank you!

Jul 29 2018, 7:13 PM · Nodes, Compositing, BF Blender: 2.8
Adam Latchem (adamlatchem) created T56138: Movie Clip Node Crash.
Jul 29 2018, 12:25 PM · Nodes, Compositing, BF Blender: 2.8

Jul 18 2018

Stefan Werner (swerner) closed D3531: Compositor: Cryptomatte compositing node..
Jul 18 2018, 1:03 PM · Compositing
Stefan Werner (swerner) updated the diff for D3531: Compositor: Cryptomatte compositing node..
  • Reverted an accidental change.
Jul 18 2018, 1:02 PM · Compositing

Jul 17 2018

Brecht Van Lommel (brecht) accepted D3531: Compositor: Cryptomatte compositing node..

Looks good to me now, besides one accidental change.

Jul 17 2018, 11:59 PM · Compositing

Jul 16 2018

Stefan Werner (swerner) updated the diff for D3531: Compositor: Cryptomatte compositing node..
  • Compositor: Fixed Cryptomatte string handling.
  • Compositor: Applied Brecht's UI improvements to Cryptomatte node
  • Compositor: Fixed broken add/remove in Cryptomatte node.
  • Compositor: Raised default number of Crypto inputs to three, as recommended by the Cryptomatte specification.
Jul 16 2018, 3:47 PM · Compositing
Stefan Werner (swerner) updated the diff for D3531: Compositor: Cryptomatte compositing node..
  • Compositor: Cryptomatte node now uses a dynamic string for matte ids, no more 1024 character limit.
Jul 16 2018, 1:00 PM · Compositing

Jul 12 2018

Stefan Werner (swerner) added a comment to D3531: Compositor: Cryptomatte compositing node..

Cryptomatte support for Cycles is in D3538.

Jul 12 2018, 11:14 PM · Compositing
Brecht Van Lommel (brecht) added a comment to D3531: Compositor: Cryptomatte compositing node..

Also just noticed the matte_id string has a fixed size, with a few dozens objects you already run into that limitation.

Jul 12 2018, 5:56 PM · Compositing
Brecht Van Lommel (brecht) added a comment to D3531: Compositor: Cryptomatte compositing node..

Here are some UI tweaks on top of the patch, trying to make it a bit easier to understand for first time users.

1diff --git a/source/blender/compositor/nodes/COM_CryptomatteNode.cpp b/source/blender/compositor/nodes/COM_CryptomatteNode.cpp
2index 07d75aa..58eb6d1 100644
3--- a/source/blender/compositor/nodes/COM_CryptomatteNode.cpp
4+++ b/source/blender/compositor/nodes/COM_CryptomatteNode.cpp
5@@ -56,7 +56,7 @@ void CryptomatteNode::convertToOperations(NodeConverter &converter, const Compos
6 NodeInput *inputSocketImage = this->getInputSocket(0);
7 NodeOutput *outputSocketImage = this->getOutputSocket(0);
8 NodeOutput *outputSocketMatte = this->getOutputSocket(1);
9- NodeOutput *outputCryptoPick = this->getOutputSocket(2);
10+ NodeOutput *outputSocketPick = this->getOutputSocket(2);
11
12 bNode *node = this->getbNode();
13 NodeCryptomatte *cryptoMatteSettings = (NodeCryptomatte *)node->storage;
14@@ -106,7 +106,7 @@ void CryptomatteNode::convertToOperations(NodeConverter &converter, const Compos
15 converter.mapInputSocket(inputSocketImage, operationAlpha->getInputSocket(0));
16 converter.mapOutputSocket(outputSocketMatte, separateOperation->getOutputSocket(0));
17 converter.mapOutputSocket(outputSocketImage, operationAlpha->getOutputSocket(0));
18- converter.mapOutputSocket(outputCryptoPick, operation->getOutputSocket(0));
19+ converter.mapOutputSocket(outputSocketPick, operation->getOutputSocket(0));
20
21 converter.addLink(operation->getOutputSocket(0), separateOperation->getInputSocket(0));
22 converter.addLink(separateOperation->getOutputSocket(0), operationAlpha->getInputSocket(1));
23diff --git a/source/blender/compositor/operations/COM_CryptomatteOperation.cpp b/source/blender/compositor/operations/COM_CryptomatteOperation.cpp
24index 13e23d5..267eb70 100644
25--- a/source/blender/compositor/operations/COM_CryptomatteOperation.cpp
26+++ b/source/blender/compositor/operations/COM_CryptomatteOperation.cpp
27@@ -57,7 +57,7 @@ void CryptomatteOperation::executePixel(float output[4],
28 /* Write the frontmost object as false color for picking. */
29 output[0] = input[0];
30 uint32_t m3hash;
31- ::memcpy(&m3hash, &input[0], 4);
32+ ::memcpy(&m3hash, &input[0], sizeof(uint32_t));
33 output[1] = ((float) ((m3hash << 8)) / (float) UINT32_MAX);
34 output[2] = ((float) ((m3hash << 16)) / (float) UINT32_MAX);
35 }
36diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
37index 2007a0a..eefbeee 100644
38--- a/source/blender/editors/include/UI_interface.h
39+++ b/source/blender/editors/include/UI_interface.h
40@@ -969,7 +969,7 @@ void uiTemplateCurveMapping(
41 bool levels, bool brush, bool neg_slope);
42 void uiTemplateColorPicker(uiLayout *layout, struct PointerRNA *ptr, const char *propname, bool value_slider, bool lock, bool lock_luminosity, bool cubic);
43 void uiTemplatePalette(uiLayout *layout, struct PointerRNA *ptr, const char *propname, bool color);
44-void uiTemplateEyedropper(uiLayout *layout, struct PointerRNA *ptr, const char *propname);
45+void uiTemplateCryptoPicker(uiLayout *layout, struct PointerRNA *ptr, const char *propname);
46 void uiTemplateLayers(
47 uiLayout *layout, struct PointerRNA *ptr, const char *propname,
48 PointerRNA *used_ptr, const char *used_propname, int active_layer);
49diff --git a/source/blender/editors/interface/interface_eyedropper.c b/source/blender/editors/interface/interface_eyedropper.c
50index a073129..67486f3 100644
51--- a/source/blender/editors/interface/interface_eyedropper.c
52+++ b/source/blender/editors/interface/interface_eyedropper.c
53@@ -82,10 +82,10 @@ wmKeyMap *eyedropper_modal_keymap(wmKeyConfig *keyconf)
54 /* assign to operators */
55 WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_colorband");
56 WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_color");
57+ WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_color_crypto");
58 WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_id");
59 WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_depth");
60 WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_driver");
61- WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_color_separate");
62
63 return keymap;
64 }
65diff --git a/source/blender/editors/interface/interface_eyedropper_color.c b/source/blender/editors/interface/interface_eyedropper_color.c
66index 6975076..bcb6001 100644
67--- a/source/blender/editors/interface/interface_eyedropper_color.c
68+++ b/source/blender/editors/interface/interface_eyedropper_color.c
69@@ -28,7 +28,6 @@
70 *
71 * Defines:
72 * - #UI_OT_eyedropper_color
73- * - #UI_OT_eyedropper_color_separate
74 */
75
76 #include "MEM_guardedalloc.h"
77@@ -37,6 +36,7 @@
78 #include "DNA_screen_types.h"
79
80 #include "BLI_math_vector.h"
81+#include "BLI_string.h"
82
83 #include "BKE_context.h"
84 #include "BKE_main.h"
85@@ -73,6 +73,8 @@ typedef struct Eyedropper {
86 bool accum_start; /* has mouse been pressed */
87 float accum_col[3];
88 int accum_tot;
89+
90+ bool accumulate; /* Color picking for cryptomatte, without accumulation. */
91 } Eyedropper;
92
93 static bool eyedropper_init(bContext *C, wmOperator *op)
94@@ -81,6 +83,7 @@ static bool eyedropper_init(bContext *C, wmOperator *op)
95 Eyedropper *eye;
96
97 op->customdata = eye = MEM_callocN(sizeof(Eyedropper), "Eyedropper");
98+ eye->accumulate = !STREQ(op->type->idname, "UI_OT_eyedropper_color_crypto");
99
100 UI_context_active_but_prop_get(C, &eye->ptr, &eye->prop, &eye->index);
101
102@@ -208,29 +211,30 @@ static void eyedropper_color_set(bContext *C, Eyedropper *eye, const float col[3
103 RNA_property_update(C, &eye->ptr, eye->prop);
104 }
105
106-/* set sample from accumulated values */
107-static void eyedropper_color_set_accum(bContext *C, Eyedropper *eye)
108-{
109- float col[3];
110- mul_v3_v3fl(col, eye->accum_col, 1.0f / (float)eye->accum_tot);
111- eyedropper_color_set(C, eye, col);
112-}
113-
114-/* single point sample & set */
115 static void eyedropper_color_sample(bContext *C, Eyedropper *eye, int mx, int my)
116 {
117+ /* Accumulate color. */
118 float col[3];
119 eyedropper_color_sample_fl(C, mx, my, col);
120- eyedropper_color_set(C, eye, col);
121-}
122
123-static void eyedropper_color_sample_accum(bContext *C, Eyedropper *eye, int mx, int my)
124-{
125- float col[3];
126- eyedropper_color_sample_fl(C, mx, my, col);
127- /* delay linear conversion */
128- add_v3_v3(eye->accum_col, col);
129- eye->accum_tot++;
130+ if (eye->accumulate) {
131+ add_v3_v3(eye->accum_col, col);
132+ eye->accum_tot++;
133+ }
134+ else {
135+ copy_v3_v3(eye->accum_col, col);
136+ eye->accum_tot = 1;
137+ }
138+
139+ /* Apply to property. */
140+ float accum_col[3];
141+ if (eye->accum_tot > 1) {
142+ mul_v3_v3fl(accum_col, eye->accum_col, 1.0f / (float)eye->accum_tot);
143+ }
144+ else {
145+ copy_v3_v3(accum_col, eye->accum_col);
146+ }
147+ eyedropper_color_set(C, eye, accum_col);
148 }
149
150 static void eyedropper_cancel(bContext *C, wmOperator *op)
151@@ -255,29 +259,24 @@ static int eyedropper_modal(bContext *C, wmOperator *op, const wmEvent *event)
152 if (eye->accum_tot == 0) {
153 eyedropper_color_sample(C, eye, event->x, event->y);
154 }
155- else {
156- eyedropper_color_set_accum(C, eye);
157- }
158 eyedropper_exit(C, op);
159 return OPERATOR_FINISHED;
160 case EYE_MODAL_SAMPLE_BEGIN:
161 /* enable accum and make first sample */
162 eye->accum_start = true;
163- eyedropper_color_sample_accum(C, eye, event->x, event->y);
164+ eyedropper_color_sample(C, eye, event->x, event->y);
165 break;
166 case EYE_MODAL_SAMPLE_RESET:
167 eye->accum_tot = 0;
168 zero_v3(eye->accum_col);
169- eyedropper_color_sample_accum(C, eye, event->x, event->y);
170- eyedropper_color_set_accum(C, eye);
171+ eyedropper_color_sample(C, eye, event->x, event->y);
172 break;
173 }
174 }
175- else if (event->type == MOUSEMOVE) {
176+ else if (ELEM(event->type, MOUSEMOVE, INBETWEEN_MOUSEMOVE)) {
177 if (eye->accum_start) {
178 /* button is pressed so keep sampling */
179- eyedropper_color_sample_accum(C, eye, event->x, event->y);
180- eyedropper_color_set_accum(C, eye);
181+ eyedropper_color_sample(C, eye, event->x, event->y);
182 }
183 }
184
185@@ -322,20 +321,9 @@ static int eyedropper_exec(bContext *C, wmOperator *op)
186
187 static bool eyedropper_poll(bContext *C)
188 {
189- PointerRNA ptr;
190- PropertyRNA *prop;
191- int index_dummy;
192- uiBut *but;
193-
194- /* Only color buttons */
195- if ((CTX_wm_window(C) != NULL) &&
196- (but = UI_context_active_but_prop_get(C, &ptr, &prop, &index_dummy)) &&
197- (but->type == UI_BTYPE_COLOR))
198- {
199- return 1;
200- }
201-
202- return 0;
203+ /* Actual test for active button happens later, since we don't
204+ * know which one is active until mouse over. */
205+ return (CTX_wm_window(C) != NULL);
206 }
207
208 void UI_OT_eyedropper_color(wmOperatorType *ot)
209@@ -354,32 +342,22 @@ void UI_OT_eyedropper_color(wmOperatorType *ot)
210
211 /* flags */
212 ot->flag = OPTYPE_BLOCKING | OPTYPE_INTERNAL;
213-
214- /* properties */
215-}
216-
217-static bool eyedropper_separate(bContext *C)
218-{
219- if(!CTX_wm_window(C)) return 0;
220- else return 1;
221 }
222
223-void UI_OT_eyedropper_color_separate(wmOperatorType *ot)
224+void UI_OT_eyedropper_color_crypto(wmOperatorType *ot)
225 {
226 /* identifiers */
227- ot->name = "Eyedropper";
228- ot->idname = "UI_OT_eyedropper_color_separate";
229- ot->description = "Sample a color from the Blender Window to store in a property";
230+ ot->name = "Cryptomatte Eyedropper";
231+ ot->idname = "UI_OT_eyedropper_color_crypto";
232+ ot->description = "Pick a color from Cryptomatte node Pick output image";
233
234 /* api callbacks */
235 ot->invoke = eyedropper_invoke;
236 ot->modal = eyedropper_modal;
237 ot->cancel = eyedropper_cancel;
238 ot->exec = eyedropper_exec;
239- ot->poll = eyedropper_separate;
240+ ot->poll = eyedropper_poll;
241
242 /* flags */
243 ot->flag = OPTYPE_BLOCKING | OPTYPE_INTERNAL;
244-
245- /* properties */
246 }
247diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
248index f4ccdde..dc5e100 100644
249--- a/source/blender/editors/interface/interface_intern.h
250+++ b/source/blender/editors/interface/interface_intern.h
251@@ -763,6 +763,7 @@ struct wmKeyMap *eyedropper_colorband_modal_keymap(struct wmKeyConfig *keyconf);
252
253 /* interface_eyedropper_color.c */
254 void UI_OT_eyedropper_color(struct wmOperatorType *ot);
255+void UI_OT_eyedropper_color_crypto(struct wmOperatorType *ot);
256
257 /* interface_eyedropper_colorband.c */
258 void UI_OT_eyedropper_colorband(struct wmOperatorType *ot);
259@@ -776,6 +777,5 @@ void UI_OT_eyedropper_depth(struct wmOperatorType *ot);
260
261 /* interface_eyedropper_driver.c */
262 void UI_OT_eyedropper_driver(struct wmOperatorType *ot);
263-void UI_OT_eyedropper_color_separate(struct wmOperatorType *ot);
264
265 #endif /* __INTERFACE_INTERN_H__ */
266diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c
267index 83f3418..1e67ecd 100644
268--- a/source/blender/editors/interface/interface_ops.c
269+++ b/source/blender/editors/interface/interface_ops.c
270@@ -1138,12 +1138,12 @@ void ED_operatortypes_ui(void)
271
272 /* external */
273 WM_operatortype_append(UI_OT_eyedropper_color);
274+ WM_operatortype_append(UI_OT_eyedropper_color_crypto);
275 WM_operatortype_append(UI_OT_eyedropper_colorband);
276 WM_operatortype_append(UI_OT_eyedropper_colorband_point);
277 WM_operatortype_append(UI_OT_eyedropper_id);
278 WM_operatortype_append(UI_OT_eyedropper_depth);
279 WM_operatortype_append(UI_OT_eyedropper_driver);
280- WM_operatortype_append(UI_OT_eyedropper_color_separate);
281 }
282
283 /**
284diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
285index 029899c..daee0d3 100644
286--- a/source/blender/editors/interface/interface_templates.c
287+++ b/source/blender/editors/interface/interface_templates.c
288@@ -2572,12 +2572,11 @@ void uiTemplatePalette(uiLayout *layout, PointerRNA *ptr, const char *propname,
289 }
290 }
291
292-void uiTemplateEyedropper(uiLayout *layout, PointerRNA *ptr, const char *propname)
293+void uiTemplateCryptoPicker(uiLayout *layout, PointerRNA *ptr, const char *propname)
294 {
295 PropertyRNA *prop = RNA_struct_find_property(ptr, propname);
296 uiBlock *block;
297 uiBut *but;
298- uiLayout *col;
299
300 if (!prop) {
301 RNA_warning("property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
302@@ -2586,11 +2585,7 @@ void uiTemplateEyedropper(uiLayout *layout, PointerRNA *ptr, const char *propnam
303
304 block = uiLayoutGetBlock(layout);
305
306- col = uiLayoutColumn(layout, true);
307- uiLayoutRow(col, true);
308-
309- uiDefBut(block, UI_BTYPE_LABEL, 0, RNA_property_ui_name(prop), 0, 19, 145, 19, NULL, 0, 0, 0, 0, RNA_property_ui_description(prop));
310- but = uiDefIconButO(block, UI_BTYPE_BUT, "UI_OT_eyedropper_color_separate", WM_OP_INVOKE_DEFAULT, ICON_EYEDROPPER, 0, 0, UI_UNIT_X, UI_UNIT_Y, NULL);
311+ but = uiDefIconTextButO(block, UI_BTYPE_BUT, "UI_OT_eyedropper_color_crypto", WM_OP_INVOKE_DEFAULT, ICON_EYEDROPPER, RNA_property_ui_name(prop), 0, 0, UI_UNIT_X, UI_UNIT_Y, RNA_property_ui_description(prop));
312 but->rnapoin = *ptr;
313 but->rnaprop = prop;
314 but->rnaindex = -1;
315diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
316index 55d44a5..d67dbc2 100644
317--- a/source/blender/editors/space_node/drawnode.c
318+++ b/source/blender/editors/space_node/drawnode.c
319@@ -2544,9 +2544,15 @@ static void node_composit_buts_sunbeams(uiLayout *layout, bContext *UNUSED(C), P
320
321 static void node_composit_buts_cryptomatte(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
322 {
323- uiItemR(layout, ptr, "matte_id", 0, NULL, ICON_NONE);
324- uiTemplateEyedropper(layout, ptr, "add");
325- uiTemplateEyedropper(layout, ptr, "remove");
326+ uiLayout *col = uiLayoutColumn(layout, true);
327+
328+ uiItemL(col, IFACE_("Matte Objects:"), ICON_NONE);
329+
330+ uiLayout *row = uiLayoutRow(col, true);
331+ uiTemplateCryptoPicker(row, ptr, "add");
332+ uiTemplateCryptoPicker(row, ptr, "remove");
333+
334+ uiItemR(col, ptr, "matte_id", 0, "", ICON_NONE);
335 }
336
337 static void node_composit_buts_cryptomatte_ex(uiLayout *layout, bContext *UNUSED(C), PointerRNA *UNUSED(ptr))
338diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
339index 0b1aafc..54fc1a4 100644
340--- a/source/blender/makesrna/intern/rna_nodetree.c
341+++ b/source/blender/makesrna/intern/rna_nodetree.c
342@@ -6973,25 +6973,19 @@ static void def_cmp_cryptomatte(StructRNA *srna)
343 RNA_def_struct_sdna_from(srna, "NodeCryptomatte", "storage");
344 prop = RNA_def_property(srna, "matte_id", PROP_STRING, PROP_NONE);
345 RNA_def_property_string_sdna(prop, NULL, "matte_id");
346- RNA_def_property_ui_text(prop, "Matte List", "");
347+ RNA_def_property_ui_text(prop, "Matte Objects", "List of object and material crypto IDs to include in matte");
348 RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
349
350 prop = RNA_def_property(srna, "add", PROP_FLOAT, PROP_COLOR);
351- RNA_def_property_float_sdna(prop, NULL, "add");
352- RNA_def_property_array(prop, 3);
353 RNA_def_property_float_array_default(prop, default_1);
354 RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
355- RNA_def_property_ui_range(prop, 0, 2, 0.1, 3);
356- RNA_def_property_ui_text(prop, "Add", "Add to matte");
357+ RNA_def_property_ui_text(prop, "Add", "Add object or material to matte, by picking a color from the Pick output");
358 RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeCryptomatte_update_add");
359
360 prop = RNA_def_property(srna, "remove", PROP_FLOAT, PROP_COLOR);
361- RNA_def_property_float_sdna(prop, NULL, "remove");
362- RNA_def_property_array(prop, 3);
363 RNA_def_property_float_array_default(prop, default_1);
364 RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
365- RNA_def_property_ui_range(prop, 0, 2, 0.1, 3);
366- RNA_def_property_ui_text(prop, "Remove", "Remove from matte");
367+ RNA_def_property_ui_text(prop, "Remove", "Remove object or material from matte, by picking a color from the Pick output");
368 RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeCryptomatte_update_remove");
369 }
370
371diff --git a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.c b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.c
372index 1941f54..0d78053 100644
373--- a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.c
374+++ b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.c
375@@ -195,7 +195,7 @@ static void cryptomatte_remove(NodeCryptomatte*n, float f)
376 static bNodeSocketTemplate outputs[] = {
377 { SOCK_RGBA, 0, N_("Image")},
378 { SOCK_FLOAT, 0, N_("Matte")},
379- { SOCK_RGBA, 0, N_("CryptoPick")},
380+ { SOCK_RGBA, 0, N_("Pick")},
381 { -1, 0, "" }
382 };
383

Jul 12 2018, 5:17 PM · Compositing

Jul 11 2018

Stefan Werner (swerner) updated the diff for D3531: Compositor: Cryptomatte compositing node..
  • More code styling changes in Cryptomatte compositing node.
  • Code styling and warning suppression in murmur3 hash.
  • Removed unused code.
Jul 11 2018, 12:35 PM · Compositing
Stefan Werner (swerner) added inline comments to D3531: Compositor: Cryptomatte compositing node..
Jul 11 2018, 10:58 AM · Compositing
Stefan Werner (swerner) updated the diff for D3531: Compositor: Cryptomatte compositing node..

x - Compositor: Addressed Brecht's comments for Cryptomatte node.

  • Compositor: Added static sizeof() checks before type punning. Currently, sizeof(float) == 4 on all of our supported platforms, but the standards don't require that. You never know...
Jul 11 2018, 10:46 AM · Compositing