SlideShare una empresa de Scribd logo
1 de 24
아꿈사 오전반 스터디
자유발표 : WebGL




                      2011. 10. 29.
                      2012. 10. 23.
                            전효성
               itmentor@gmail.com
이번 발표에서 다루는 것들
• WebGL 등장 배경
• WebGL로 할 수 있는 것들
• WebGL에 대한 소개




                     2
WebGL 등장 배경
• 컴퓨팅 파워의 증가, GPU의 활용
• 웹 상에서 3D 요구




                        3
Web 3D의 역사
• VRML / X3D
  – 뷰어마다 보이는게 다름
  – 망했어요
• Collada
  – 최근 표준처럼 통용되는 3D모델 교환 형식
  – XML기반, 느리다
• WebGL
  – 최근 Khronos group에서 제정한 Web 3D를 지원
    하기 위한 API
  – 일부 웹 브라우저에서 사용이 가능하다.
                                        4
Web 3D로 어떤 일들을 할 수 있나?




                         5
6
Google Maps – MapsGL




                       7
Google:
WebGL Bookcase




                 8
PDF Viewer – CubicVR demo




                            9
Shader Toy




             10
Google I/O 2011: Building Game Development
  Tools with App Engine, GWT, and WebGL




                                             11
Firefox plugin - Tilt




                        12
Google chrome web store




                          13
WebGL, 실체는 무엇인가?




                   14
OpenGL related eco-system


     OpenGL
                     OpenCL
    OpenGL ES

      WebGL           WebCL
  (OpenGL ES 2.0)




  Visualization     Computation



                                  15
간단하게 말하면…



Web browser에서 javascript로 OpenGL
ES 2.0 API를 쓰게 하는 것




                                   16
WebGL에 없는 것
• Math library
• High level graphics API
• Immediate mode
 glBegin( GL_TRIANGLES );
 glVertex3f( 0.0f, 0.0f, 0.0f );
 glVertex3f( 1.0f, 0.0f, 0.0f );
 glVertex3f( 1.0f, 1.0f, 1.0f );
 glEnd();




                                   17
개발환경(IDE)
• 웹페이지 개발하는 IDE면 모든 OK
 – Eclipse
 – Titanium studio




                         18
코드를 구경해 봅시다.

• WebGL 사이트
  – http://learningwebgl.com/blog/?page_id=1217
• 한글 번역 사이트 :
  – http://firejune.com/1669/




                                                  19
웹에서 3D를 보여준다는 것은?
• 장점
 – 새로운 사용자 경험 제공
 – 빠른 성능


• 단점
 – 컨텐츠 비용 증가
 – 전력 소모 증가
 – 웹개발 + 3D 개발 지식 필요

• 이슈사항
 – 컨텐츠의 로딩 시간이 길다

                       20
진입장벽을 낮추기 위한 노력들

• 라이브러리
 – Three.js
 – GLGE
 – J3D
   • Unity exporter
 – 수 많은 WebGL기반 렌더링 라이브러리
 – 심지어 물리 엔진도 JS기반으로 있음(JigLibJS)
   • http://glge.org/demos/cardemo/


                                      21
WebGL의 문제점
•   초기 로딩 속도 문제
•   보안 문제
•   IE 미지원
•   안정성
•   완전하지 않은 모바일 브라우저 지원
    – iOS 5.0부터 지원 (iAd에서만 지원)
    – Android( 기본 브라우저에서 미지원 )


                                 22
Web 3D를 위한 다른 기술
• Flash 11
• Silverlight / ActiveX
• PC시장 게임 엔진에서 export
  – Unity Engine
  – Cry engine
  – Unreal engine
• Hybrid app
  – Titanium opengl module

                             23
결론
• 시간이 지나면 대부분에 웹브라우저에 장착 될 확률이 높
  다.
• Apple iOS는 정책적으로 막아놓음.
• MS는 지원 계획 없음. 답이 없다.
• 당장은 사용하기 제한적이지만, 눈여겨보면 좋은 기술.




                               24

Más contenido relacionado

La actualidad más candente

Benefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular jsBenefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular js
Harbinger Systems - HRTech Builder of Choice
 
libinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick Galbreathlibinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick Galbreath
CODE BLUE
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
Daniela Nunes
 

La actualidad más candente (20)

Agile certified practitioner Exam Notes
Agile certified practitioner Exam NotesAgile certified practitioner Exam Notes
Agile certified practitioner Exam Notes
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
 
GitOps with Amazon EKS Anywhere by Dan Budris
GitOps with Amazon EKS Anywhere by Dan BudrisGitOps with Amazon EKS Anywhere by Dan Budris
GitOps with Amazon EKS Anywhere by Dan Budris
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
 
Mvc, mvp, mvvm...
Mvc, mvp, mvvm...Mvc, mvp, mvvm...
Mvc, mvp, mvvm...
 
JSP: Introdução Parte 1
JSP: Introdução Parte 1JSP: Introdução Parte 1
JSP: Introdução Parte 1
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologies
 
Patterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservicesPatterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservices
 
쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
 
02 api gateway
02 api gateway02 api gateway
02 api gateway
 
MVVM-C vs MVP
MVVM-C vs MVPMVVM-C vs MVP
MVVM-C vs MVP
 
Benefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular jsBenefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular js
 
libinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick Galbreathlibinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick Galbreath
 
KGC2010 - 낡은 코드에 단위테스트 넣기
KGC2010 - 낡은 코드에 단위테스트 넣기KGC2010 - 낡은 코드에 단위테스트 넣기
KGC2010 - 낡은 코드에 단위테스트 넣기
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
 
[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
 
Micro-services architecture
Micro-services architectureMicro-services architecture
Micro-services architecture
 

Destacado (6)

내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오
 
Mobile Augmented Reality (KT경제연구소 세미나)
Mobile Augmented Reality (KT경제연구소 세미나)Mobile Augmented Reality (KT경제연구소 세미나)
Mobile Augmented Reality (KT경제연구소 세미나)
 
[H3 2012] 키노트 - Backend platform의 미래, baas.io
[H3 2012] 키노트 - Backend platform의 미래, baas.io[H3 2012] 키노트 - Backend platform의 미래, baas.io
[H3 2012] 키노트 - Backend platform의 미래, baas.io
 
AR tool - Vuforia
AR tool - VuforiaAR tool - Vuforia
AR tool - Vuforia
 
Oauth 이해 (소셜로그인)
Oauth 이해 (소셜로그인)Oauth 이해 (소셜로그인)
Oauth 이해 (소셜로그인)
 
모바일 엔진 개발기
모바일 엔진 개발기모바일 엔진 개발기
모바일 엔진 개발기
 

Similar a WebGL

HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
Sang Seok Lim
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Sung-tae Ryu
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Channy Yun
 

Similar a WebGL (20)

2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
 
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
 
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
 
Social game and windows azure platform (final)
Social game and windows azure platform (final)Social game and windows azure platform (final)
Social game and windows azure platform (final)
 
오픈소스 기반의 Digital Twin Platform mago3D의 과거, 현재 그리고 미래
오픈소스 기반의 Digital Twin Platform mago3D의 과거, 현재 그리고 미래오픈소스 기반의 Digital Twin Platform mago3D의 과거, 현재 그리고 미래
오픈소스 기반의 Digital Twin Platform mago3D의 과거, 현재 그리고 미래
 
WebKit / Blink Community 동향 및 개발방향
WebKit / Blink Community 동향 및 개발방향WebKit / Blink Community 동향 및 개발방향
WebKit / Blink Community 동향 및 개발방향
 
HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트
HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트
HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트
 
GDG DevFest Busan 16" Android Nougat Developer's Note
GDG DevFest Busan 16" Android Nougat Developer's NoteGDG DevFest Busan 16" Android Nougat Developer's Note
GDG DevFest Busan 16" Android Nougat Developer's Note
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망
 
Web os 전략 0912
Web os 전략 0912Web os 전략 0912
Web os 전략 0912
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
Modern Android App Development
Modern Android App DevelopmentModern Android App Development
Modern Android App Development
 
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
Weblockly 소개자료
Weblockly 소개자료Weblockly 소개자료
Weblockly 소개자료
 
지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기
 
mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 mago3D 한국어 소개 자료
mago3D 한국어 소개 자료
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 

Más de Hyosung Jeon (7)

Nodejs express
Nodejs expressNodejs express
Nodejs express
 
windows via c++ Ch 5. Job
windows via c++ Ch 5. Jobwindows via c++ Ch 5. Job
windows via c++ Ch 5. Job
 
9장 도메인 주도 설계
9장 도메인 주도 설계9장 도메인 주도 설계
9장 도메인 주도 설계
 
Mongo db 복제(Replication)
Mongo db 복제(Replication)Mongo db 복제(Replication)
Mongo db 복제(Replication)
 
xUnitTestPattern/chapter12
xUnitTestPattern/chapter12xUnitTestPattern/chapter12
xUnitTestPattern/chapter12
 
Map reduce
Map reduceMap reduce
Map reduce
 
목적이 부여된 에이전트 행동
목적이 부여된 에이전트 행동목적이 부여된 에이전트 행동
목적이 부여된 에이전트 행동
 

WebGL

  • 1. 아꿈사 오전반 스터디 자유발표 : WebGL 2011. 10. 29. 2012. 10. 23. 전효성 itmentor@gmail.com
  • 2. 이번 발표에서 다루는 것들 • WebGL 등장 배경 • WebGL로 할 수 있는 것들 • WebGL에 대한 소개 2
  • 3. WebGL 등장 배경 • 컴퓨팅 파워의 증가, GPU의 활용 • 웹 상에서 3D 요구 3
  • 4. Web 3D의 역사 • VRML / X3D – 뷰어마다 보이는게 다름 – 망했어요 • Collada – 최근 표준처럼 통용되는 3D모델 교환 형식 – XML기반, 느리다 • WebGL – 최근 Khronos group에서 제정한 Web 3D를 지원 하기 위한 API – 일부 웹 브라우저에서 사용이 가능하다. 4
  • 5. Web 3D로 어떤 일들을 할 수 있나? 5
  • 6. 6
  • 7. Google Maps – MapsGL 7
  • 9. PDF Viewer – CubicVR demo 9
  • 11. Google I/O 2011: Building Game Development Tools with App Engine, GWT, and WebGL 11
  • 12. Firefox plugin - Tilt 12
  • 13. Google chrome web store 13
  • 15. OpenGL related eco-system OpenGL OpenCL OpenGL ES WebGL WebCL (OpenGL ES 2.0) Visualization Computation 15
  • 16. 간단하게 말하면… Web browser에서 javascript로 OpenGL ES 2.0 API를 쓰게 하는 것 16
  • 17. WebGL에 없는 것 • Math library • High level graphics API • Immediate mode glBegin( GL_TRIANGLES ); glVertex3f( 0.0f, 0.0f, 0.0f ); glVertex3f( 1.0f, 0.0f, 0.0f ); glVertex3f( 1.0f, 1.0f, 1.0f ); glEnd(); 17
  • 18. 개발환경(IDE) • 웹페이지 개발하는 IDE면 모든 OK – Eclipse – Titanium studio 18
  • 19. 코드를 구경해 봅시다. • WebGL 사이트 – http://learningwebgl.com/blog/?page_id=1217 • 한글 번역 사이트 : – http://firejune.com/1669/ 19
  • 20. 웹에서 3D를 보여준다는 것은? • 장점 – 새로운 사용자 경험 제공 – 빠른 성능 • 단점 – 컨텐츠 비용 증가 – 전력 소모 증가 – 웹개발 + 3D 개발 지식 필요 • 이슈사항 – 컨텐츠의 로딩 시간이 길다 20
  • 21. 진입장벽을 낮추기 위한 노력들 • 라이브러리 – Three.js – GLGE – J3D • Unity exporter – 수 많은 WebGL기반 렌더링 라이브러리 – 심지어 물리 엔진도 JS기반으로 있음(JigLibJS) • http://glge.org/demos/cardemo/ 21
  • 22. WebGL의 문제점 • 초기 로딩 속도 문제 • 보안 문제 • IE 미지원 • 안정성 • 완전하지 않은 모바일 브라우저 지원 – iOS 5.0부터 지원 (iAd에서만 지원) – Android( 기본 브라우저에서 미지원 ) 22
  • 23. Web 3D를 위한 다른 기술 • Flash 11 • Silverlight / ActiveX • PC시장 게임 엔진에서 export – Unity Engine – Cry engine – Unreal engine • Hybrid app – Titanium opengl module 23
  • 24. 결론 • 시간이 지나면 대부분에 웹브라우저에 장착 될 확률이 높 다. • Apple iOS는 정책적으로 막아놓음. • MS는 지원 계획 없음. 답이 없다. • 당장은 사용하기 제한적이지만, 눈여겨보면 좋은 기술. 24