CSc 305: Assignment 3
1 Objectives
Experiment with vertex and fragment shaders
2 Implementation
This assignment consists of four steps:
Write 2 fragment shaders to shade the models using Phong illumination, one using
Image: Tom Clancys The Division
About me
Hi! My name is Nicolas.
Experience:
Game development:
InLight Entertainment (8mo)
EA SPORTS (8mo)
Graphics research:
Intel (1yr)
Studying under Andrea Tagliasacchi
Find me in computer graphics lab, come chat
CSC 305
Transformations II
by Brian Wyvill
The University of Victoria
Graphics Group
Transformations and Matrices
Transformations are functions
l Matrices are function representations
l Matrices represent linear transforms
l 2x2 Matrices cfw_2D Linear Tra
CSC 305
Parametric
Curves
by Brian Wyvill
The University of Victoria
Graphics Group
University of Victoria Island Graphics Lab.
CSC 305 2016
page 2
University of Victoria Island Graphics Lab.
CSC 305 2016
page 3
Cubic Polynomials
Order 4 (4 coefficients)
CSC 305
Ray Tracing II
Brian Wyvill
The University of Victoria
Graphics Group
Refraction
University of Victoria Island Graphics Lab.
CSC 305 2016
page 2
Instancing
see Shirley page 307
modelling
space
Mr
r
Mq
ray a+tb
b
a
q
ray
space
M-1a M-1b
ray M-1a+tM
CSC 305
The Scene Graph
by Brian Wyvill
The University of Victoria
Graphics Group
Instancing The Scene Graph
Transform Node
next
Mat
Obj
Obj Or Primitive
Traverse structure for visualisation
University of Victoria Graphics Lab.
CSC 305 2016
page 2
Univers
y (1,
1)
"#"
$
z
C. !"
(-1, x
O.
P.d
CSC 305
The Graphics
Pipeline-1
by Brian Wyvill
The University of Victoria
Graphics Group
-1)
Perspective Viewing Transformation
l
l
l
Tools for creating and manipulating a camera that
produces pictures of a 3D scene
V
CSC 305
Ray Tracing I
Brian Wyvill
The University of Victoria
Graphics Group
What is in the textbook?
Peter Shirley : Fundamentals of Computer Graphics
Introduction: Worth reading !
What is computer graphics ?
Numerical Issues
Efficiency
Software Engineer
CSC 305
Intro.
by Brian Wyvill
The University of Victoria
Graphics Group
Instructor: Brian Wyvill
Office: ECS 532
Phone: (250) 472-5760
Email: bwyvill@uvic.ca
Office Hours:
Thu 3pm-4pm
Or by email appointment
University of Victoria Graphics Lab.
CSC 305 2
CSC 305
Mountains I
by Brian Wyvill
The University of Victoria
Graphics Group
Procedural Modelling
l
Proceduralism involves the abstraction of
underlying form and/or behavior through time
into a compact, elegant procedure or
algorithm which can manifest t
University of Victoria
CSC 305
Shading
Brian Wyvill 2016
The illuminating Hemisphere
Energy and Intensity
Energy is the intensity integrated over the
solid angle through which it acts. Intensity is
not a function of distance from the light
source. The ene
Introduction to Computer Graphics
Prof. Dr. Andrea Tagliasacchi
Raytracing - Acceleration
Ray Tracing Acceleration
Ray-surface intersection is at the core of every
ray tracing algorithm
Brute force approach
intersect every ray with
every primitive O(IN
With thanks to
Prof. Rich Riesenfeld (University of Utah)
for some slides
Dr. Jack Bresenham
for some interesting discussions
University of Victoria Graphics Lab.
CSC 305 2016
page 2
Implicit Vs. Parametric
Implicit Definition
2
2
Parametric Definition
x
Come and hear
Introduction to
Implicit Modelling
by Brian Wyvill
With a little help
from his students
Overview
Introduction to Implicit Surfaces
Blending, Warping, CSG
Some Problems
The BlobTree
Blending
Texturing
Animation
Hierarchical Implicit Surfaces
Introduction to Computer Graphics
Prof. Dr. Andrea Tagliasacchi
Sampling - Reconstruction
http:/gfx.uvic.ca/teaching/icg/feedback
Today
Book Chapters 9.cfw_05
Sampling and Reconstruction
Convolution Theory
Book Chapters 9.cfw_5end
Fourier Transform
CSC 305
More Modelling
Faramarz Samavati
& Brian Wyvill
The University of Victoria
Graphics Group
Bernstein Polynomials any degree
University of Victoria Island Graphics Lab.
CSC 305 2010
page 2
Implementation (brute force)
Input P[i], d
/P[i]: control po
CSC 305
Ray Tracing I
Brian Wyvill
The University of Victoria
Graphics Group
P201 Shirley
University of Victoria Island Graphics Lab.
CSC 305 2016
page 2
University of Victoria Island Graphics Lab.
CSC 305 2016
page 3
University of Victoria Island Graphic
CSC 305
Transformations I
by Brian Wyvill
The University of Victoria
Graphics Group
1
Rigid Body Transforms
Rigid
University of Victoria Graphics Lab.
Articulated
(piecewise rigid)
CSC305
CM
3052014
Non-Rigid
page
2D Rigid Body Transforms
Consider a arbi
Improving Noise
Ken Perlin
Media Research Laboratory, Dept. of Computer Science, New York University
perlin@cat.nyu.edu
ABSTRACT
is shaded; then the surface normal (which is itself a derivative
operator) has a visibly discontinuous derivative (Figure 1a).
CSC 305
Ray Tracing 2
Brian Wyvill
Andrea Tagliasachi
The University of Victoria
Graphics Group
Whitted (1979)
Recursive Raytracing (refractive, reflective)
2
Basic Raytracing Pipeline
Ray Generation
3
Basic Raytracing Pipeline
Ray Generation
Intersectio
Raytracing
Ageneralalgorithm:
cfw_
For(each pixel in y coordinate, up to image size in y direction)
cfw_
For(each pixel in x coordinate, up to image size in x direction)
cfw_
Create a ray;
Color = cfw_0,0,0; / or any other background color that you like!
Introduction to Computer Graphics (Lab)
CSC 305
OpenGL
partos@csc.uvic.ca
What is OpenGL?
OpenGL (Open Graphics Library) is one of the most popular
toolsets available for graphical processing, and many
computer games and CAD tools rely on it for 3D rende
Lab 6 Instructions
Goal:
Get started with Maya 2013
Exercises:
1. Learn how to create and manipulate basic object in Maya
2. Create your own creative model!
Be sure to show your TA your completed code for lab marks before you leave. These are marked
out o
Lab 5 Instructions
Goal:
1. Understand Shaders
Exercises:
1. Fill in the blank comments tagged with /comment:
2. Create your first shader by following instructions
Be sure to show your TA your completed code for lab marks before you leave. These are marke
Lab 8 Instructions
Goal:
Export and load mesh (.obj file)
Exercises:
1. Load a mesh to Qt framework
Be sure to show your TA your completed code for lab marks before you leave. These are marked
out of 2: 0 for no attempt, 1 for an attempt but not complete,
CSc 305: Assignment 1
1 Objectives
acquire experience with object oriented programming design
acquire experience with designing test cases
acquire experience with C+
practice with matrices, the work horse of computer g
CSc 305: Assignment 4
1 Objectives
Create your own ray tracer
2 Implementation
For this assignment there won't be a given program skeleton, so you are free to program it
in any environment you want, as long as it can be run on the lab macs OR y
CSc 305: Assignment 2
1 Objectives
Experiment with implementations of transformations and projections
2 Implementation
You will be working with the Qt framework code attached to this assignment. You will be required t
Lab 7 Instructions
Goal:
Understand bump mapping
Exercises:
1. Load textures into framework
2. Create coordinate frame for normals
Be sure to show your TA your completed code for lab marks before you leave. These are marked
out of 2: 0 for no attempt, 1 f