tag:blogger.com,1999:blog-47227154318637197092024-03-14T02:29:55.287+00:00VFX RamblingsThomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-4722715431863719709.post-48556861583063629542015-05-06T20:46:00.000+01:002015-05-06T20:46:17.645+01:00Colour Science for Python - 0.3.5 We have released <a href="https://github.com/colour-science/colour/releases/tag/v0.3.5">Colour 0.3.5</a> today!<br />
<br />
This is a major release featuring API vectorisation with huge speed improvements.<br />
<br />
More details are available on the dedicated <a href="http://colour-science.org/news_2015_05_06.php">colour-science.org announcement</a>.<br />
<br />
Cheers,<br />
<br />
ThomasThomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-48379078426942898562015-01-01T13:52:00.000+00:002015-01-01T13:52:35.335+00:00Mušhuššu the WyrmUnfortunately I haven't seen the last instalment of The Hobbit so I'm missing my yearly dragon venom dose. Here is Mušhuššu the Wyrm, a doodle to attempt to remedy this void:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.thomasmansencal.com/Sharing/Pictures/Wyrm/Wyrm_Zbrush_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.thomasmansencal.com/Sharing/Pictures/Wyrm/Wyrm_Zbrush_001.jpg" height="360" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.thomasmansencal.com/Sharing/Pictures/Wyrm/Wyrm_Zbrush_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.thomasmansencal.com/Sharing/Pictures/Wyrm/Wyrm_Zbrush_002.jpg" height="360" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.thomasmansencal.com/Sharing/Pictures/Wyrm/Wyrm_Zbrush_003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.thomasmansencal.com/Sharing/Pictures/Wyrm/Wyrm_Zbrush_003.jpg" height="360" width="640" /></a></div>
<br />
I'm not sure what are the plans yet for this guy but it is a good break!
Enjoy!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-38856052681986392442015-01-01T10:33:00.000+00:002015-01-01T10:33:05.934+00:00Showreel 2015Happy New Year!<br />
<br />
<div style="background-color: white; color: #141823; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 14px; line-height: 19.3199996948242px; margin-bottom: 6px;">
So that I start 2015 off on the right foot, here are my new Showreel: <a href="http://vimeo.com/115263190" rel="nofollow" style="color: #3b5998; cursor: pointer; text-decoration: none;" target="_blank">http://vimeo.com/115263190</a> and updated website: <a href="http://www.thomasmansencal.com/" rel="nofollow" style="color: #3b5998; cursor: pointer; text-decoration: none;" target="_blank">http://www.thomasmansencal.com/</a></div>
<div style="background-color: white; color: #141823; display: inline; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 14px; line-height: 19.3199996948242px; margin-top: 6px;">
Enjoy!</div>
<div>
<div style="background-color: white; color: #141823; display: inline; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 14px; line-height: 19.3199996948242px; margin-top: 6px;">
<br /></div>
</div>
<div>
<div style="background-color: white; color: #141823; display: inline; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 14px; line-height: 19.3199996948242px; margin-top: 6px;">
Thomas</div>
</div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-15266957125126808042014-09-02T11:43:00.000+01:002014-09-14T13:35:08.516+01:00Colour Science for PythonI'm pleased to announce that after many months of work, the first public release of Colour is available!<br />
<br />
<a href="http://colour-science.org/">http://colour-science.org/</a><br />
<br />
Stay tuned!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-585025605292589862014-07-01T14:00:00.001+01:002014-07-01T14:20:54.309+01:00A Homemade Spectroscope!<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Philips_Softone_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Philips_Softone_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
Recently I have been working quite extensively on Colour Science related stuff, my API is coming along although it is not yet ready for prime time, I hope sometime this summer.<br />
<br />
While surfing for informations regarding Spectrophotometers, I have seen quite a few interesting websites like <a href="http://spectralworkbench.org/">Spectral Workbench</a> and a few others describing how to <a href="http://www.stargazing.net/david/spectroscopy/ScrewdriverCDROMSpectroscope.html">build a spectroscope from a CD and a screwdriver</a>.<br />
<br />
I found <a href="http://scitoys.com/">Simon Quellen Field's website</a> and his <a href="http://sci-toys.com/scitoys/scitoys/light/spectrograph/spectrograph.html">spectrograph tutorial</a> and decided to do the same! While very similar to Simon's spectrograph, I incorporated some build variations that's why I will describe the steps I followed.<br />
<br />
First here is a picture of the spectroscope I built yesterday (Essentially a PVC pipe :)):<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Spectroscope_Final_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Spectroscope_Final_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
You will need the following material list, I have sourced pretty much everything from a french hardware store:<br />
<ol>
<li>1x <a href="http://www.leroymerlin.fr/v3/p/produits/tube-d-evacuation-pvc-de-diametre-50-mm-long-1-m-e9937">1m and 50mm diameter sewage disposal PVC tube</a> (I would have preferred black pipes but they didn't have any and it's mainly a stlye issue.</li>
<li>1x <a href="http://www.leroymerlin.fr/v3/p/produits/coude-22-30-a-coller-en-pvc-male-femelle-d100-e165305#&xtmc=coude_22_30°&xtcr=2">22.5 degree 50mm diameter male female PVC angled pipe coupling</a></li>
<li>2x <a href="http://www.leroymerlin.fr/v3/p/produits/manchon-a-coller-en-pvc-femelle-femelle-d50-e10084">50mm diameter female female connecting sleeves</a></li>
<li>3x <a href="http://www.leroymerlin.fr/v3/p/produits/lot-de-2-colliers-inox-32-52-mm-e8564">32-52mm metal collars</a> (I didn't wanted to glue anything)</li>
<li>1x <a href="http://store.publiclab.org/products/acetate-collimation-slits">Public Lab's acetate collimation slit</a></li>
<li>1x <a href="https://www.scitoyscatalog.com/product/DIFFRACTION.html">Holographic diffraction grating film sheet</a></li>
<li>1x 50x65cm 120gr sheet of black Canson paper</li>
<li>1x Super glue tube</li>
</ol>
Here are the tools I used:<br />
<div>
<ol>
<li>1x Ruler</li>
<li>1x Metal cutting saw</li>
<li>1x Cutter</li>
<li>1x <a href="http://www2.fiskars.com/Crafting/Products/Shape-Cutting/Circle-Cutter#.U7KVUY2SzkY">Circle cutter</a></li>
<li>1x Mechanical pencil</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Material_List_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Material_List_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<div>
<br />
The goal is to create a 50cm tube with the acetate collimation slit at one end and the holographic diffraction grating film at the opposite end. They will be respectively maintained by a connecting sleeve. The black Canson paper sheet will be rolled into the tube to limit internal reflections. The angled pipe coupling is where the observer will see the spectrum right after the holographic diffraction grating film.</div>
<h2>
</h2>
<h2>
Step 1</h2>
</div>
<div>
Start by cutting the 1m sewage disposal PVC tube at the 50cm length and clean the cut with the cutter.</div>
<div>
<h2>
</h2>
<h2>
Step 2</h2>
</div>
<div>
Then cut 2x 49mm diameter circles: One into the sheet of black Canson paper and another one into the holographic diffraction grating film with the circle cutter (I actually ended up cutting more than that because of trial and error). You need to ensure that the circles diameter is a bit less than the PVC tube diameter, otherwise they will bend and distort when you sandwich them between the connecting sleeves and the PVC tube.<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_2_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_2_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_2_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_2_002.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_2_003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_2_003.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<h2>
</h2>
<h2>
Step 3</h2>
<div>
Trim a hole for the acetate collimation slit into the black Canson paper circle, with enough border so that you can glue the slit onto it.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_3_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_3_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_3_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_3_002.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_3_003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_3_003.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<h2>
</h2>
<h2>
Step 4</h2>
<div>
Insert the acetate collimation slit into one of the connecting sleeves and then insert the PVC tube into the connecting sleeve so that the acetate collimation slit is sandwiched between the two. Ensure the connecting sleeve and the PVC tube are hold together by using a metallic collar. I oriented the collar screw so that it was roughly inline with the acetate collimation slit direction, it will be a good indicator for later usage.<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_4_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_4_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_4_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_4_002.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<h2>
</h2>
<h2>
Step 5</h2>
<div>
Cut a ± 50x20cm band of the black Canson paper and roll it inside the tube, be careful at which side of the paper is the less reflective and that it perfectly fit inside the tube without overreaching the open end because you will have to put the holographic diffraction grating film circle there.<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_5_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_5_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<h2>
</h2>
<h2>
Step 6</h2>
<div>
Same than Step 4 but with the holographic diffraction grating film circle this time. I suggest that you look through the film to determine the horizontal axis. Rotate it in front of one of your eyes until the diffraction spectrums generated are horizontal, then when you sandwich it against the PVC tube, ensure that the spectrums horizontal direction is perpendicular to the acetate collimation slit direction.</div>
<div>
<br /></div>
<div>
My film was a bit dirty and filled with finger prints, I cleaned it with some dish-washing liquid (Not sure if it affects the optical quality, we are not doing high precision work anyway).<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_6_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_6_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<br />
<h2>
</h2>
<h2>
Step 7</h2>
<div>
Finally, put the PVC angled pipe coupling at the holographic diffraction grating film end, ensure everything is tight with a third metallic collar. You can rotate the connecting sleeve until the generated spectrum doesn't exhibit any shearing.</div>
<div>
<br /></div>
<div>
Congratulations! You are done :)<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Step_7_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Step_7_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<br />
The first thing I "measured" was the Sun spectrum although it was evening and I didn't managed to get a noise free image (I will reshoot it later when he decides to appear). Even with low condition the <a href="http://en.wikipedia.org/wiki/Fraunhofer_lines">Fraunhofer lines</a> are quite visible as you can see on the following image:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Spectroscope/Fraunhofer_Lines_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Spectroscope/Fraunhofer_Lines_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<br />
There will be certainly one or a few follow up posts so stay tuned!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-15507171052843241902014-04-06T21:39:00.001+01:002014-07-01T11:10:08.495+01:00Colour - Maya ImplementationHi,<br />
<br />
Got a break today from sIBL_GUI duties and spent some time continuing to work on <b>Colour</b>, which is my soon to be open sourced <i>Colour Science Python Toolkit</i>.<br />
<br />
I wanted to do the following implementation in <a href="http://matplotlib.org/">Matplotlib</a> like I did for the various 2D plots of the toolkit until I came across this awesome post by Mark Meyer: <a href="http://www.photo-mark.com/notes/2013/mar/13/color-theory-blender/">http://www.photo-mark.com/notes/2013/mar/13/color-theory-blender/</a><br />
<br />
For now I'm just plotting the colourspaces in <b>CIE Lab</b>, but I'm planning to do also at the very least <b>CIE xyY</b>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/3pTn2p4tRlQ?feature=player_embedded' frameborder='0'></iframe></div>
<br />
The good thing with plotting that in Maya is that you can do pretty renders of the colourspaces volumes.<br />
<br />
Here is <a href="http://en.wikipedia.org/wiki/SRGB">sRGB</a> with <a href="http://en.wikipedia.org/wiki/ProPhoto_RGB_color_space">ProPhoto RGB</a> in wireframe:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Colour/Support/Pictures/Maya_sRGB_ProPhoto_RGB_CIE_Lab_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Colour/Support/Pictures/Maya_sRGB_ProPhoto_RGB_CIE_Lab_001.jpg" style="-webkit-box-shadow: transparent 0px 0px 0px !important; box-shadow: transparent 0px 0px 0px !important;" width="640" /></a></div>
<br />
And now <a href="http://en.wikipedia.org/wiki/Academy_Color_Encoding_System">ACES RGB</a>, the colourspace to rule them all, the tiny solid guy in the center is <a href="http://en.wikipedia.org/wiki/SRGB">sRGB</a>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Colour/Support/Pictures/Maya_sRGB_ACES_RGB_CIE_Lab_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Colour/Support/Pictures/Maya_sRGB_ACES_RGB_CIE_Lab_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
Stay tuned!<br />
<br />
ThomasThomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-37395856729395751502014-04-04T21:31:00.003+01:002014-04-04T21:31:59.838+01:00sIBL_GUI 4.0.8 Hot!Hello!<br />
<br />
Like I was saying in the multiple threads I have just updated I'm both pleased and ashamed to say that sIBL_GUI 4.0.8 is out!<br />
<br />
Pleased because I finally got time to get back on the project and ashamed because it took me so long and as result I left a lot of people with very annoying bugs.<br />
<br />
This build is a maintenance release ironing out most of issues reported through Crittercism.<br />
<br />
It also officially includes Jed Frechette's <a href="http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/sIBL_GUI">Blender_Cycles_Standard</a> template.<br />
<div>
<br /></div>
More details about the release at <a href="http://www.hdrlabs.com/cgi-bin/forum/YaBB.pl?num=1271609371/">HDRLabs</a>.<br />
<br />
Enjoy!<br />
<br />
Thomas<br />
<div>
<br /></div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-86844844977868920242014-02-04T20:57:00.001+00:002014-02-05T06:17:59.352+00:00The CamelCase of Mister __Underscore!This one is for the nerds!<br />
<br />
I have been a big <b>UpperCamelCase</b> or <b>lowerCamelCase</b> user since I have started writing code:<br />
<pre><code class="bash">def myVeryCoolFunctionName:
pass</code></pre>
In our demoscene group we were using <b>CamelCase</b>, Maya Mel or commands are all in <b>lowerCamelCase</b>, all studios I have worked in were using a variant of <b>CamelCase</b>. I always preferred that naming convention to the <b>Underscore</b> one:<br />
<pre><code class="bash">def my_very_cool_function_name:
pass</code></pre>
It's maybe because my brain has the habit of processing it but I find easier to read <b>CamelCase</b> than <b>Underscore</b> naming convention, there is no visual break, just a continuous flow of words dancing front of me!<br />
<br />
Now after so many years programming I just came across a very annoying issue, it's actually not the first time but usually I lived with it. Let's say that you have a definition that converts some data to <i>sRGB</i> color space, you would write it this way in <b>lowerCamelCase</b>:<br />
<pre><code class="bash">def convertDataToSrgb:
pass</code></pre>
If you want to respect the naming convention you have to change the case of <i>sRGB</i> to <i>Srgb</i>. In those cases I often write the function name like that:<br />
<pre><code class="bash">def convertDataTosRGB:
pass</code></pre>
Or:<br />
<pre><code class="bash">def convertDataToSRGB:
pass</code></pre>
Neither version is sexy, although it's understandable without much problems. Now these days I'm working on a color science Python API and I faced some situations where using <b>CamelCase</b> can be even more confusing than the <i>sRGB</i> example above and even change the meaning of the definition.<br />
I'm doing some basic colorspaces conversion like <i>CIE XYZ</i> to <i>CIE xyY</i>, etc... The problem is that in color science little <i>y </i>is very different from big <i>Y</i> ( http://dougkerr.net/Pumpkin/articles/CIE_XYZ.pdf ).<br />
<br />
So when you write something like that:<br />
<pre><code class="bash">def xyzToXyy:
pass</code></pre>
Which <i>Y</i> are you talking about? A person with knowledge in the domain would guess that you want to convert from <i>CIE XYZ</i> to <i>CIE xyY</i> colorspace.<br />
<br />
You could write it this way to help but it's not visually elegant:<br />
<pre><code class="bash">def XYZToxyY:
pass</code></pre>
<b>Underscore</b> naming convention really shine here and makes this beautifully unambiguous and clear:<br />
<pre><code class="bash">def XYZ_to_xyY:
pass</code></pre>
If you have any thoughts on this, I would be keen on hearing them of course!<br />
<br />
Cheers,<br />
<br />
Thomas<br />
<br />
<pre><code class="bash"><pre></pre>
<pre><span style="font-family: Times; white-space: normal;">
</span></pre>
</code></pre>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com1tag:blogger.com,1999:blog-4722715431863719709.post-53004685688010305842014-01-27T11:10:00.000+00:002014-01-27T11:37:21.170+00:00"Fat"Popotamus!It has been a while without any updates: I have been busy working on a business project that is kind of stalled right now, so I'm trying to get back on some personal work.
<br />
<br />
Everybody seem to be doing slick and sharp robots, thought I would do a fatty organic hippopotamus, I don't have any animals in my Portfolio, it was a good exercise :)
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/FatPopotamus.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" width="640" src="http://thomasmansencal.com/Sharing/Pictures/FatPopotamus.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
Enjoy!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-12174535721454980112013-05-02T23:18:00.001+01:002013-05-03T10:21:26.465+01:00Gamma Prime + Oculus Rift!I'm working on Beta Prime giving him a body, although his name has changed to Gamma because of the storyline evolution.<br />
<br />
Now for the real fun: An early wip in the UDK with the Oculus Rift, really something fantastic and unique to experience! I strongly suggest re-watching the video through the HMD though :)<br />
<br />
<iframe src="http://player.vimeo.com/video/65336223" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<br />
And some ZBrush screenshots, still rough but gives a direction on where I'm heading!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Gamma/Gamma_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Gamma/Gamma_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Gamma/Gamma_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Gamma/Gamma_002.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Gamma/Gamma_003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Gamma/Gamma_003.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
<br />
Enjoy!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-40562118155526494222013-04-28T13:57:00.000+01:002020-01-14T17:53:23.976+00:00360Precision: A Not So Outstanding Experience!<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<b>2019/10/03 - Update 1: I, unfortunately, like many others, had my fair share of issues with 360 Precision. Matthew Rogers sent us an incorrect plate with a missing pin (even a matching camera could not even be installed without having it swivelling). We have been trying to get a replacement plate since May without success. Given the above, I would recommend avoiding using his products.<br /><br />2020/01/15 - Update 2: This morning, I received a newsletter including a testimonial from me. This obviously does not reflect the current situation and I asked Matthew to stop using my testimonial and my image.</b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGav61Bll6sNiYX_IdBHLtG8r0ZLl4_HAUoM7TgWoZSMFNR5Koz32v9oE4xm8LBQc1PHeEtXlEO8iV0fKgbHrfMNeUqShbBvURVCSSBoq6sKmB9NII5xhIj9AzMRDVghEyK8V139LwdTc/s1600/360Precision_Testimonial.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="833" data-original-width="1600" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGav61Bll6sNiYX_IdBHLtG8r0ZLl4_HAUoM7TgWoZSMFNR5Koz32v9oE4xm8LBQc1PHeEtXlEO8iV0fKgbHrfMNeUqShbBvURVCSSBoq6sKmB9NII5xhIj9AzMRDVghEyK8V139LwdTc/s640/360Precision_Testimonial.png" width="640" /></a><br />
<br />
<strike>TL;DR: </strike><a href="http://www.360precision.com/" style="text-decoration-line: line-through;">360Precision</a><strike> is awesome!</strike><br />
<br />
<strike>Back in time, 11 or 12 years ago, I came across <a href="http://www.pauldebevec.com/">Paul Debevec</a>'s research work and got really impressed by some gems like <a href="http://www.pauldebevec.com/FiatLux/">Fiat Lux</a>. I started shooting a few HDRI probes to apply that knowledge on my own work but the only gear I had at that time was a Nikon Coolpix 4500 and a gigantic garden gazing orb ball.</strike><br />
<strike><br /></strike>
<strike>Now today HDRI is mainstream, popular thanks to website and books like the one from my friend Christian Bloch at <a href="http://www.hdrlabs.com/">HDRLabs</a> or photographers like <a href="http://www.bobgroothuis.com/">Bob Groothuis</a> and <a href="http://www.hdri-locations.com/">Thomas Suurland</a>. It's also the main data component of Image Based Lighting technique we use everyday in Computer Graphics.</strike><br />
<strike><br /></strike>
<strike>I have used Bob's <a href="http://www.bobgroothuis.com/blog/category/dutch_skies_360_online_shop/">Dutch Skies</a> quite extensively in pretty much all my recent projects and will continue to do so but in some instances I also want to have control over the precise location and most importantly the various plates I will use for integration later in my work and more.</strike><br />
<strike><br /></strike>
<strike>I started to search around to establish a list of the gear I would need, visiting various forums, reading reviews, comparing the prices of various vendors like Amazon, B&H, Calumet, etc... After a few days I reduced the number of candidates items and finalised the list although I had some options for the tripod. I knew my panoramic head would be a <a href="http://www.360precision.com/">360Precision Absolute MK2</a> which are probably some of the best ( If not the best ) panoramic heads money can buy.</strike><br />
<strike><br /></strike>
<strike>I contacted <a href="http://www.360precision.com/">360Precision</a> because I wanted to know what was the head availability. I sent a mail a Saturday afternoon without expecting a reply before the next Monday but actually received one the same evening from Matthew Rogers ( The neat guy behind <a href="http://www.360precision.com/">360Precision</a> ). We continued the discussion on the Live Chat on their website which is great because you really have the feeling somebody is actually taking care of your case. I wanted to know if the levelling base I had chosen would work with his head, it was the case and Matthew suggested to source it for me.</strike><br />
<strike><br /></strike>
<strike>That's where the real magic began: We continued to discuss and instead of myself buying the gear left and right from various vendors with expensive delivery costs and various delays I bought everything directly from Matthew who has a big network of suppliers with low prices. It was win / win for both of us, it helped him running his business and the costs were a lot lower for me than if I had to source everything myself, less stuff to track, less stress, simply brilliant.</strike><br />
<strike><br /></strike>
<strike>Since I wanted to have the gear for holidays, I contacted him back to know how things were, telling him I would be keen on getting the gear before being off. Instead of sending the gear and as he was coming to London, he proposed to bring it directly!</strike><br />
<strike><br /></strike>
<strike>How many vendors do you know are willing to do that? It for sure was the first time for me :)</strike><br />
<strike><br /></strike>
<strike>We met in a coffee in Soho, next to my work place and talked a bit around a cappuccino about our jobs, his business and the state of our respective industries. At some point I had to go back to my pixel bending duties, and I did so with a big box filled with all my new stuff :)</strike><br />
<strike><br /></strike>
<strike>Only missing item was the panoramic head, but Matthew had a remaining trick: He sent me the next day his own personal Adjuste MK2 that I can keep until my Absolute is built!</strike><br />
<strike><br /></strike>
<strike>The quality is phenomenal, engineered to last, not surprising it's covered with lifetime warranty, it likely will be the same when the kids of my kids decide to play with it in a retro souvenir of what we call modern photography :)</strike><br />
<strike><br /></strike>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://thomasmansencal.com/Sharing/Pictures/Matthew_Rogers_Adjuste_MKII.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><strike><img border="0" src="https://thomasmansencal.com/Sharing/Pictures/Matthew_Rogers_Adjuste_MKII.jpg" style="box-shadow: transparent 0px 0px 0px;" width="640" /></strike></a></div>
<strike><br /></strike>
<strike>This has definitely been the most successful buying experience I have ever had and I just cannot stop praising Matthew and <a href="http://www.360precision.com/">360Precision</a> professionalism.</strike><br />
<strike><br /></strike>
<strike>That's all folks!</strike>Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-35268130640353267492013-04-21T11:07:00.001+01:002013-04-21T11:07:52.424+01:00sIBL_GUI 4.0.7: Large Panoramic Thumbnails!Hi!<br />
<br />
sIBL_GUI 4.0.7 is just fresh out! This release focuses on bringing a neat new feature: Larges Panoramic Thumbnails!<br />
<br />
Those are generated <b>once</b> from the background images upon startup.<br />
<br />
Here is a video to showcase the stuff:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/ZGAL-QWe9qo?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<div>
And also some images:<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://kelsolaar.hdrlabs.com/sIBL_GUI/Support/Pictures/sIBL_GUI_4.0.7_LargeThumbnails_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://kelsolaar.hdrlabs.com/sIBL_GUI/Support/Pictures/sIBL_GUI_4.0.7_LargeThumbnails_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://kelsolaar.hdrlabs.com/sIBL_GUI/Support/Pictures/sIBL_GUI_4.0.7_LargeThumbnails_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://kelsolaar.hdrlabs.com/sIBL_GUI/Support/Pictures/sIBL_GUI_4.0.7_LargeThumbnails_002.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
More release details are available in <a href="http://www.hdrlabs.com/cgi-bin/forum/YaBB.pl?num=1271609371/135#136">HDRLabs development thread</a>.<br />
<br />
Happy Rendering!<br />
<br />Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-88873912045112457582013-04-10T22:02:00.000+01:002013-05-02T23:16:32.773+01:00Prime Overview!Here is Prime and its moons!<br />
<br />
The point of view is from one of them ( I need to find some proper names ).<br />
<br />
Prime is the big Earth like planet with the rings. This is shot at very long focal length and the distances are much greater than suggested, if they were to be so close a lot of ugly things would happen.<br />
<br />
Little game: There are 5 moons actually in that picture, can you spot them?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Prime/Prime_Overview.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" width="640" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Prime/Prime_Overview.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
Enjoy!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-82747587844525178342013-03-23T10:25:00.001+00:002013-03-23T10:29:02.091+00:00La Guerre des Primes<br />
Here is a first pass for an establishment story regarding Prime.<br />
<br />
It's in french for now although I'll translate it whenever it reach a final state! You can use Google Translate for now to get an idea :)<br />
<br />
<span style="font-size: large;"><b>La Guerre des Primes</b></span><br />
<br />
<span style="font-size: large;">Alpha</span><br />
<br />
Au cours des dernières millions d’années, la chaleur étouffante de Prime avait commencé à diminuer. De l'intense volcanisme et ses émanations été née une atmosphère dense, protégeant la surface des bombardements cosmiques. Certaines comètes se frayaient malgré tout un passage au travers, vaporisant leur abondante glace dans le ciel. Le cycle se perpétua jusqu’au jour où la température fut suffisamment basse pour que les cieux se déversent et forment de vastes océans.<br />
<br />
Remaining fragments here: <a href="http://kelsolaar.github.com/Prime/">La Guerre des Primes</a><br />
<br />
<br />
As a result Beta Prime will have a name change. I'll obviously create more consistency and cohesion between the characters designs as I progress in the development of that universe.<br />
<div>
<br /></div>
<br />
Enjoy!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-29587578836665654172013-03-21T23:05:00.000+00:002013-03-23T10:29:02.079+00:00Mutated!Showcasing again Alpha, the First Prime!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_Concept.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_Concept.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
Wondering why he is not in the water? Well, as a curious creature, he reorganised his body to continue world exploration.<br />
<br />
I wanted to get a photorealistic result for this one, so I used an excellent plate and HDRI from <a href="http://www.hdri-locations.com/">Thomas Suurland</a>. I'll certainly work on it again in the future, to refine some areas and add more details.<br />
<br />
Here are some shots from the ZBrush doodle:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_ZBrush_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_ZBrush_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_ZBrush_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_ZBrush_002.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_ZBrush_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Mutated_ZBrush_002.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
While waiting for the renders, I updated the grading for the underwater illustration, with a more ominous theme, I added some caustics also :D<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Alternate_Concept.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Alternate_Concept.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
I definitely have to get the story published, it will be in French though, I'm not comfortable enough to write properly in English.<br />
<br />
Voila!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-50087026568769951182013-03-08T07:55:00.000+00:002013-03-23T10:29:02.083+00:00The First Prime!I spent a few evenings hours this week on a concept for the First Prime:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Concept.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_Concept.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
This intelligent aquatic creature is Alpha Prime, he is the One from where All Others came. He is blind, navigate using magnetism and feed using his long filaments. More to come once I publish the story!<br />
<br />
The illustration started as a very quick ZBrush doodle, I crashed Monday :( and had to redo it Tuesday unfortunately:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_ZBrush_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_ZBrush_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_ZBrush_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_ZBrush_002.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_ZBrush_003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Alpha/Alpha_Prime_ZBrush_003.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
The doodle has then been rendered with Keyshot and overpainted in Photoshop.<br />
It's very likely that I will work on it again.<br />
<br />
Oh and some family shots:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Gathering/Primes_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Gathering/Primes_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a><a href="http://thomasmansencal.com/Sharing/Pictures/Primes/Gathering/Anteprimes_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Primes/Gathering/Anteprimes_001.jpg" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
Cheers! :)Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-63840726098601091922013-02-28T23:53:00.001+00:002013-03-23T10:29:02.085+00:00π Anteprime!I thought naming this one Pi Anteprime would be in the actual VFX context <b>π Anteprime</b>:<br />
<br />
He should be the last doodle for the advanced Primes / Anteprimes creatures, the next ones should focus on the primitives Alpha and Beta, but I think by this time I'll have published the introductory story so that people understand what's going on :)
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_F_Blog.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_F_Blog.gif" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Enjoy!</div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-81855037217476320542013-02-20T00:09:00.002+00:002013-03-23T10:29:02.089+00:00Y Anteprime!Companion to Psi Anteprime: <b>Y Anteprime</b>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_E_Blog.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_E_Blog.gif" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Enjoy!</div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-71953779591420524262013-02-14T22:57:00.002+00:002013-03-23T10:29:02.087+00:00Ψ Anteprime!I got sniped again at work this week so I only managed to get that quick bust from the Primes serie through, <b>Ψ Anteprime</b>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_D_Blog.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_D_Blog.gif" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Cheers!</div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-20517188371365401462013-02-07T22:18:00.001+00:002013-03-23T10:29:02.077+00:00Tau Prime!This one took longer than expected. I got ambushed at work and couldn't finish it. As a result it was ugly, I tried to salvage it today. Dedicated to my friend Tony and his massive trapezoids, <b>Tau Prime</b>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_C_Blog.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_C_Blog.gif" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Cheers!</div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-138319985578995482013-02-05T07:51:00.000+00:002013-03-23T10:29:02.075+00:00Ω Prime!An evening with <b>Ω Prime</b>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_B_Blog.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_B_Blog.gif" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Cheers!</div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com4tag:blogger.com,1999:blog-4722715431863719709.post-39394463512470268962013-02-04T00:27:00.001+00:002013-03-23T10:29:02.081+00:00β Prime!Please welcome <b>β Prime</b>!<br />
<br />
A quick doodle started in the train a few weeks ago that I decided to refine a bit today while baby sitting some renders! I sadly spent most of the time trying to get a decent GIF turntable ( Proven to be a real challenge actually :] )<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_A_Blog.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://thomasmansencal.com/Sharing/Pictures/Doodles/Doodle_A_Blog.gif" style="-moz-box-shadow: 0px 0px 0px transparent !important; -webkit-box-shadow: 0px 0px 0px transparent !important; box-shadow: 0px 0px 0px transparent !important;" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Cheers!</div>
Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com0tag:blogger.com,1999:blog-4722715431863719709.post-69460324951955984002012-12-21T13:48:00.000+00:002012-12-21T23:45:05.218+00:00The Textures Naming Convention Nightmare!In the wonderful world of VFX, if you are a Texture Artist you are probably jumping between <b><a href="http://www.thefoundry.co.uk/products/mari/">Mari</a></b>, <b><a href="http://www.pixologic.com/zbrush/">ZBrush</a></b> and <b><a href="http://www.autodesk.co.uk/adsk/servlet/pc/index?siteID=452932&id=15012873">Mudbox</a></b>, resulting in a lot of friction when it comes to import textures from a package into another.<br />
<br />
Why the hell did <b><a href="http://www.thefoundry.co.uk/">The Foundry</a></b>, <b><a href="http://www.pixologic.com/">Pixologic</a></b> and <b><a href="http://usa.autodesk.com/">Autodesk</a></b> decide to use a different naming convention?<br />
<ul>
<li><b>Mari</b>: Color.<b>1001</b>.exr, Color.<b>1002</b>.exr, Color.<b>1010</b>.exr...</li>
<li><b>ZBrush</b>: Color_<b>u0_v0</b>.exr, Color_<b>u1_v0</b>.exr, Color_<b>u9_v0</b>.exr...</li>
<li><b>Mudbox</b>: Color_<b>u1_v0</b>.exr, Color_<b>u2_v0</b>.exr, Color_<b>u10_v0</b>.exr...</li>
</ul>
Notice how <b>ZBrush</b> and <b>Mudbox</b> are <b><a href="http://www.urbandictionary.com/define.php?term=bffl">BFFL</a></b> and make your job easier by having a cute offset!<br />
<br />
Ultimately I prefer <b>Mari</b> one for the following reasons:<br />
<ul>
<li>You can deal with your textures as if they were images sequences, making <b>Nuke</b> an excellent texturing companion or any compositing package for that matter.</li>
<li>Easy to shift the UVs shells without too much thinking.</li>
<li>Fast to read and understand.</li>
</ul>
If you have 3 UVs shells, fine you can rename your textures manually, but what if you have around 100 UVs shells like on <b><a href="http://www.imdb.com/title/tt1446714/">Prometheus</a></b> Magellan and Juggernaut spaceships or multiple hundreds like on some <b><a href="http://www.imdb.com/title/tt0499549/">Avatar</a></b> vehicles?<br />
<br />
A few years back I wrote a simple command line <b>Python</b> script to convert from <b>ZBrush</b> to <b>Mari</b>, but since I have been working with <b>Mudbox</b> recently, I decided to refactor it to convert in any directions.<br />
<br />
Here it is: <a href="https://github.com/KelSolaar/Snippets/blob/master/others/renameTextures.py">renameTextures.py</a><br />
<br />
Given the following directory content:
<br />
<pre><code class="bash">~/textures » ls -l
total 0
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:56 Color_u0_v0.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Color_u1_v0.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Color_u9_v0.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Color_u9_v1.exr</code></pre>
Assuming those textures are coming from <b>ZBrush</b>, you can issue the following command to convert them to <b>Mari</b>:
<br />
<pre><code class="bash">python renameTextures.py -i zbrush -o mari *.exr</code></pre>
And you should have an output similar to this one:
<br />
<pre><code class="bash">'renameTextures' | Rename '/Users/kelsolaar/textures/Color_u0_v0.exr' texture to '/Users/kelsolaar/textures/Color_1001.exr'.
'renameTextures' | Rename '/Users/kelsolaar/textures/Color_u1_v0.exr' texture to '/Users/kelsolaar/textures/Color_1002.exr'.
'renameTextures' | Rename '/Users/kelsolaar/textures/Color_u9_v0.exr' texture to '/Users/kelsolaar/textures/Color_1010.exr'.
'renameTextures' | Rename '/Users/kelsolaar/textures/Color_u9_v1.exr' texture to '/Users/kelsolaar/textures/Color_1020.exr'.</code></pre>
Now your directory content should be the following:
<br />
<pre><code class="bash">~/textures » ls -l
total 0
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:56 Color_1001.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Color_1002.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Color_1010.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Color_1020.exr</code></pre>
Changing from <b>Mari</b> to <b>Mudbox</b> would be done like this:
<br />
<pre><code class="bash">python renameTextures.py -i mari -o mudbox *.exr</code></pre>
You can also decide to rename the files using the <b>-n</b> parameter:
<br />
<pre><code class="bash">python renameTextures.py -i mari -o mudbox -n Nemo_ *.exr</code></pre>
Your new directory content should be the following:
<br />
<pre><code class="bash">~/textures » ls -l
total 0
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Nemo_u10_v1.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Nemo_u10_v2.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:56 Nemo_u1_v1.exr
-rw-r--r-- 1 kelsolaar admin 0 20 Dec 23:57 Nemo_u2_v1.exr</code></pre>
If you want to strip the name entirely and just keep the UVs shells identifiers, you can do this ( Don't forget the quotes! ):
<br />
<pre><code class="bash">python renameTextures.py -i mudbox -o mari -n "" *.exr</code></pre>
If you only want to only preview your changes you can use the <b>-p</b> parameter:
<br />
<pre><code class="bash">python renameTextures.py -i mari -o mudbox -p *.exr</code></pre>
<br />
Now if you don't have Python on your system ( You should really install it :) ) you can use your <b>Maya</b> or <b>Softimage</b> Editor but it will be a bit more convoluted!<br />
Assuming the <a href="https://github.com/KelSolaar/Snippets/blob/master/others/renameTextures.py">renameTextures.py</a> script is in your preferences or anywhere in your <b>PYTHONPATH</b>, you need to list your textures and call the <i>renameTextures</i> function on them:<br />
<pre><code class="python">import os
import re
import renameTextures
DIRECTORY = "/Users/kelsolaar/textures"
PATTERN = "\.exr$"
TEXTURES = filter(lambda x: re.search(PATTERN, x), [os.path.join(DIRECTORY, texture) for texture in os.listdir(DIRECTORY)])
renameTextures.renameTextures(TEXTURES, input="mari", output="zbrush", preview=True)</code></pre>
<br />
Last thing but not the least, Jens Kafitz offers a Perl script that does a very similar job: <a href="http://www.jenskafitz.com/texture-tools/maprenamer/">maprename</a><br />
I gave a try at it on my Mac Os X and it was fine, but was having issues on Cent OS 6 at work!<br />
<br />
That's it!<br />
<br />
Don't hesitate if you have any questions, requests, issues or whatever! :)Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com4tag:blogger.com,1999:blog-4722715431863719709.post-27188022577159158602012-12-16T08:15:00.001+00:002012-12-16T08:15:48.114+00:00Hello World!2013 is approaching and as a New Year's resolution I decided to replace my old unmaintained blog with a brand new one!<br />
I hope to share here pictures and projects I'm working on, but for now here is a retrospective of the past year :)<br />
<br />
<b><span style="font-size: x-large;">Izanagi Salamander</span></b><br />
<br />
2012 has been consumed working on two big projects, one was the <a href="http://www.cgfeedback.com/cgfeedback/showthread.php?t=3455" target="_blank">CGFeedback's Dr Grordbort Creatures Challenge</a> that kept me occupied the first half of the year.<br />
<br />
It was a great and exciting journey, my final entry is the image you can see further down: <a href="http://www.cgfeedback.com/cgfeedback/showthread.php?t=2523" target="_blank">Izanagi Salamander</a><br />
<br />
The <a href="http://www.cgfeedback.com/cgfeedback/showthread.php?t=2523" target="_blank">Visual Development thread</a> features various concepts illustrations, work in progress screenshots and complete breakdowns for the various phases.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiybxvCXmdmgETfF_haPuzL_FpCSQ8uhDu-kP2Mp4GxUNmmw8ghHUNorWzF7_dyQETsfLjCsFk4g1ivXU_zF47N1SVBgAdcdYveOisDbKfoC8VciW-321JnjVjRcaQAWnJkfdf3ctQ_ngA/s1600/Izanagi_Salamander.jpg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiybxvCXmdmgETfF_haPuzL_FpCSQ8uhDu-kP2Mp4GxUNmmw8ghHUNorWzF7_dyQETsfLjCsFk4g1ivXU_zF47N1SVBgAdcdYveOisDbKfoC8VciW-321JnjVjRcaQAWnJkfdf3ctQ_ngA/s1600/Izanagi_Salamander.jpg" /></a></div>
<br />
<span style="font-size: x-large;"><b>sIBL_GUI</b></span><br />
<br />
The other big topic was <a href="http://www.hdrlabs.com/sibl/framework.html" target="_blank">sIBL_GUI</a>, a lot of work has been done under the hood to provide greater speed and stability in the latest 4.x.x releases with a deep rewrite of some of the core modules.<br />
<br />
The application is also now available as a proper Python package that you can grab directly from the Python Package Index: <a href="http://pypi.python.org/pypi/sIBL_GUI" target="_blank">Pypi</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlavIjBmVwE6fRRowyTg29VeftaLlE4CkR_gOqrZ8K2-8-56wEIIcKG2d78-CqPzwnnsThmRhsCaewgM5RYZEA8kLswXVrh_RrMBVzHRUvhnVMGLaeac69kNCDLLxYkT0uMUVD7XPUHaw/s1600/sIBL_GUI_4.0.6.jpg" imageanchor="1"><img border="0" height="398" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlavIjBmVwE6fRRowyTg29VeftaLlE4CkR_gOqrZ8K2-8-56wEIIcKG2d78-CqPzwnnsThmRhsCaewgM5RYZEA8kLswXVrh_RrMBVzHRUvhnVMGLaeac69kNCDLLxYkT0uMUVD7XPUHaw/s640/sIBL_GUI_4.0.6.jpg" width="640" /></a></div>
<br />
Oh and I have taken that opportunity to slightly update my <a href="http://www.thomasmansencal.com/" target="_blank">website</a>, it's still missing most of the professional stuff, but the thumbnails are here at last :)<br />
<br />
That's all folks!Thomas Mansencalhttp://www.blogger.com/profile/00074906410947000193noreply@blogger.com2