Presentation is loading. Please wait.

# 1 January 21, 2008 Bill Licea-Kane Texture Images Procedural Textures – Simple half-space – Derivatives – Combining half-spaces (Toy Ball) – Procedural.

## Presentation on theme: "1 January 21, 2008 Bill Licea-Kane Texture Images Procedural Textures – Simple half-space – Derivatives – Combining half-spaces (Toy Ball) – Procedural."— Presentation transcript:

1 January 21, 2008 Bill Licea-Kane Texture Images Procedural Textures – Simple half-space – Derivatives – Combining half-spaces (Toy Ball) – Procedural motion blur (Advanced Toy Ball) – Baking procedural textures Texture Images

2 January 21, 2008 Texture Images

3 January 21, 2008 Texture Images

4 January 21, 2008 Simple half-space

5 January 21, 2008 Half-spaces Joseph Albers, Circle 1933 Structural Constellation, Transformation of a Scheme No.12, 1950 Poèast kvadratu, 1970

6 January 21, 2008 Half-space – background x y P d = +1x + 0y

7 January 21, 2008 Half-space – background x y P d = -1x + 0y

8 January 21, 2008 Half-space – background x y P d = -1x + 0y + 3

9 January 21, 2008 Half-space – background x y P d = +1x + 0y - 3

10 January 21, 2008 Half-space – background x y P d = +0x + 1y - 1

11 January 21, 2008 Half-space – background x y P d = +.707x +.707y

12 January 21, 2008 Half-space – background x y P d = +.707x +.707y –1.0

13 January 21, 2008 Half-space – vector calculus Generalizing: d = Ax + By + Cz + D // when d is > 0.0, P is IN // Note – it’s useful to have this in // a normalized form, where // length( vec3( A,B,C ) ) is 1.0. const vec4 HS = vec4( A,B,C,D ); d = dot( HS, vec4( P.xyz, 1.0 ) );

14 January 21, 2008 Half-space – intersecting a sphere

15 January 21, 2008 Half-space shader - globals

16 January 21, 2008 Half-space shader – functions and main

17 January 21, 2008 Half-space shader - shadeSurface

18 January 21, 2008 Half-space shader - lightSurface

19 January 21, 2008 Derivatives

20 January 21, 2008 Derivatives – why? float inorout = step( 0.0, d ); Just like texture images, we need to estimate the footprint of the pixel. We can do this with derivatives and smoothstep. – dFdx( P ); – dFdy( P ); – fwidth( P ); float inorout = smoothstep( -f, +f, d );

21 January 21, 2008 step versus smoothstep

22 January 21, 2008 Half-space – with derivative, smoothstep

23 January 21, 2008 Combining half-spaces

24 January 21, 2008 Star George Lucas, Star Wars: Episode V - The Empire Strikes Back, 1980 John Lasseter, Luxo Jr, 1986

25 January 21, 2008 Toyball shader - battleplan

26 January 21, 2008 Royball shader - globals

27 January 21, 2008 Toyball shader – functions and main

28 January 21, 2008 Toyball shader – shadeSurface…

29 January 21, 2008 Toyball shader – …shadeSurface

30 January 21, 2008 Toyball shader - lightSurface

31 January 21, 2008 Procedural Motion Blur

32 January 21, 2008 Rotating half-spaces – x-axis x y

33 January 21, 2008 Rotating half-spaces – z-axis x y

34 January 21, 2008 Rotating half-spaces – vector calculus Observation: // Both are normalized form const vec4 HS = vec4( A,B,C,D ); const vec4 RotAxis = vec3 ( X,Y,Z ); blur = 1.0 – abs( dot( HS.xyz, RotAxis ) );

35 January 21, 2008 Baking Procedural Textures

36 January 21, 2008 Baking Procedural Textures

37 January 21, 2008 Textures Images

Download ppt "1 January 21, 2008 Bill Licea-Kane Texture Images Procedural Textures – Simple half-space – Derivatives – Combining half-spaces (Toy Ball) – Procedural."

Similar presentations

Ads by Google