Hit Ton,<br><br><div class="gmail_quote"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">
&gt; I am interested in this kind of stuff and I can code it but as I said<br>
&gt; if is going to be used by nodes, sequencer and image editor ther must<br>
&gt; be a way to unify it.<br>
<br>
</div>I&#39;ve seen the past years some professional colorcorrections programs<br>
work, and this is a truely amazing tool to manage footage or renders<br>
for final delivery (like for film, video, but also to match sequences).<br>
Especially real-time mask generating is a great tool to have.<br>
In that sense I&#39;m very interested to look at ways how to extend the<br>
sequencer to use more of such tools. They definitely can be presented<br>
somewhat more friendly or consistant, feel invited to make a proposal<br>
one of these months for how to work on this in 2.5?<br>
</blockquote><div><br>I will try for sure, but I am new to blender code and not really a programmer but know image manipulation mathematics and c. For the moment I was just thinking on making some image minupulation functions accesible to nodes and sequencer code to avoid code duplication. I am a bit lost in the interface code but maybe some common UI controls can be grouped (like the curves control) to unify somme of the UI code also. For the moment I am thinking Lift/gamma/gain controls or Saturation/Value curves acording to hue.<br>
<br>Some kind of mask drawing (with primitives shape and/or bezier) tool is really useful too. It is possible for the moment but only using a 3d scene and animating bezier with hooks are not practical (can&#39;t animate handles or keeping the curve in &quot;auto smooth&quot;). Setting the camera, materal and bakground image in 3d for creating a 2d mask is also a bit frustrating. <br>
&nbsp;<br>If some kind of basic 2d vector drawing tool must be introduced, how will it fit in blender? how to make the render available in the nodes and in the sequencer? (but adding a &quot;mask&quot; option for some image filter in the sequencer is quite easy) <br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
In my vision it&#39;s very cool to keep the sequencer fast, providing<br>
near-realtime editing of many shots. Having excellent grading tools<br>
here, using simple stacks, and probably using GPU, would be a great<br>
step forward.</blockquote><div>&nbsp;</div><div>Color correction is not&nbsp; fast code, but not really complicated and programs using CUDA for it seems to have great peformance. Plus it should not be too hard to port. Staking image filter would be verry usefull when more one correction method will be available, but abusing it will result in bad performances.<br>
&nbsp;&nbsp; <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
How ImageWindow fits in this... I&#39;d stick for the time being on using a<br>
designated sequencer output window.</blockquote><div>&nbsp;</div><div>Yes, I suppose there is not a lot of use to have this kind of tools in the image widows, gimp is already here.<br>&nbsp;<br>Xavier<br><br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
-Ton-<br>
<br>
------------------------------------------------------------------------<br>
<font color="#888888">Ton Roosendaal &nbsp;Blender Foundation &nbsp; <a href="mailto:ton@blender.org">ton@blender.org</a> &nbsp; &nbsp;<a href="http://www.blender.org" target="_blank">www.blender.org</a><br>
Blender Institute BV &nbsp;Entrepotdok 57A &nbsp;1018AD Amsterdam The Netherlands<br>
</font><div><div></div><div class="Wj3C7c"><br>
On 11 Dec, 2008, at 0:28, Xavier Thomas wrote:<br>
<br>
&gt; they are not really intuitives, but they works like &quot;Levels&quot; in gimp<br>
&gt; Lift must set the black level<br>
&gt; Gain the white<br>
&gt; and Gamme the mid point<br>
&gt;<br>
&gt; The problem here is that the the values are manipulated for :<br>
&gt; &nbsp;- &quot;1,1,1&quot; to be &quot;no change value&quot;<br>
&gt; - Values between 0 and 1 to darken the image<br>
&gt; - An &quot;inverse&quot; button tho permit values &gt; 1 wich brighten the image<br>
&gt; More than being unintuitives, it does not permit full control<br>
&gt; (inversing gain invers for all channels)<br>
&gt;<br>
&gt; What solution:<br>
&gt; - Curves will take big UI<br>
&gt; - Levels maybe also<br>
&gt;<br>
&gt; But it is not preferable to do this as an sequencer effect, This will<br>
&gt; permit the user to choose the effect acording to the type of<br>
&gt; correction he wants to make (Level, curves, ...)<br>
&gt;<br>
&gt; For primary color correction this is not really important as for me<br>
&gt; &quot;Levels&quot; and &quot;Lift/Gamma/Gain&quot; are the same with different way of<br>
&gt; setting the parameter and they can be done with curves.<br>
&gt;<br>
&gt; &nbsp;But if complex secondary collor correction (like changing saturation&nbsp;<br>
&gt; and value acording to hue with a curve, ...) is going to make is way<br>
&gt; in blender the user must choose the one he wants<br>
&gt;<br>
&gt; Note that with nodes doing a &quot;not so complex secondary color<br>
&gt; correction&quot; (like the exemple below) requires:<br>
&gt; &nbsp;-color space conversion<br>
&gt; -doing a difference map with a constant value<br>
&gt; -using this map as factor for color<br>
&gt;<br>
&gt; It will need about 10 nodes and that is uaualy done in one in shake or<br>
&gt; with one effect in finalcut.<br>
&gt;<br>
&gt; I am interested in this kind of stuff and I can code it but as I said<br>
&gt; if is going to be used by nodes, sequencer and image editor ther must<br>
&gt; be a way to unify it.<br>
&gt;<br>
&gt; xavier<br>
&gt;<br>
&gt; 2008/12/10 Campbell Barton &lt;<a href="mailto:ideasman42@gmail.com">ideasman42@gmail.com</a>&gt;<br>
&gt;&gt; On Thu, Dec 11, 2008 at 9:33 AM, Xavier Thomas<br>
&gt;&gt; &nbsp;&lt;<a href="mailto:xavier.thomas.1980@gmail.com">xavier.thomas.1980@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &nbsp;&gt; Yes, that is what I ment but is it ok to add an UI parameter<br>
&gt;&gt; &quot;ofset&quot; with is<br>
&gt;&gt; &nbsp;&gt; button &quot;Inv ofset&quot; at the side of the Lift gamma and gain<br>
&gt;&gt; parameters because<br>
&gt;&gt; &nbsp;&gt; the UI will get really charged.<br>
&gt;&gt; &nbsp;&gt;<br>
&gt;&gt; &nbsp;&gt; And what about an image treatment library, because I already have<br>
&gt;&gt; made this<br>
&gt;&gt; &nbsp;&gt; function in my keyer node and crating a color correction node with<br>
&gt;&gt; these<br>
&gt;&gt; &nbsp;&gt; controls might be usefull also: this will result in a lot of code<br>
&gt;&gt; &nbsp;&gt; duplication.<br>
&gt;&gt; &nbsp;&gt;<br>
&gt;&gt; &nbsp;&gt;<br>
&gt;&gt; &nbsp;&gt; 2008/12/10 Dalai Felinto &lt;<a href="mailto:dfelinto@gmail.com">dfelinto@gmail.com</a>&gt;<br>
&gt;&gt; &nbsp;&gt;&gt;<br>
&gt;&gt; &nbsp;&gt;&gt; Hi Xavier.<br>
&gt;&gt; &nbsp;&gt;&gt;<br>
&gt;&gt; &nbsp;&gt;&gt; Can&#39;t you do a do_version()?<br>
&gt;&gt; &nbsp;&gt;&gt; In readfile.c you can see a lot of parameters that need to be<br>
&gt;&gt; updated<br>
&gt;&gt; &nbsp;&gt;&gt; over Blender version.<br>
&gt;&gt; &nbsp;&gt;&gt; If what you need is a simple offset for old blender files work in<br>
&gt;&gt; the<br>
&gt;&gt; &nbsp;&gt;&gt; same way as new blender files (with this bug fixed), this should<br>
&gt;&gt; work.<br>
&gt;&gt; &nbsp;&gt;&gt;<br>
&gt;&gt; &nbsp;&gt;&gt; I didn&#39;t see the bug or this part of the code, but do_version()<br>
&gt;&gt; &nbsp;&gt;&gt; sometimes is the better way to go.<br>
&gt;&gt; &nbsp;&gt;&gt;<br>
&gt;&gt; &nbsp;&gt;&gt; Cheers,<br>
&gt;&gt; &nbsp;&gt;&gt; Dalai<br>
&gt;&gt; &nbsp;&gt;&gt; <a href="http://blenderecia.orgfree.com" target="_blank">http://blenderecia.orgfree.com</a><br>
&gt;&gt; &nbsp;&gt;&gt;<br>
&gt;&gt; &nbsp;&gt;&gt; 2008/12/10 Xavier Thomas &lt;<a href="mailto:xavier.thomas.1980@gmail.com">xavier.thomas.1980@gmail.com</a>&gt;:<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Hello,<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Lately, I was trying to implicate me in blender developement,<br>
&gt;&gt; &nbsp;and<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; begining<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; with small things (after the keyr node) I &nbsp;desided to correct<br>
&gt;&gt; this bug:<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; <a href="http://projects.blender.org/tracker/index.php" target="_blank">http://projects.blender.org/tracker/index.php</a>?<br>
&gt;&gt; func=detail&amp;aid=18010&amp;group_id=9&amp;atid=125<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Basicly the lift parameter of color correction in sequencer<br>
&gt;&gt; works more<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; like<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; a &quot;value&quot; color correction than a &quot;lift&quot; (exept that it work on<br>
&gt;&gt; RGB<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; channel<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; separately so I think &quot;ofset&quot; is more apropriate then &quot;value&quot;)<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Fixing it would be simple but old files that use this parameter<br>
&gt;&gt; will<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; have a<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; diferent render result, and after discussing with Matt Ebb on<br>
&gt;&gt; IRC it<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; seems<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; that this is not acceptable.<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; So the only solution to have a proper color correction in the<br>
&gt;&gt; sequencer<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; is<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; to add an &quot;ofset&quot; parameter. Is this OK ? (maybe the UI will<br>
&gt;&gt; get too<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; compact)<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Further, why do not put this kind of function in an image<br>
&gt;&gt; library so it<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; will<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; be accesible form other part of the program (nodes and maybe<br>
&gt;&gt; image<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; editor)<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; like the quick blur function in the nodes CMP_util.h<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Sorry to disturb, I know lot of you are really buzzy but I<br>
&gt;&gt; prefer to get<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; good directions before coding.<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Thanks<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Xavier<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; Bf-committers mailing list<br>
&gt;&gt; &nbsp;&gt;&gt; &gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
&gt;&gt; &nbsp;&gt;&gt; &gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; &gt;<br>
&gt;&gt; &nbsp;&gt;&gt; _______________________________________________<br>
&gt;&gt; &nbsp;&gt;&gt; Bf-committers mailing list<br>
&gt;&gt; &nbsp;&gt;&gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
&gt;&gt; &nbsp;&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
&gt;&gt; &nbsp;&gt;<br>
&gt;&gt; &nbsp;&gt;<br>
&gt;&gt; &nbsp;&gt; _______________________________________________<br>
&gt;&gt; &nbsp;&gt; Bf-committers mailing list<br>
&gt;&gt; &nbsp;&gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
&gt;&gt; &nbsp;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
&gt;&gt;<br>
&gt;&gt; Recently I tried making sense of the sequencer&#39;s color functions and<br>
&gt;&gt; &nbsp;found them quite confusing. Even after tweaking them for 5min I don&#39;t<br>
&gt;&gt; &nbsp;really understand what they do exactly.<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Id much prefer convert these values into either, gimp/photoshop color<br>
&gt;&gt; &nbsp;&#39;Levels&#39; or &#39;Curves&#39;.<br>
&gt;&gt; &nbsp;Curves are already used in other parts of blender so I&#39;ts probably<br>
&gt;&gt; not<br>
&gt;&gt; &nbsp;that hard to make this change,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Peter, if your reading, Could these settings be converted to curves?<br>
&gt;&gt; &nbsp;(even a close approximation would be ok I think)<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;--<br>
&gt;&gt; - Campbell<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; &nbsp;Bf-committers mailing list<br>
&gt;&gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
&gt; _______________________________________________<br>
&gt; Bf-committers mailing list<br>
&gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
<br>
_______________________________________________<br>
Bf-committers mailing list<br>
<a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-committers" target="_blank">http://lists.blender.org/mailman/listinfo/bf-committers</a><br>
</div></div></blockquote></div><br>