Monday, May 19, 2014

Final: Texturing and Modeling with Displacement Maps, Hypertextures, and Noise

Rippling Water in Bowl:

- import .ply Blender bowl with Spherical image texture mapping
- water height map
- discrete wave equation with circular boundary conditions



You Tube Video Quality:

Rippling Water with Caustics:

-addition of photon mapping for refraction caustics


You Tube Video Quality:



Worley Water with Caustics:

- photon mapping of refraction caustics through Worley normals on water surface


You Tube Video Quality:
average 45 sec per frame


Fire Ball Hypertexture:


You Tube Video Quality:


Basic 1 octave Turbulence function:



FireBall with inner Turbulence color:



Falling Fire Ball Hypertextures:

- soft and hard regions of hypertexture animated at different rates through respective 3D noise space


You Tube Video Quality:



Animated Fire Ball Hypertextures:

- Sky:  fractal                                      ( -30, 0, -30 ) to( 30, 30, 30 )
- Water: 800 x 800  -                      (-20, -1, -20) to (20, 1, 20)


You Tube Video Quality:



Wave Boundary Conditions with Multi-fractal mountains:

- Sky:  fractal                                       (-150, -20, -100) to ( 150, 15, 15 )
- Water: 1600 x 1600  -                      (-20, 1.4, -20) to (20, 2.9, 20)
- Multi-Fractal Mountains: 1600 x 1600 -                 (-20, 0, -20) to (20, 6, 20)
    8 octaves
    gradient multi fbm (hit.x*0.01,    0    ,hit.z*0.01)
-  Light:                                              moving  ( 5, 10, 20) to ( 5, 10, -20)\


You Tube Video Quality:

Rising Fog and Multi-fractal mountains:

- Sky:  fractal                                       (-150, -20, -100) to ( 150, 15, 15 )
- Worley Water Plane:                            (-20, 2, -20) to (20, 5, 20)
- Mountains: 1600 x 1600 -                 (-20, 0, -20) to (20, 6, 20)
    8 octaves            gradient multi fbm (i*0.01,    0    ,j*0.01);
- Light:                                                moving  ( 5, 10, 20) to ( 5, 10, -29.2)


You Tube Video Quality:
3 minutes last frame

Fog Hypertexture in arbitrary shape:


Grass and Dandelion Hypertextures with Bunnies and Worley/Turbulence Hypertexture Sun:
- .ply import
- instancing of Kd -trees for the bunnies
- various hypertextures
- Worley normals on water surface
- Worley noise fed into a turbulence function for sun inner region


You Tube Video Quality:

10 minutes per frame

Monday, May 5, 2014

Assignment 7 - Tone Reproduction

Tone Reproduction

Ward: 1 nit source to a 400 nit display


Ward:  1000 nit source to a 400 nit display


Ward:  10000 nit source to a 400 nit display


Reinhard: 1 nit - grey at 18%


Reinhard: 1000 nit - grey at 18%


Reinhard: 10000 nit  - grey at 18%


Reinhard: 10000 nit - grey at 30%


Reinhard: 10000 nit - at 100% luminance


Reinhard: 10000 nit - luminance set by pixel (700, 550) of resolution (800, 600)
                                 normalized luminance at pixel was (0.887158, 0, 0);



Monday, April 28, 2014

Assignment 6

 Transmission (Refraction):

kd = 0.2
ks = 0.6
tr = 0.8
index of refraction: 0.95



Shadow ray weighted by transmission coefficient of shadowing object (same parameters).


Wednesday, April 23, 2014

Advanced Assignment 4: Photon Mapping


 Photon Mapping (6 bounces Russian Roulette with multiple storage of a single photon):

 All images power is photon gathered (specular reflection directions are ray traced) with one photon map.

Gather at hit point is performed by:

loop vicinity photons{
    (check incident angle against surface normal to weed out wrong surface photons)

    photon_contributions(color) += attenuation * photon_power
}
total_power(at point) = photon_contributions * density

density = 1 / 2 * pi * (furthest contributing photon distance)^2
attenuation = 1 - (photon contributing distance away)^2 / (furthest contributing photon distance)^2





 box dimensions: 20 x 10 x 20

Photons: 100,000
max_power: 3000
max_gather: 600 photons or 1 unit length

Photons: 50,000
max_power: 3000
max_gather: 400 photons or 1 unit length

max_gather: 200 photons or 1 unit length



Photons: 20,000
max_power: 3000
max_gather: 400 photons or 1 unit length

max_gather: 300 photons or 1 unit length

max_gather: 150 photons or 1 unit  length

Photons: 1,000
max_power: 1500
max_gather: 200 photons or 1 unit length

Thursday, April 17, 2014

Assignment 5

Here is the basic reflection image (I moved the other sphere to see the reflection better):
 kd = 0.8 ks=0.2


All images below are MonteCarlo reflection path images based on Phong model:
kd = 0.8 ks=0.2
10 samples



second: kd = 0.8 ks=0.2
50 samples


These next two I tried to see if more of a specular material would concentrate the reflected rays and reduce noise;
kd = 0.4 ks=0.6
50 samples


kd = 0.4 ks=0.6
100 samples



Thursday, March 27, 2014

Advanced Assignment 1: KD Tree

Kd with Bunny:

Using:  http://graphics.im.ntu.edu.tw/~robin/courses/cg03/model/
element vertex 35947
element face 69451


screen: 800 x 600

no KdTree:
6.1 sec per row * 600 = 3660 sec = 61 minutes

KdTree: (in seconds)
depth 7 :   20
depth 8:    11.4
depth 9:    6
depth 10:  5
depth 11:  2
depth 12:  1.86
depth 13:  1.38
depth 14:  1.29

depth 15: 1.64

Friday, March 21, 2014

Assignment 4


1 - Regular Checker Board


2 - Checker Board with Noise: Fractal Brownian Noise (octaves: 6, gain: 1, lacunarity: 2)
with 64 x 64 domain of noise samples on the 16 x 16 checkerboard multiplied by checkerboard color.


 3 - Simple image texture on plane


4. Mandelbrot Procedural Texture with colors using complex domain of -1.5 to 1.5 for real and imaginary components - iterations 30