Sunday, October 21, 2012

Screen Space Ambient Occlusion: Renderman implementation

I tried yesterday to implement SSAO technique in renderman shaders work
based on the depth map. While many artifacts.
But I hope I can fix them and realize the basic computing on GPU by CUDA.
Work in progress.

Sunday, October 7, 2012

Pixar Opensabdiv

I compiled Pixar Opensabdiv examples. This is an amazing tool and also a good example of using GLSL with MAYA plugin.
Unfortunately a subdivs sometimes disappears if I increase the shadrs level of subdivision.


Thursday, January 12, 2012


I started to develop of a CUDA-based "Light Server" for renderman.
And for best understanding and debuging alghoritms I implemented a special Maya locator.
It generates random directions(vectors) in a hemisphere domain.
Color of the vectors calculate by light integrator of area light samples.

Tuesday, October 11, 2011

Compiling Alembic for Maya2012 under OpenSuse 11.2

I done compiling the Alembic_1.0_2011080800 rev. with some changes in system.

Sunday, October 2, 2011

renderman: displacment with overlapping in progress


Actually I develop displacement shader with overlapping  the top and bottom surface parts.

Monday, September 12, 2011

renderman: skin shader development in progress 2























There is no life in it without any reflections

Sunday, September 11, 2011

renderman: skin shader development in progress




























This is first step of development. It would measure dipole radius for this scene because I think "unitlength" may be wrong.

Wednesday, August 31, 2011

Old tools review : Light Zeppelin - BakeNaut Control Panel




































An example of an artist-friendly tools.
I really cannot understand why after 02 I wrote 06.

Old tools review : Light Zeppelin AE Templetes




























This is AE Templetes with dummy banners. Really bad color scheme.

Tuesday, August 30, 2011

Old tools review : Render Control


This is UI and pipeline scripts was writen for "Frogs Paradise" 3D animation feature.

Sunday, August 28, 2011

The Desert Drought Ground Shader

This is procedural renderman contained displacement and surface methods. Main pattern was formed by Voronoy algorithm. Surface method is very simple - it have the minor mutation of colors and fake shadowing in cracks.  

Several month ago I wrote simple MAYA plug-in for converting data from MAYA PaintFX to renderman poinclouds. Generated pointclouds lightweight in contrast to ordinary baked ptc. In result point based occlusion don't physically corrected but plausible for long shots and very fast in rendering.

Saturday, August 27, 2011

Production Video Editor


 This is the special tool for manage production, vewing and simple editing of sequences.
It is part of the total animation production management system "Atmosphere" that I develop with Andrew Chernysh . It's coded on PyQT. Work in progress.

Tuesday, August 23, 2011

Tricks with standart input/output and the renderman shader compiler

Did you know that renderman shader compiler support the standart unix pipe?
I am looking for a way to rapidly develop co-shaders containing helpers data.
And I found a way that suits me.

in bash command line:

echo 'class test(float kd=0.7; float ks=0.1; color diffuse = color(1,0,0)){}' | shader -o /myProj/myShader.slo

echo 'class test(){ struct _data {varying float kd=0.7; varying float ks=0.1; varying color diffuse = color(1,0,0);}}' | shader -o /myProj/myShader.slo

in Maya mel:

system("echo 'class test(float kd=0.7; float ks=0.1; color diffuse = color(1,0,0)){}' | shader -o /myProj/myShader.slo");

or:

string $HelperContent = "'class test(float kd=0.7; float ks=0.1; color diffuse = color(1,0,0)){}'";
string $ShaderObject = "/myProj/myShader.slo";

system("echo "+$HelperContent+"|shader -o "+$ShaderObject);

in Maya python:

import os
os.system("echo 'class test(float kd=0.7; float ks=0.1; color diffuse = color(1,0,0)){}' | shader -o /myProj/myShader.slo")

Wednesday, July 27, 2011

Renderman rerendering - Camera Edits


Actually I continue my connector maya to renderman rerendering. Work in progress.

Monday, June 20, 2011

PlayBlaster

This video illustrate the "PlayBlaster" script for the production of animation playblasts with labels by one button-click. The Playblaster was writed for production pipeline of "Frogs Paradise" feature animation film. Animation by Marat Davletshin
PlayBlaster Tool from Alex Mirgorodsky on Vimeo.

Sunday, March 13, 2011

Renderman RSL DSO Plugin for quering progress rendering

I tested the new RenderMan Interface Control lib for the getting progress rendering
in shader calculating environment. The new Ric API include function RtInt RicGetProgress()
for returns percentage progress of rendering.
I wrote the little DSO with float function returns progress during rendering:

Saturday, March 12, 2011

If Maya Python doesn't find your package


I am often faced with the problem - maya dont finded pakage modules
even path to the module present in PYTHONPATH environment variable.
And in feedback return something like this:
import  LightZeppelin
# Error: ImportError: line 1 of <maya console>: No module named LightZeppelin #
Early I solved this problem with

import sys
sys.path.append('myPath to package')
This is just work. But there is one more solution for this problem:

create your own *.pth file in $MAYA_LOCATION/lib/python2.6/site-packages directory

In my case - this is LightZeppelin.pth file contained one string - full path to DIRECTORY conteined "LightZeppelin" package.
This is very important. For example, if your pakage placed by /my_toolkit/my_subfolder/my_package 
then in *.pth Your must write:
/my_toolkit/my_subfolder/
And after this one maya python finded your "my_package" by
import my_package

Friday, February 4, 2011

HotOcean for MAYA 2010 Linux GCC 4.1

hotOcean_Maya2010_LinuxGCC4.1.zip
I recompile HotOcean For MAYA 2010 GCC 4.1
For using it needs installed the fftw3 libs. In OpenSuse 11.2 fftw3 coming with standart repository.

Wednesday, January 12, 2011

some errors in the shader code

I made some errors in the shader code
Firstly - I think it's better:
shader lights[] = getlights("category",Category);
than:
getvar(lights[i], "__category", __category);

        if(__category == Category) {
            push(categoryLights, lights[i]);
...............................
Secondly - to call the shaders in construt () method
- generally a bad idea if we want to use pixar relighting technology.
I think normally calling light co-shaders in lighting() method.

Friday, December 3, 2010

Wednesday, October 20, 2010

Little Shell Scripting

1. Converting all .tif in directory to .tex files
name: convert_tif_tex.sh
content:
#!/bin/bash
for i in *.tif; do txmake -mode periodic -verbose "$i" "${i%.tif}.tex"; done

2. Downscaling geometry size all .tif files to 25% of original images. 
It making by "mogrify" utility - the part of ImageMagick pack.
name : mogrify_25prct_tif.sh
content:
#!/bin/bash
for i in *.tif; do mogrify -geometry 25% "$i" ; done

3. Converting .ui files from QTDesigner to PyQt .py 
name: ui2py.sh
content:
#!/bin/bash
name=`basename $1 .ui`
echo "------- $name ------"
pyuic4 ./$1 -o ./$name.py

Step By Step Pixar Style Eyes Shader. Comming Soon.

Monday, October 18, 2010

Name Surface shader in Slim

This is example code from my old "SLO_Inspector" utility.

Monday, July 12, 2010

Monday, July 5, 2010

Saturday, July 3, 2010

Compiling the HotOcean deformer for the MAYA2008



This is operation i use for compiling HotOcean plugin writed by Igor Žanić
source code of HotOcean located: http://sites.google.com/site/igorvfxsite/igorfx

Tuesday, June 29, 2010

Musion Box on AtomExpo2010


Testing Musion Box in Rosatom Exposition. It is to be regretted that dust accumulated on musion film.

Monday, June 28, 2010