Archive for November, 2009

VFX tracking marker to download and print

Posted by François On November - 26 - 2009

Thanks to Eric Alba, he shared a really nice Tracking Marker on his Flickr page. It’s working very well !

Cubic Lens Distortion Shader

Posted by François On November - 20 - 2009

Introduction

Cubic Lens Distortion (or undistortion as well) is well known in compositing or any VFX package. Basic Lens Distortion would usually solve the distord plate a the center, but closer you would get to the border of the picture, more the distortion will still there. The Cubic parameter let you control that.
It could also be used to give a “Chromatic Aberration” effect

This shader is based on the Algorithm shared by ssonTech website. This algorithm is used in SynthEyes (matchmove software) and is pretty simple.


Examples

k = -1.0 ; kcube = 0.0

k = -1.0 ; kcube = 0.0

k = -1.0 ; kcube = 0.5

k = -1.0 ; kcube = 0.5

Chromatic Aberration example : k = -0.15 ; kcube = 0.15  ||  using red distord channel with green and blue undistord channel

Chromatic Aberration example : k = -0.15 ; kcube = 0.15 || using red distord channel with green and blue undistord channel



Shader (Media Player ClassicHLSL)


code on Pasteall.org

Reblog this post [with Zemanta]

RGBto3D Space application made with processing

Posted by François On November - 13 - 2009

Introduction

I wanted to play with Processing the other night. I thought about representing RGB pixels value of a video in a 3D space based on there RGB value, where RGB stand for XYZ.


Mobile Version on Vimeo

00:00 : using “Avatar” Trailer
01:07 : using webcam feed


How, why, cool ?

So really basic programming, but I thought it would looks cool. Actually, what was going to be a cool looking animation  turn out to become a cool visualisation tool !
I found out that by just showing those pixels in a 3d space based on there RGB values you could see several dimensions at once :

  • Red value : X axis
  • Green value : Y axis
  • Blue value : Z axis
  • Luma value : is the vector between the black color (0,0,0)  -> white color (255,255,255). It means that if the point cloud is closer to the white corner, brighter the picture is (… no kidding :) )
  • Saturation value : it is the vector perpendicular to the luma vector. it means if the picture is saturated wider the point cloud would be, and of course more it is desaturated finer the point cloud will be. A black & white picture would only show particles on the luma value.
    This one was the less obvious to me (but I’m not really smart :p)



Examples

Saturate picture = wider point cloud

Saturate picture = wider point cloud

Desaturate = finer point cloud

Desaturate = finer point cloud

black&white = point cloud only show as a straight line on the luma vector

black&white = point cloud only show as a straight line on the luma vector

brighter = point cloud closer to the white corner

brighter = point cloud closer to the white corner

Darker = point cloud will be closer to the black corner

Darker = point cloud will be closer to the black corner



Source Files :

You will have to add a quicktime movie (.mov) in the “data” folder called “vid.mov”


Conclusion :

For sure all this sounds pretty obvious, and I’m pretty sure I’ve seen people doing this kind of stuff before, but I’m surprised I haven’t seen it in any “video editing” software before (or maybe I miss it).

I think it could be a really helpful tool to have a quick over look on your picture and just in a snap being able to tell if its too saturate, too red, or too blue, too bright or too dark…

Feel free to leave any comments about that or if you know something similar, just drop a line in the comments. By the way, this is my really first complete project with processing, so I probably did things the wrong way, you are welcome to correct me :)

halloweenpic-screenshot

Juan Bermudez did a cool facebook app called HalloweenPic based on the small Flash application I did a while ago.

I’m really happy (and proud :) ) that sharing the sources could help someone creating some cool stuff.

That said, just go and test it here : http://apps.facebook.com/halloweenpic

Reblog this post [with Zemanta]

Ramen : Open Source HDR Node Compositor

Posted by François On November - 9 - 2009

Ramen-screenshot

We Finally might have a free and open source compositor ^^ . I’ve been waiting for this for so long, I guess it was really the missing piece of the puzzle.
I was waiting for CineFX (Jahshaka) to be launch but it’s been months without any news, so I’m thinking the project is dead :( .
I’ve been using Blender Compositing Mode for a while, but a lot of tools are still missing like Mask, …

As today, Ramen still in its early stage, but it’s already looking very good with EXR support, roto spline and animation curve, plus a lot of other tools.

Keep an eye on the Blog & the website

Saturation Shader

Posted by François On November - 6 - 2009

saturation-panel

This one should be pretty simple, but still all the shaders I have found on the Internet was based on conversion to HSL color space. Which could be actually useful if  you need some color balance control, but if you just want to control the saturation as fast as you can, it’s probably not the right approach.

Anyway here is a small shader which does the trick (Media Player Classic) :

http://www.pasteall.org/8891/c

Exposure/Offset/Gamma photoshop tool to Shaders

Posted by François On November - 5 - 2009

The goal here was to understand how works the Exposure feature of Photoshop for my research on lift/gamma/gain

exposure-photoshop-panel

NB : I wouldn’t say I’m an 100% sure about how it works, but that’s how I understood it worked so far


Exposure :

I though exposure was more complicated than that (maybe it is) but the way I’m reproducing it, is only by adding a percentage of the pixel by himself. nothing more complicated than that.


Offset :

As seen in my previous post, the Offset is just an Add of a value. My first approach on it was saying Offset is controlling the luminance of it, so I guess the correct way would be to convert the pixel in the YCbCr color space, add a value to the Y channel, and reconverting back to RBG color space. But this is doing a lot of calculation for nothing, while adding just a value to the entire picture would probably do the same, and actually would correspond to the Lift (or Offset of the CDL).
Plus switching between color space makes you loose some tiny precision in the color.

Anyway, I’ll give the two solutions, please let me know if you think one is better than the other


Gamma :


As usual, power(1/gamma)

The right order :

If all this was actually all pretty simple, at least I learned one thing (obvious as well I must say). Don’t forget to do the operation in the right order. In my first try I had a small bug, and couldn’t have the same result in Photoshop & in my shader, because I was doing the offset before the exposure. Which is pretty silly, since if you do that, you are loosing all the dynamic range of your picture when you actually want to have as much information as you can for your exposure.

The order is Exposure -> Offset -> Gamma.


Formula :

output = ((input*exposure) + offset)^(1/gamma)

hum… looks a lot like the CDL formula doesn’t it ? :) Except exposure is a single float value between 0 and 20 ? (maybe more, maybe less depends of your picture)and the default value should be 1.The offset should be between -10 ? and 1 I think.


Shaders (HLSL in Media Player Classic) :

http://www.pasteall.org/8868/c

Here I’m giving the version with YCbCr conversion, but I’m pretty sure it is not doing anything more than the above one, except loosing information in conversion. But at least it shows the YCbCr conversion :)

http://www.pasteall.org/8869/c

lift/gamma/gain VS. ASC CDL

Posted by François On November - 5 - 2009

Following my previous post “lift-gamma-gain color correction formula with blender compositing” I continue my research about all those formulas.

Comparison

I came to compare the ASC CDL (American Society of Cinematographers Color Decision List) formula to the Lift/Gamma/Gain formula I found on Blender.org

Here are the results :

lift-vs-cdl-image

lift-vs-cdl-gradient

Where the formula are :

  • CDL : ((input*slope)+offset)^(1/gamma)
  • Lift :  gain * (input + lift * (1 – input)^(1/gamma))

(slope = gain ; offset = lift)

You can see that CDL is able to burn (exposure) the white, while the Lift will keep the white unchanged as much as it can.
_dbr did a nice test for me in Shake and create a graph that really shows the differences

lift-vs-cdl-curve

so in both formula by only changing Lift/Offset, you can see clearly that the lift keep the white unchanged while CDL push the black and white as well.

HLSL Shader in Media Player Classic

Yes, in Media Player Classic, you can write shaders compiled in runtime while you are watching your favourite TV Shows ^^ . Awesome !!!


hlsl code on Pasteall.org



Conclusion

So I guess CDL is much easier to use, but I believe that Lift could give you much control other the image. What would need Lift to be able to push the white as well would be an exposure parameter! (which is the goal of my next shader :) )

Stuart Maschwitz’s (aka Stu) 5D Settings port to D90

Posted by François On November - 4 - 2009

I’m currently taking a class at Fxphd called “DOP210 -DSLR Cinematography” with Stu Maschwitz (prolost) & Mike Seymour as mentors!
This is an awesome class if you have a Canon 5D or a Nikon D90 and want to make movies with it and post-production/grading as well!
Either if the class is talking about the two cameras, the focus is mainly on the 5D!
Stu had a really nice post on Prolost about setting the 5D called “Flatten Your 5D“. Those settings aim to get a neutral picture (low contrast, low sharpen, low saturation,…) which would give a better control in post-production for grading. Settings which he’s using in his class of course !
Since I own a D90, I thought I would give a try to port his 5D’s settings to the D90!
Here is what I have done :

D90-port-of-stu-settings-5D

I also turn off D-Lighting, but I’m not sure it is the right move. I’m not sure it is the best settings yet but it looks close though

Update : Also I recommend you to take a look at Understanding and Optimizing the Nikon D90 D-Movie Mode Image on the DVXUser Forum, it give nice tips to trick your camera a bit

Here is a test I have done with those settings and Rebel CC on After Effects.

Mobile Version on Vimeo

VIDEO

TAG CLOUD

About Me

about me..

Twitter

    Photos

    very 1rst 3d render (2002)Old tractorOld tractorDépotoirMoi tchou-tchouJulia tchou-tchouQuai gare de MauriacGare de MauriacLumière de Noël à Mauriacbuche de noelMamanDad & MeSaint CucufaJulia au lac de Saint-cucufaJulia PiscineJulia summer