SlideShare a Scribd company logo
Enviar pesquisa
Carregar
3D Graphics 101
Denunciar
Compartilhar
Leonardo YongUk Kim
Android Developer
Seguir
•
11 gostaram
•
2,298 visualizações
1
de
33
3D Graphics 101
•
11 gostaram
•
2,298 visualizações
Denunciar
Compartilhar
Baixar agora
Baixar para ler offline
Tecnologia
3D Graphics 101
Leia mais
Leonardo YongUk Kim
Android Developer
Seguir
Recomendados
Html5 canvas study week1n2 por
Html5 canvas study week1n2
Juneyoung Oh
470 visualizações
•
19 slides
Lay Picking por
Lay Picking
ChoKuangmin
127 visualizações
•
21 slides
[week16] D3.js_Transition por
[week16] D3.js_Transition
neuroassociates
850 visualizações
•
11 slides
Picking por
Picking
QooJuice
447 visualizações
•
37 slides
꿈데디 D3.js강의 6주차 por
꿈데디 D3.js강의 6주차
Songyi Lim
1.8K visualizações
•
10 slides
GeoGebra Model : GC2015X-B201515043 por
GeoGebra Model : GC2015X-B201515043
Taehwan Kim
636 visualizações
•
19 slides
Mais conteúdo relacionado
Mais procurados
SGL : 소프트웨어 3D 렌더링 엔진 por
SGL : 소프트웨어 3D 렌더링 엔진
SUNGCHEOL KIM
245 visualizações
•
16 slides
[Week8]R_ggplot2 por
[Week8]R_ggplot2
neuroassociates
1.4K visualizações
•
68 slides
12.05.26 roam algorithm por
12.05.26 roam algorithm
준섭 김
899 visualizações
•
37 slides
[week6]R_Wrangling por
[week6]R_Wrangling
neuroassociates
1.3K visualizações
•
44 slides
퍼시스턴트 세그먼트 트리 - Sogang ICPC Team, 2020 Winter por
퍼시스턴트 세그먼트 트리 - Sogang ICPC Team, 2020 Winter
Suhyun Park
559 visualizações
•
29 slides
Unity Surface Shader for Artist 03 por
Unity Surface Shader for Artist 03
SangYun Yi
702 visualizações
•
23 slides
Mais procurados
(20)
SGL : 소프트웨어 3D 렌더링 엔진 por SUNGCHEOL KIM
SGL : 소프트웨어 3D 렌더링 엔진
SUNGCHEOL KIM
•
245 visualizações
[Week8]R_ggplot2 por neuroassociates
[Week8]R_ggplot2
neuroassociates
•
1.4K visualizações
12.05.26 roam algorithm por 준섭 김
12.05.26 roam algorithm
준섭 김
•
899 visualizações
[week6]R_Wrangling por neuroassociates
[week6]R_Wrangling
neuroassociates
•
1.3K visualizações
퍼시스턴트 세그먼트 트리 - Sogang ICPC Team, 2020 Winter por Suhyun Park
퍼시스턴트 세그먼트 트리 - Sogang ICPC Team, 2020 Winter
Suhyun Park
•
559 visualizações
Unity Surface Shader for Artist 03 por SangYun Yi
Unity Surface Shader for Artist 03
SangYun Yi
•
702 visualizações
G+ Summer C Study 20130717(7일차) por Jake Yoon
G+ Summer C Study 20130717(7일차)
Jake Yoon
•
1K visualizações
Unity Surface Shader for Artist 02 por SangYun Yi
Unity Surface Shader for Artist 02
SangYun Yi
•
856 visualizações
Fast Fourier Transform - Sogang ICPC Team, 2019 por Suhyun Park
Fast Fourier Transform - Sogang ICPC Team, 2019
Suhyun Park
•
761 visualizações
아일렛 온라인에서 사용한 블럭 렌더링 소개 por 정만 김
아일렛 온라인에서 사용한 블럭 렌더링 소개
정만 김
•
400 visualizações
Persistent Segment Tree - Sogang ICPC Team, 2019 por Suhyun Park
Persistent Segment Tree - Sogang ICPC Team, 2019
Suhyun Park
•
904 visualizações
정수론적 알고리즘 - Sogang ICPC Team, 2020 Winter por Suhyun Park
정수론적 알고리즘 - Sogang ICPC Team, 2020 Winter
Suhyun Park
•
1.6K visualizações
[week11] R_ggmap, leaflet por neuroassociates
[week11] R_ggmap, leaflet
neuroassociates
•
2.5K visualizações
Lazy Propagation on Segment Trees - Sogang ICPC Team, 2019 por Suhyun Park
Lazy Propagation on Segment Trees - Sogang ICPC Team, 2019
Suhyun Park
•
1K visualizações
Unity Surface Shader for Artist 04 por SangYun Yi
Unity Surface Shader for Artist 04
SangYun Yi
•
807 visualizações
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter por Suhyun Park
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
Suhyun Park
•
731 visualizações
[시즌2, week3] R Basic por neuroassociates
[시즌2, week3] R Basic
neuroassociates
•
1.8K visualizações
밑바닥부터시작하는딥러닝 Ch05 por HyeonSeok Choi
밑바닥부터시작하는딥러닝 Ch05
HyeonSeok Choi
•
2K visualizações
Culling por ChoKuangmin
Culling
ChoKuangmin
•
269 visualizações
Voxel based game_optimazation_relelase por YEONG-CHEON YOU
Voxel based game_optimazation_relelase
YEONG-CHEON YOU
•
1.7K visualizações
Destaque
Lecture 1.1 - Terms & Concepts por
Lecture 1.1 - Terms & Concepts
mgordon320
319 visualizações
•
13 slides
B.how to face_technological_tsunami_clustering_.pmi por
B.how to face_technological_tsunami_clustering_.pmi
gunseli
753 visualizações
•
19 slides
Launch of 3D project por
Launch of 3D project
iain bruce
129 visualizações
•
22 slides
3D Graphics por
3D Graphics
ViTAly
827 visualizações
•
44 slides
Intro to 3D modeling a human por
Intro to 3D modeling a human
iain bruce
498 visualizações
•
14 slides
Anatomy of an android por
Anatomy of an android
Leonardo YongUk Kim
1.7K visualizações
•
53 slides
Destaque
(20)
Lecture 1.1 - Terms & Concepts por mgordon320
Lecture 1.1 - Terms & Concepts
mgordon320
•
319 visualizações
B.how to face_technological_tsunami_clustering_.pmi por gunseli
B.how to face_technological_tsunami_clustering_.pmi
gunseli
•
753 visualizações
Launch of 3D project por iain bruce
Launch of 3D project
iain bruce
•
129 visualizações
3D Graphics por ViTAly
3D Graphics
ViTAly
•
827 visualizações
Intro to 3D modeling a human por iain bruce
Intro to 3D modeling a human
iain bruce
•
498 visualizações
Anatomy of an android por Leonardo YongUk Kim
Anatomy of an android
Leonardo YongUk Kim
•
1.7K visualizações
A brief guide to android gradle por Leonardo YongUk Kim
A brief guide to android gradle
Leonardo YongUk Kim
•
1.1K visualizações
The Git - (#1/2) por Leonardo YongUk Kim
The Git - (#1/2)
Leonardo YongUk Kim
•
1.1K visualizações
Realm Java por Leonardo YongUk Kim
Realm Java
Leonardo YongUk Kim
•
2.9K visualizações
Butter android views por Leonardo YongUk Kim
Butter android views
Leonardo YongUk Kim
•
1.4K visualizações
Tensorflow 101 por Leonardo YongUk Kim
Tensorflow 101
Leonardo YongUk Kim
•
969 visualizações
Actionbar and fragment por Leonardo YongUk Kim
Actionbar and fragment
Leonardo YongUk Kim
•
25.3K visualizações
C++ 미정의 행동(undefined behavior) por 은아 정
C++ 미정의 행동(undefined behavior)
은아 정
•
2.2K visualizações
[0602 박민근] Direct2D por 흥배 최
[0602 박민근] Direct2D
흥배 최
•
9.5K visualizações
좋은 뷰, 나쁜 뷰, 이상한 뷰 por Leonardo YongUk Kim
좋은 뷰, 나쁜 뷰, 이상한 뷰
Leonardo YongUk Kim
•
5.7K visualizações
C++ stl por 은아 정
C++ stl
은아 정
•
2.1K visualizações
Modern android por Leonardo YongUk Kim
Modern android
Leonardo YongUk Kim
•
2.8K visualizações
Realm과 RxJava por Leonardo YongUk Kim
Realm과 RxJava
Leonardo YongUk Kim
•
2.4K visualizações
EventBus for Android por greenrobot
EventBus for Android
greenrobot
•
69.2K visualizações
A brief introduction to Realm with Kotlin por Leonardo YongUk Kim
A brief introduction to Realm with Kotlin
Leonardo YongUk Kim
•
5.1K visualizações
Similar a 3D Graphics 101
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field por
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
종빈 오
1.7K visualizações
•
40 slides
Deferred Shading por
Deferred Shading
종빈 오
1.6K visualizações
•
28 slides
[Ndc11 박민근] deferred shading por
[Ndc11 박민근] deferred shading
MinGeun Park
15.8K visualizações
•
87 slides
Unity Surface Shader for Artist 01 por
Unity Surface Shader for Artist 01
SangYun Yi
1.7K visualizações
•
48 slides
Light in screen_space(Light Pre Pass) por
Light in screen_space(Light Pre Pass)
민웅 이
3.5K visualizações
•
37 slides
Rendering realistic Ice objects por
Rendering realistic Ice objects
yong gyun im
924 visualizações
•
15 slides
Similar a 3D Graphics 101
(12)
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field por 종빈 오
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
종빈 오
•
1.7K visualizações
Deferred Shading por 종빈 오
Deferred Shading
종빈 오
•
1.6K visualizações
[Ndc11 박민근] deferred shading por MinGeun Park
[Ndc11 박민근] deferred shading
MinGeun Park
•
15.8K visualizações
Unity Surface Shader for Artist 01 por SangYun Yi
Unity Surface Shader for Artist 01
SangYun Yi
•
1.7K visualizações
Light in screen_space(Light Pre Pass) por 민웅 이
Light in screen_space(Light Pre Pass)
민웅 이
•
3.5K visualizações
Rendering realistic Ice objects por yong gyun im
Rendering realistic Ice objects
yong gyun im
•
924 visualizações
Rendering realistic Ice objects por yong gyun im
Rendering realistic Ice objects
yong gyun im
•
520 visualizações
D2 Rain (1/2) por Youpyo Choi
D2 Rain (1/2)
Youpyo Choi
•
1K visualizações
실전프로젝트 정서경 양현찬 por 현찬 양
실전프로젝트 정서경 양현찬
현찬 양
•
1.4K visualizações
[0326 박민근] deferred shading por MinGeun Park
[0326 박민근] deferred shading
MinGeun Park
•
634 visualizações
D2 Depth of field por Youpyo Choi
D2 Depth of field
Youpyo Choi
•
1.2K visualizações
2015.12.10 defferd renderring_ por 재현 최
2015.12.10 defferd renderring_
재현 최
•
126 visualizações
Mais de Leonardo YongUk Kim
Compose Multiplatform 101 por
Compose Multiplatform 101
Leonardo YongUk Kim
26 visualizações
•
68 slides
Kotlin 2.0을 통해 알아보는 코틀린의 미래 por
Kotlin 2.0을 통해 알아보는 코틀린의 미래
Leonardo YongUk Kim
273 visualizações
•
88 slides
안드로이드 빌드: 설탕없는 세계 por
안드로이드 빌드: 설탕없는 세계
Leonardo YongUk Kim
39 visualizações
•
76 slides
Realm은 어떻게 효율적인 데이터베이스를 만들었나? por
Realm은 어떻게 효율적인 데이터베이스를 만들었나?
Leonardo YongUk Kim
652 visualizações
•
73 slides
MVC부터 MVVM, 단방향 데이터 흐름까지 por
MVC부터 MVVM, 단방향 데이터 흐름까지
Leonardo YongUk Kim
2.4K visualizações
•
29 slides
Anatomy of Realm por
Anatomy of Realm
Leonardo YongUk Kim
14.5K visualizações
•
65 slides
Mais de Leonardo YongUk Kim
(16)
Compose Multiplatform 101 por Leonardo YongUk Kim
Compose Multiplatform 101
Leonardo YongUk Kim
•
26 visualizações
Kotlin 2.0을 통해 알아보는 코틀린의 미래 por Leonardo YongUk Kim
Kotlin 2.0을 통해 알아보는 코틀린의 미래
Leonardo YongUk Kim
•
273 visualizações
안드로이드 빌드: 설탕없는 세계 por Leonardo YongUk Kim
안드로이드 빌드: 설탕없는 세계
Leonardo YongUk Kim
•
39 visualizações
Realm은 어떻게 효율적인 데이터베이스를 만들었나? por Leonardo YongUk Kim
Realm은 어떻게 효율적인 데이터베이스를 만들었나?
Leonardo YongUk Kim
•
652 visualizações
MVC부터 MVVM, 단방향 데이터 흐름까지 por Leonardo YongUk Kim
MVC부터 MVVM, 단방향 데이터 흐름까지
Leonardo YongUk Kim
•
2.4K visualizações
Anatomy of Realm por Leonardo YongUk Kim
Anatomy of Realm
Leonardo YongUk Kim
•
14.5K visualizações
PublishSubject por Leonardo YongUk Kim
PublishSubject
Leonardo YongUk Kim
•
11.5K visualizações
역시 Redux por Leonardo YongUk Kim
역시 Redux
Leonardo YongUk Kim
•
15.4K visualizações
오픈 소스로 취업하기: 나는 어떻게 오픈 소스를 하다 렘 개발자가 되었나? por Leonardo YongUk Kim
오픈 소스로 취업하기: 나는 어떻게 오픈 소스를 하다 렘 개발자가 되었나?
Leonardo YongUk Kim
•
7.8K visualizações
Realm: 초고속 데이터베이스 por Leonardo YongUk Kim
Realm: 초고속 데이터베이스
Leonardo YongUk Kim
•
3.7K visualizações
React Everywhere por Leonardo YongUk Kim
React Everywhere
Leonardo YongUk Kim
•
1.8K visualizações
React Redux React Native por Leonardo YongUk Kim
React Redux React Native
Leonardo YongUk Kim
•
4.7K visualizações
Veni, Vide, Built: Android Gradle Plugin por Leonardo YongUk Kim
Veni, Vide, Built: Android Gradle Plugin
Leonardo YongUk Kim
•
4.6K visualizações
The git por Leonardo YongUk Kim
The git
Leonardo YongUk Kim
•
4.5K visualizações
GIt 마을로 이주하기 (Git -> Svn, svn-all-fast-export) por Leonardo YongUk Kim
GIt 마을로 이주하기 (Git -> Svn, svn-all-fast-export)
Leonardo YongUk Kim
•
1.5K visualizações
red black tree por Leonardo YongUk Kim
red black tree
Leonardo YongUk Kim
•
1.5K visualizações
3D Graphics 101
1.
3D Graphics 101 dalinaum@gmail.com
2.
Who am I?
5.
22 years ago
8.
13 years later
12.
Polygon. 폐곡선 도형. a
polygon /ˈpɒlɪɡɒn/ is a plane figure that is bounded by a finite chain of straight line segments closing in a loop to form a closed chain or circuit.
13.
Triangles…
14.
Quadrangles? Old style
15.
TriangleFan
16.
TriangleStrip
17.
Winding Order:시계방향 등의
그려질 방향. Curling:방향이 안 맞는 경우는 그리지 않음.
19.
Goroud shading
21.
Phong shading
22.
• Ambient: 주변의
물체들로 부터 받는 색상 값. 빛을 직접 하지 않고 추정을 담음. • Diffuse: 물체 고유의 색 • Specular: 하이라이트 색
23.
Transform and Lightning •
GPU Transform and Lightning of vertices (1999) • Forced the use of Gouraud / Phong lightning.
25.
Shader • 필요한 기능을
하드웨어에 내장하지 않고 소프트웨어 적으 로 구현. • GLSL등의 언어를 사용함. • 기본형은 버텍스 쉐이더와 프래그먼트(픽셀) 쉐이더.
26.
Shader • Vertex shader:
꼭지점 정보를 받아 그것을 가공하는 쉐이 더. • Fragment(pixel) shader: 각 픽셀을 가공하는 쉐이더.
27.
uniform mat4 u_mvpMatrix; attribute
vec4 a_position; attribute vec4 a_color; varying vec4 v_color; void main() { gl_Position = u_mvpMatrix * a_position; v_color = a_color; } Simple vertex shader
28.
varying vec4 v_color; void
main() { gl_FragColor = v_color; } Simple fragment shader
29.
varying vec4 vColor; varying
vec2 vTexCoord; //declare uniforms uniform sampler2D u_texture; uniform float resolution; uniform float radius; uniform vec2 dir; void main() { vec4 sum = vec4(0.0); vec2 tc = vTexCoord; float blur = radius/resolution; float hstep = dir.x; float vstep = dir.y; sum += texture2D(u_texture, vec2(tc.x - 4.0*blur*hstep, tc.y
30.
sum += texture2D(u_texture,
vec2(tc.x - 4.0*blur*hstep, tc.y - 4.0*blur*vstep)) * 0.0162162162; sum += texture2D(u_texture, vec2(tc.x - 3.0*blur*hstep, tc.y - 3.0*blur*vstep)) * 0.0540540541; sum += texture2D(u_texture, vec2(tc.x - 2.0*blur*hstep, tc.y - 2.0*blur*vstep)) * 0.1216216216; sum += texture2D(u_texture, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.1945945946; sum += texture2D(u_texture, vec2(tc.x, tc.y)) * 0.2270270270; sum += texture2D(u_texture, vec2(tc.x + 1.0*blur*hstep, tc.y + 1.0*blur*vstep)) * 0.1945945946; sum += texture2D(u_texture, vec2(tc.x + 2.0*blur*hstep, tc.y + 2.0*blur*vstep)) * 0.1216216216; sum += texture2D(u_texture, vec2(tc.x + 3.0*blur*hstep, tc.y + 3.0*blur*vstep)) * 0.0540540541;
31.
- 2.0*blur*vstep)) *
0.1216216216; sum += texture2D(u_texture, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.1945945946; sum += texture2D(u_texture, vec2(tc.x, tc.y)) * 0.2270270270; sum += texture2D(u_texture, vec2(tc.x + 1.0*blur*hstep, tc.y + 1.0*blur*vstep)) * 0.1945945946; sum += texture2D(u_texture, vec2(tc.x + 2.0*blur*hstep, tc.y + 2.0*blur*vstep)) * 0.1216216216; sum += texture2D(u_texture, vec2(tc.x + 3.0*blur*hstep, tc.y + 3.0*blur*vstep)) * 0.0540540541; sum += texture2D(u_texture, vec2(tc.x + 4.0*blur*hstep, tc.y + 4.0*blur*vstep)) * 0.0162162162; gl_FragColor = vColor * vec4(sum.rgb, 1.0); }
32.
• 음악의 필터에
프래그먼트 쉐이더를 사용하기도 합니다. • 사진의 필터에 프래그먼트 쉐이더를 사용하기도 합니다. • 정확하지 않은 대량의 연산에 프래그먼트 쉐이더를 사용하 기도 합니다.
33.
Q & A