Thursday, 12 June 2014

Next...

Since I've finished UNI now i thought i'd continue using this blog for whatever RSL i continue with rather than scatter any information i gather

Tuesday, 29 April 2014

Final Renders

And here are the all of the final renders, added a bit of motion blur for fun in nuke, and a few small color corrections.

Animation of the secondary effect

I created a shader that was capable of detecting nearby objects and creating cracks underneath it.  The effect here is subtle but it like any displacement and can be multiplied for a stronger effect


Sunday, 27 April 2014

Preview of Secondary Effects

For the secondary effects for the shader assignments i have created a shader that can displace itself based upon its proximity to other objects.  I chose the voronoi pattern to stay in line with the cracks i first wanted, and here is a preview render of the effect on the ground plane


Friday, 25 April 2014

Shader Display

A Render of the shaders with displacement and the same without

Clear Marbles


Frosted Marbles

Monday, 21 April 2014

Displacement Tests

Playing with varying the voronoi cracks with different noises.  The shadows vary because i was editing the glass shader too











Sunday, 20 April 2014

Same Render, Clear Glass

I re-rendered the marbles but with only clear glass this time and it looks much better.. i think i need to edit how the primvars are set, so if frost is enabled the frequency is high enough to get the right effect because low frequency just produce wavy reflections.


Ave showing this video to a few people, it has been noticed that the textures under the glass came appear as though they are swimming rather than stuck to the object, so i might have to lower the IOR to get rid of this.

Saturday, 19 April 2014

A Preview Animation

I've rendered out a 4 second animation just to see how the glass looks with some prim vars to randomize it, and right now, i had the frosted glass set to a prim var so some of the marbles looks more blurry than others, but really the frequency of the frost should have been higher when turned on.  Other than that, its looking pretty good, and even the transparent shadows are working, but the colors don't seem to match the shader to well right now.


Next ill add the collision effects to create some cracking where the marbles collide

Wednesday, 16 April 2014

Transparent Shadows

I have now got the shader to incorporate the surface pattern into the transparent shadow.  The colors are a bit off but the pattern is definitely getting picked up.




Tuesday, 15 April 2014

Physically Plausible Glass

I found a post online that presented a way to create a physically plausible glass shader that had been converted from vex to c++, and after some editing and tweaking to speed up the execution as some variables were either wrong, or simply not needed and just causing overhead.  here are the results using the cook Torrance spec against a normal spec call.


Next will be to achieve colored shadows, and then i have all of the components needed for physically plausible marbles

Sunday, 13 April 2014

New BRDF's

Ive created the cook torrance function in RSL and the results are very nice

So now i have combined the cook torrance specular model with the oren nayer diffuse model and the combination works quite well

Oren Nayer Alone

Oren Nayer and Cook Torrance


Saturday, 12 April 2014

Prim Var Uitility

I Created a quick little UI and script to manage the creation of prim vars on both 3Delight and Renderman.  It allows the creation of string, color, and float variables, with any naming and random range.  It can also specify a texture name when using the string data type for random textures


Using Primvars For Proceduralism

Here are some renders using primvars to vary a few of the attributes on a shader to create a range of textures, using only 1 shader.  This is through using python scripts to create attributes on the objects following a certain naming convention to connect the attribute values to the shader values
Without Primvars - Same frequnecy and colors

 With Primvars - Varied Pattern Frequency and color variation

I Will make a quick tool to make creating these primvars a bit easier that running separate scripts 

Thursday, 10 April 2014

New BRDFs

After working through more of the Renderman Shading Guide, i managed to create 2 more BRDFs
 Oren Nayer

Seeliger

Both are diffuse models which resemble the lambertian model with subtleties in how the light is calculated when hitting the surface

Wednesday, 9 April 2014

Syntax Highlight for RSL

I just finished the lexer for the RSL highlighting of datatypes and function.  It helps make the code much more readable, and see which variables are my own and which belong to RSL which can stop me using RSL keywords for functions and variables

Tuesday, 8 April 2014

SSS & Different Materials

I found a way to fake SSS by creating a first layer with one kind of BRDF and a second layer using modified  P and N variables when creating the surface shader.  After that i set P and N to their original values before finishing the surface shader the calculations.  Here are some of the results

 Layer 1 - Glass IOR 1.5
Layer 2 - Glass IOR 1.2 - Vornoi Pattern

  Layer 1 - Glass IOR 1.5
Layer 2 - Glass IOR 1.2

  Layer 1 - Plastic
Layer 2 - Plastic - Basic Noise Pattern

  Layer 1 - Glass - IOR 1.5
Layer 2 - Plastic - Basic Noise Pattern

  Layer 1 - Glass - IOR 1.2
Layer 2 - Glass - IOR 1.5- Basic Noise Pattern

  Layer 1 - Glass - IOR 1.3
Layer 2 - Constant Shading - Voronoi Pattern

  Layer 1 - Glass - IOR 1.2
Layer 2 - Glass - IOR 1.5 - Voronoi Pattern

 Layer 1 - Glass - IOR 1.2
Layer 2 - Plastic - Voronoi Pattern

Saturday, 5 April 2014

Voronoi Displacement for Cracks

Got the displacement working, and with some playing with values, its possible to get some nice cracked effects, here are some pictures on clear glass and patterned glass

At the moment the displacement is causing artifacts because the displacement is not at a high enough resolution, but i still have to find the command that lets me change this.

Pragma Annotations in 3Delight

I've recently found the way to group and rename my shader parameters so in Maya the controls are more intuitive and have more readable and sensible naming.  It's through the use of pragmas in the .sl file.  3Delight take these calls and uses them to create different gadget controllers and names for the controllers.
The left image is how 3Delight produces the parameters with no settings applied, and the right shows how the grouping, naming, and controllers can be modified to be more usefull.

Voronoi and noise applied to glass

Been working on the glass shader, using the relfect and refract calls, with some nice results, but increaed render times not raytracing is being used.





After that i managed to combines the voronoi, and voronoi mixed with Fractional Brownian Motion to get some nice procedural patterns.


Next will be to try and use the voronoi pattern as a displacement to simulate the cracks

Friday, 4 April 2014

Combination of Noises

So here is the Mix between the voronoi and fractional Brownian motion.

The result end up looking very nice, and next is to use the colors as a mask to try and create a frosted glass with clear glass cracks

Some Noise and Fractals

Been plating with the Fractional Brownian Motion and Voronoi type of noise/fractal.

FBM Color

FBM Scalar
Vornoir Color

Voronoi Scalar

The info for making these was found in the Advanced Renderman Book and various resources online.  Next will be combining the 2 and then hopefully using it as a displacement shader on some glass surface

Thursday, 3 April 2014

Couple more features

Added the ability to add search paths quickly to a rib file, based on the project preferences.  Also added a color picker to let me pick a color from an actual color pallete rather than using numbers


Stucco Patterns

Carrying on reading through RSL material i found the Fractional Brownian Noise and was able to apply it to a surface shader, and vary the colours to get a nice render.


Right now it only has 2 layers, and a base color, and the shading comes from the basic plastic BRDF.

Some new features for the editor

Started adding some textures and environment maps to the shaders and remembered that they need to be converted by a utility provided by the renderer - tdlmake for 3Delight, txmake for PRMan. So I've added the features for a few of the utilities provided so there's no need to go to the command line or leave the editor to use these utils.


Tuesday, 1 April 2014

Some Plastic Marbles

Reading through advanced Renderman and the plastic shader is described there.  This is the result using raytraced shadows along with the plastic shader
The plastic shader uses the ambient, diffuse and specular functions to create this look.

RIB/RSL Editor

I've been working on a small editor for creating shaders and RIB files.  It was inspired from the cutter application from fundza.com, but i thought id give it a go just for learning purposes.

Its made with Python and PyQt and so far allows for all of the normal text editor features, line numbering, syntax highlighting, auto indentation, brace matching, and will hopefully keep adding features whenever i can fit the time in.



It lets me set up a project, compile shaders, and render rib files with 2 different renderers if available, and I've slowing been adding little features along the way like automatically adding search path strings to rib files, etc.

Monday, 31 March 2014

Inspiration Pic

I Threw together a collection of images that relate to what im hoping to achieve at the end of this shader writing assignment

Im hoping to have a marble that has a clear shell, with a pattern inside, some kind of SSS shader to give the appearance of layers.  The hopefully, use some kind of co-shader to have the marble glow as they get closer to other marbles, and get cracked as hey collide

Usefull Sites

Some sites that hold some god RSL and Renderman info
http://fundza.com
http://renderman.pixar.com/
http://renderman.org/
http://renderman.pixar.com/view/renderman-university

First Post

This Blog is a place to hold my notes for the shader writing assignment - Physically Plausible Marbles