Computer Graphics Seminar
MTAT.03.296 Spring 2014
Raimond Tunnel
Computer Graphics Seminar MTAT.03.296 Spring 2014 Raimond Tunnel - - PowerPoint PPT Presentation
Computer Graphics Seminar MTAT.03.296 Spring 2014 Raimond Tunnel Conclusion! Geometry & Algebra ( cos ( 0.6 ) ) cos ( 0.6 ) sin ( 0.6 ) 0 = ? 0 1 0 sin ( 0.6 ) 0 Geometry & Algebra ( cos ( 0.6 ) ) cos ( 0.6 ) sin ( 0.6
Raimond Tunnel
T⋅v) c⋅LSpecular⋅M Specular
T⋅ v+r
c
T⋅v) c⋅LSpecular⋅M Specular
T⋅h) c⋅LSpecular⋅M Specular
No specular, Only diffuse Soft and wide specular Sharp and narrow specular
Phong's model I=L A⋅M A+ 1 d light
2 ⋅(n T⋅l⋅L D⋅M D+(r T⋅v) c⋅LS⋅M S)
Returns how much light reflects Geometry function Distribution function Fresnel effect
Shadowing Masking
http://chrisp.gr/projects/boids/
Unreal Engine 4
Procedurally generated Terraria map
Terraria
Iteration 1 Iteration 1 Iteration 1 Iteration 2 Iteration 3 Ruleset Starting axiom Procedure
Symbol Interpretation F Draw a segment [ Push current state into stack ] Pop state from stack + Turn 30 degrees left around z-axis
around z-axis
Turtle graphics http://en.wikipedia.org/wiki/Turtle_graphics
0.5
0.5
Ruleset
Starting axiom Iterations: 3 S t
h a s t i c s y s t e m
Motion Blur Depth of Field R e f l e c t i
s P h y s i c s OctaneRender 2.0
https://research.nvidia.com/sites/default/files/publications/GIVoxels-pg2011-authors.pdf
Glossy reflections, color bleeding Indirect diffuse lighting
Images taken from the article... Maybe??
float binCount = 6.0; frag_color.x = floor(frag_color.x * binCount) / binCount; frag_color.y = floor(frag_color.y * binCount) / binCount; frag_color.z = floor(frag_color.z * binCount) / binCount; gl_FragColor = frag_color;
F r a g m e n t s h a d e r ( + 4 l i n e s
c
e )
Quantized render Depth texture (z-buffer) Normal vector texture Detected edges Result with black border
– Sobel (first order derivative) – Laplacian (second order derivative)
1 (1+x
10)
Butterworth
( f ∗g)[ x , y]=∑
i=−d d
j=−d d
f (x+i , y+ j) ⋅g (x+i , y+ j)
Convolution of an image with a kernel (d x d) 1 1 1 1
1 1 1 1 1 1
1 1
1
2
1
1 2 1 Laplacian kernels Use only one Sobel kernels for x and y Use both and sum absolute values from results
http://www.mathworks.se/company/newsletters/articles/gpu-programming-in-matlab.html
Platform Device 1 Device 2 CPU GPU Data: [0.0, 1.0, 2.0, 3.0, ...] Data: [0.0, 1.0, 4.0, 9.0, ...]