Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Intro to Computer Graphics
Search
Chang-Hung Liang
January 04, 2013
Technology
0
88
Intro to Computer Graphics
Some selected topics on computer graphics.
Chang-Hung Liang
January 04, 2013
Tweet
Share
More Decks by Chang-Hung Liang
See All by Chang-Hung Liang
Asynchronous Python
eliang
3
260
If correlation doesn’t imply causality, then what does?
eliang
3
630
Building a Render Cloud
eliang
3
1.1k
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
260
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
330
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.7k
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
200
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
15k
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
290
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
390
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
180
怖くない!はじめてのClaude Code
shinya337
0
380
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
14k
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
500
Featured
See All Featured
Embracing the Ebb and Flow
colly
86
4.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
960
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Making Projects Easy
brettharned
116
6.3k
Bash Introduction
62gerente
614
210k
Navigating Team Friction
lara
187
15k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
Intro to Computer Graphics
Making of Computer Animation Modeling & Texturing Animation Lighting &
Rendering Editing & Compositing
Modeling & Texturing Modeling & Texturing Animation Lighting & Rendering
Editing & Compositing 3ds Max Maya
Animation Modeling & Texturing Animation Lighting & Rendering Editing &
Compositing 3ds Max Maya Houdini MotionBuilder
Lighting & Rendering Modeling & Texturing Animation Lighting & Rendering
Editing & Compositing Dreamworks' In-house Renderer mental ray®
Lighting & Rendering Modeling & Texturing Animation Lighting & Rendering
Editing & Compositing After Effects Premiere Photoshop
Modeling & Texturing Modeling & Texturing Animation Lighting & Rendering
Editing & Compositing 3ds Max Maya
3D Model Vertices Face
Texture Mapping ?
Texture Mapping: U and V U V (0, 0) (1,
1) (1, 0) (0, 1) A face on a model (0.7, 0.6) (0.6, 0.4) (0.4, 0.5)
Normal Mapping
Normal Map Gives You Details 3D Model Real World
Normal Map: Color Vector X = 2R - 1 Y
= 2G - 1 Z = 2B - 1 Example RGB: (0.5, 0.5, 1) = XYZ: (0, 0, 1)
Animation Modeling & Texturing Animation Lighting & Rendering Editing &
Compositing 3ds Max Maya Houdini MotionBuilder
Skinning Meat Bones
Skin Weights (100%, 0%) (50%,50%) (0%,100%) Influence of red bone
Influence of blue bone
Skin Weights
Lighting & Rendering Modeling & Texturing Animation Lighting & Rendering
Editing & Compositing Dreamworks' In-house Renderer mental ray®
What is Rendering?
How We See Things? Object
Raytracing
Why Things Look as They Do? Object Bidirectional reflectance distribution
function (BRDF) (a fancy term for material / shader) Normal Light direction Light amount Eye direction Amount of light reflected
Perfect Diffuse Color LambertianBRDF( normal, lightDir, lightColor, eyeDir) { return
lightColor / PI; }
Glossy Specular
Perfect Specular Color MirrorBRDF( normal, lightDir, lightColor, eyeDir) { float
LdotN = dot(lightDir, normal); float EdotN = dot(eyeDir, normal); if (abs(EdotN + LdotN) < 0.001) return lightColor; return Color(0, 0, 0); } Ɵ Ɵ lightDir eyeDir normal
Retro-Refletive
Subsurface Scattering (SSS)
Making Your Rendering More Realistic • Soft shadow • Global
illumination • Image-based lighting
Hard vs. Soft Shadow
Hard Shadow Object Point Light
Soft Shadow Object Area Light
Global Illumination Objects reflect light, too!
Global Illumination Object Object Direct Lighting Indirect Lighting
Imaged-based Lighting How do you put a virtual 3D object
into a real-world photo realistically? Bad example Good example
Imaged-based Lighting 1. Put a mirror ball in the real-world
scene 2. Take a photo of it
Imaged-based Lighting 3. Unwrap the mirror ball photo
Imaged-based Lighting 4. Use it as a huge dome light
Map it onto a huge sphere Your scene here
Summary • Modeling and texturing ◦ U and V ◦
Normal mapping • Animation ◦ Skinning • Rendering ◦ Raytracing ◦ Materials & shaders ◦ Soft shadow ◦ Global illumination ◦ Image-based lighting Thanks! Questions?