Wednesday 18 December 2013

using L-system for our pattern generation

We can use L-system to create the pattern for our frost growth appearance. Found this page of creating and building our own L-system pattern.

http://www.jflap.org/tutorial/lsystem/index.html

Looking further into L-system and digging up through siggraph paper for new techniques of pattern generation. I came across a really interesting paper titled Feather generation.


http://delivery.acm.org.v-ezproxy.smu.ac.uk/10.1145/570000/566628/p630-chen.pdf?ip=212.219.61.169&id=566628&acc=ACTIVE%20SERVICE&key=C2716FEBFA981EF1AE9BA548B9F4B8578844D11695F731CC&CFID=399129846&CFTOKEN=80442500&__acm__=1389604004_09321a8db122a96deaef750356e56376

Tuesday 17 December 2013

Fractal

An alternative to using L-systems we can also use Fractal System to create our pattern algorithm. I found this interesting piece of work in siggraph called " Generation of 3D fractal images".  it talks about generating 3D images using computational modelling algorithms. it can create images such as coastlines, cloud mountains and any other random shape composed of curves. 

http://delivery.acm.org.v-ezproxy.smu.ac.uk/10.1145/1950000/1947990/p235-rama.pdf?ip=212.219.61.169&id=1947990&acc=ACTIVE%20SERVICE&key=C2716FEBFA981EF1AE9BA548B9F4B8578844D11695F731CC&CFID=399129846&CFTOKEN=80442500&__acm__=1389604521_3474b4fbde620175ba0d3feae5e81139

Frost generation

Found this paper about creating frost about growing frost and using a system called Cellular Automata for animating the growth over a period of time. But this is not an automation process because the the artist has to draw the pattern and then points are made across the painted geometry which will be then used to guide the growth of the ice effects.

http://dl.acm.org.v-ezproxy.smu.ac.uk/citation.cfm?id=2504459.2504479&coll=DL&dl=ACM&CFID=399129846&CFTOKEN=80442500

Monday 16 December 2013

Renderman Sources

A library of renderman tutorial and resources that we can reference and guide us through the making of our Major project and our tool development.
The intro into surface shaders are really valuable as we are creating a ground up surface frost shader.

http://www.fundza.com/


http://www.fundza.com/rman_shaders/surface/index.html

Tuesday 10 December 2013

Tool development

For my tool development assignment I propose to create a Leaf Geometry importer that we can use to attach to our existing models.
had a meeting with Rob Jones today my main lecturer and gave me feedback on my major project. My project was not that clear so we decided to main focus on 3D side and came up with a solution of creating a Frost shader. An animated Frost shader. so From now on my major project will all about Frost shader development.
An example of this is a shader Made by kai Wang.

https://vimeo.com/24536327


Monday 2 December 2013

Displacement shader

I dug up more information on how we can create our foreground with the rendered snow. I can use  displacement shader and use this to create my foreground and create the snow around the ground.



RSL
What is a Displacement Shader?






Displacement Shader Algorithm

Displacement shaders alter the smoothness of a surface, however, unlike bump mapping which mimics the appearance of bumpiness by reorientating surface normals, displacement shading genuinly effects the geometry of a surface. In the case of Pixars prman renderer, each object in a 3D scene is sub-divided into a fine mesh of micro-polygons after which, if a displacement shader has been assigned to an object, they are "pushed" or "pulled" in a direction that is parallel to the original surface normal of the micro-polygon. After displacing the micro-polygon the orientation of the local surface normal(N) is recalculated.


Figure 1

The following algorithm lists the four basic steps that a displacement shader generally follows in order to set the position (P) and normal (N) of the micro-polygon being shaded.

1
Make a copy of the surface normal (N) ensuring it is one unit in length.
2
Calculate an appropriate value for the displacement - what will be referred to in these notes as the hump factor!
3
Calculate a new position of the surface point "P" by moving it "along" the copy of the surface normal by an amount equal to hump scaled by the value of the instance variable Km.
4
Recalculate the surface normal (N).

To make a meaningful decision about the distance, if any, a micro-polygon should be displaced, a shader will make reference to the micro-polygon's,
  • 2D surface position stuv,
  • 3D xyz position P,
  • orientation N,
  • camera distance L.
plus other less obvious attributes of a micro-polygon. Such information is either directly or indirectly available in data the renderer makes available to a shader through the use of global variables.

Displacement Shading & Global Variables

The following table lists the global variables accessible to a displacement shader. [List of global variables available to surface shaders]. 
Global
variable
P
N
s, t
Ng
u,v
du, dv
dPdu,dPdv
I
E

Meaning
surface position
surface geometric normal
surface texture coordinates
surface geometric normal
surface parameters
change in u, v across the surface
change in position with u and v
camera viewing direction
position of the camera


http://www.fundza.com/rman_shaders/displacement/ds_displacement1.html

http://www.fundza.com/rman_shaders/displacement/index.html