01 Introduction
01 Introduction
Computer
Graphics
What is computer graphics?
From Software
Entertainment
Framestore
Pixar
Art, design,
architecture
Bathsheba Grossman
Sage Gateshead
Scientific visualization and training
US Navy
Intuitive Surgical
Inverse graphics
…Wait, how?
Graphical user interfaces, typography
Fontographer
Computing without graphics
Physically Based
Rendering book cover
• Representation
• Manipulation and editing
• Geometric queries
Rendering
• Quantifying light and materials
• Computing light transport in a scene
• Real-time approximations
Animation
• Foundations (rasterization)
• Modelling (mesh editing)
• Rendering (path tracing)
• Animation (mocap & simulation)
Assignment policies
This will be a very programming-heavy course!
All assignments are to be done in C/C++. Some starter code will be provided
Groups of 2
Try to produce some creative, artistic output as well! I may show it off in class 😁
Late policy: 4 free late days over whole semester, then 25% penalty per extra late day
Highlights from last year: Assignment 1
Rahul Jassal & Rishabh Dhiman Salil Gokhale & Aniruddha Deb Vipul Garg & Thakre Ishita
Highlights from last year: Assignment 3
Aniruddha Deb & Salil Gokhale Shamoon Rashid & Nischay Diwan Rajeev Gupta & Prashant Mishra
Highlights from last year: Assignment 4
I don’t want to prevent you from discussing concepts, algorithms, and methods. But it
must not be at such a detailed level that your code ends up being the same!
If two groups have “highly similar” code, both will receive the exact same penalty. It
doesn’t matter who copied from who.
• Submitted code will be checked for similarity with all submissions from this year and
from last year
fi
Other logistics
Course webpage: https://www.cse.iitd.ac.in/~narain/, Ctrl+F 781 :)
• All announcements will be on Piazza only. Please sign up immediately after class
• Ask questions on Piazza only! Do not ask by email
Other important sites:
Audit pass: At least 40% in course total, and at least 20% in each assignment and each
exam
Attendance policy: Attendance lower than 75% may result in a one-grade penalty (e.g. A
to A–, or A– to B)
Participation
I want the course to be as interactive as possible!
<svg version="1.1"
width="300" height="200"
xmlns="http://www.w3.org/2000/svg">
<rect width="100%" height="100%" fill="red" />
<circle cx="150" cy="100" r="80" fill="green" />
<text x="150" y="125" font-size="60"
text-anchor="middle" fill="white">SVG</text>
</svg>
Vector graphics
Li et al. 2020
VERTICES
A:( 1, 1, 1) E:( 1, 1,-1)
B:(-1, 1, 1) F:(-1, 1,-1)
C:( 1,-1, 1) G:( 1,-1,-1)
D:(-1,-1, 1) H:(-1,-1,-1)
TRIANGLES
EHF, GFH, FGB, CBG,
GHC, DCH, ABD, CDB,
HED, ADE, EFA, BAF
Andreas Jakl
SideFX
Rasterization
To display any 2D or 3D shape on a raster display, it needs to be rasterized!
For now, let’s pick a sample point at the center of each pixel, and colour the pixel if the
sample point lies inside the triangle.