All Blog Entries

  1. So you like fractals?

    Or maybe Broccoli fractal in Renderman?

    Ok, let's not get ahead of ourselves. Simple 2D Mandelbrot shader is a good start for mortals like me

     * -- Mandelbrot texture
     * Creates a Mandelbrot set as a texture
     * Ka, Kd, Ks, roughness - the usual
     * HINTS:
     * AUTHOR: Michael Rivero
     * rivero AT squareusa DOT com 
     * History:
     * Created: 12/18/98
    surface MRmand (
     float Kd = .5,
           Ka = .1;
     float maxiteration = 500;
     float useUV = 0.0;
     float lt;
     float ls;
    /* Map the U and V values to the bounds of the Mandelbrot set. */
     if(useUV != 0.0)
      lt = v;
      ls = u;
    /* printf("lt = %f  ls = %f\n",lt,ls); */
      lt = t;
      ls = s;
    /* printf("lt = %f  ls = %f  pre correction   ",lt,ls); */
      ls = mod(ls, 1.0);
      lt = mod(lt, 1.0);
    /* printf("lt = %f  ls = %f post correction \n",lt,ls);  */

    Updated 12-09-2010 at 11:20 PM by Artur

  2. Monsters

    FXGuide podcast had an interview with Gareth Edwards, director of indie film Monsters. I've never heard of it till someone at work had a chance to see the screening and have Q&A with the director afterward. Sounded so impressive that I had to see it myself.

    Impressive part is that not only it was scripted, directed and filmed by one person but all visual effects are done my the same guy. Not to mention it's a great story and beautifully filmed but having everything from 3D to comp done by a single person is truly inspiring.

    Anyway, watch the movie and listen to the podcast. Amazing story.
  3. Lets talk fur - Kajiya Kay

    I've spend (or wasted) half a decade on projects involving some sort of furry/feathered creatures. Happy Feet, Where The Wild Things Are, Legend of the Guardians and Happy Feet 2. So, fur shading is going to be my first subject. I will start with a simple Kajiya Kay implementation in 3Delight. Safe to say that majority of hair shaders are using this model. From real-time hair shaders on GPUs to every project I've worked on. It's fast and relatively easy to understand.

    / diffuse component of the shading model
    color KajiyaKayHairDiffuse( vector T; )
            // Accumulate incoming radiance from lights in C
            color C = 0;
            extern point P;
            illuminance( P )
                    // Must declare extern L & Cl because we're in a function
                    extern vector L;
                    extern color Cl;
                    float nondiff = 0;
                    lightsource( "__nondiffuse", nondiff );
                    if( nondiff < 1 )
                            vector LN = normalize( L );
                            C += ( 1 - nondiff ) * Cl * sin( acos( T.LN ) );
            return C;
    // specular component of the shading model
    color KajiyaKayHairSpecular(

    Updated 11-23-2010 at 01:17 AM by Artur

  4. Hello World!

    So I've decided to join the endless sea of blogosphere. Majority of it is for personal use to keep track of Renderman related news and resources. Additionally I intend to share various solutions I've come up or learned during my experience in VFX industry - who knows, someone might find it useful.
    For those who don't know me - I'm 3D artist specializing in texturing, lighting and some shader writing (hence this place is called Shaderology) . My career started in games industry but soon after I joined Animal Logic in Sydney to work on Happy Feet. Ever since I've worked on commercials and films such as 28 Weeks Later and Legend of the Guardians. Today I'm back on Happy Feet because let's be honest, every half decent movie has to be ruined with a sequel.
    So keep an eye on this space. I'll try not to procrastinate with at least first 2 posts.
    ..hehe, I said procrastinate

    Updated 11-19-2010 at 06:08 AM by Artur

Page 4 of 4 FirstFirst ... 2 3 4