Kristen Eggleston
  • Demo Reel

Why Glass is Opaque

2/15/2013

 
Picture
At first, the opacity of the material needs to be determined to calculate the refractions and internal reflections. After all that happens however, the opacity needs to be set back to 1. This way when the renderer gathers all the Ci's and Oi's from the materials the glass won't look oddly transparent after being refractive (left sphere) rather than simply being refractive as glass is meant to look (right sphere).

Difference Between surface() and diffuselighting()

2/13/2013

 
Picture
The ball on the left has a "surface()" function for the primary diffuse calculations while the right ball has the "diffuselighting()" function.

I initially used "surface()" instead of "diffuselighting()" so that when the shader compiled it would compile as a surface shader and not a co-shader or displacement shader. If it did not compile as a surface shader Houdini would not read the color information properly and do either just the displacement or nothing at all. Rather annoying.

I continued using the "surface()" function in testing because I did not have to have the lights extraordinarily bright. Once I got into more complicated shaders, I had to start using the "diffuselighting()" function so that the renderer would recognize the specularlighting() function.

Displacement Shaders

2/13/2013

 
The basic displacement function is:

public void displacement(output point P; output normal N)
{
      //initialize m_shadingCtx variable just in case it had been used before
      m_shadingCtx->init();

      //assign m_hump variable based on wavelet noise
      exampleVariable = something_To_Make_It_Change_Like_A_Map

      //displace based on m_hump
      m_shadingCtx->displace(vector(normalize(N)),exampleVariable, "displace");

      //reinitialize m_shadingCtx
      m_shadingCtx->init();
}

Which creates the sphere on the right. If the last "m_shadingCtx->init();" is omitted, the shader turns into a toon shader like the one on the left! Hooray for experimentation!
Picture

    Categories

    All
    Accidents
    Cool Tricks
    Houdini
    Shaders

    Archives

    March 2013
    February 2013

    RSS Feed

Proudly powered by Weebly