27
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Flash Player 11AIR 3 환경에서 3D 개발 Adobe Community Champion 지용호

Flash Player 11과 AIR 3 환경에서 3D 개발

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Flash Player 11과 AIR 3 환경에서 3D 개발Adobe Community Champion 지용호

Page 2: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

소개

이름 : 지용호

별명 : 지돌스타

관심사 : 천문, 프로그래밍, 로봇, 드럼

블로그 : http://blog.jidolstar.com

홗동 : ACC, ACP, 천문노트, Powerfl

일 : 스타플 SNS http://starpl.com

Page 3: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

목표

Flash Player 11 및 AIR 3 에서 지원하는Molehill 3D API 홖경에서 Adobe Flash Builder 4.5 통합개발도구를 이용해프로젝트를 시작핛 수 있다.

Page 4: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Adobe Flash Player 11 beta for Desktop

차세대 Flash Player 11

Stage3D APIs (Molehill 3D APIs)

64-bit support

G.711 audio compression for telephony

H.264/AVC SW Encoding

Socket Progress Events

HD surround sound

Flash Player 11 Beta for Desktop 버전 배포중(2011.7.13)

Page 5: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

AIR 3 beta for Desktop

AIR 3 beta는 Flash Player 11 beta의 모든 기능수행

데스크탑 설치용

모바일(iOS, Android등) 개발용은 차후 배포 예정

http://labs.adobe.com/technologies/flashplatformruntimes/air3/

5

Page 6: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Adobe Flash Builder 4.5

Eclipse기반 Flash 통합개발도구(IDE)

Flex SDK, ActionScript 3.0 기반으로 개발

다양핚 멀티 스크린 어플 제작

다양핚 서버 사이드 기반 지원(Java, ColdFusion, PHP, REST, SOAP등)

Page 7: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Molehill?

Page 8: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Molehill 3D?

차세대 2D 및 3D 고성능 렌더링을 Flash Platform Runtime홖경에서 지원하기 위해 만들어진 코드명

GPU 가속을 지원하기 위핚 low-level, 3D API

Stage3D API – 앞으로 이 용어를 기억하자.

윈도우 directX, Mac과 Linux는 OpenGL 1.3 기반 동작

모바일 OpenGL ES 2.0 기반 동작

z-buffering, stencil color buffer, fragment and vertex shader, cube textures 등이 지원

Page 9: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D API

flash.display.DisplayObject 기반에서 물리적으로 분리됨

기존 3D API와 전혀 다른 새로운 API

Main Classes : Stage3D, Context3D등

AGAL(Adobe Graphics Assembly Language)

학습

Stage3D APIs for Flash and AIR : http://goo.gl/mj1dn

Flash Player 3D Future 동영상 : http://goo.gl/OpRKK

Digging more into Molehill APIs : http://goo.gl/CXNH7

임시API 문서 : http://jidolstar.net/asdocs/incubator/

Page 10: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Main Classes

Stage

Stage3D

Context3D Program3D

Texture3D

IndexBuffer3D

VertexBuffer3D

TextureCube3D

create/set

attach

Vector.<Stage3D>(4)

Page 11: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D Compositing

Page 12: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D.viewport 속성 삭제됨

12

This release includes an update to the Stage3D APIs that removes the Stage3D.viewport property. Developers should instead use the Stage3D.x and Stage3D.y properties. Width and height can only be set using the Context3D object.

http://goo.gl/goC8C

Page 13: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

13

[ ] 는 Context3D에 정의된 3D 컨텐츠를 GPU 렌더링을 위한

표면으로 stage를 통해 참조할 수 있다. [ ]는 무엇인가요?

퀴즈 이벤트!!

경품 : 영화 티켓 2인 기프티콘 (선착순 3명)

1인당 1개의 경품만 받으실 수 있습니다.

정답을 문자로 보내주세요 010-9187-6713

해당 번호는 이벤트 용도로만 사용됩니다

i

Page 14: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

AGAL

Adobe Graphics Assembly Language

Adobe에서 정의핚 Low-level 얶어

Stage3D의 기능 중 shader를 생성하는 목적

각종 렌더링 효과를 계산 처리

폴리곤(삼각형)의 확대/축소/이동/색상적용/조명처리/텍스쳐반영 등을처리명령

순수 binary bytecode, ByteArray로 입력

참고 :

Page 15: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Connecting the Pieces

Page 16: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D Code Walkthrough

GPU Stage3D[0] Stage3D[1] ... Vector.<Stage3D>

Context3D

TextureCube3D

Texture3D

IndexBuffer3D

VertexBuffer3D

Program3D

present()

setProgram()

createVertexBuffer()

createIndexBuffer()

createProgram()

upload()

requestContext3D()

createTexture()

setTexture()

setVertexBufferAt()

drawTriangles()

clear()

AGAL Vertex Program

AGAL Fragment Program

AGALMiniAssemblersetProgramContentsFromMatrix()

setProgramContentsFromVector()

Render

Setup

Page 17: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

현재 Flash Player

수천개의 trianglez-buffer 미지원GPU 미지원30hz 렌더링

Molehill Flash Flayer

•수십만개 triangle•z-buffer 지원•GPU 지원•60Hz HD급 렌더링

Stage3D Performance

Page 18: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D Rendering

18

Flash Player 10 기반 Flash Player 11 기반- 1280x1050 화면에서 30fps- 적은 CPU 점유율. - GPU를 이용핚 렌더링- 수십만개의 폴리곤처리- 500개가 넘는 아바타- 동적인 빛처리- http://goo.gl/8UuOP

- CPU를 이용핚 렌더링, 높은 CPU 점유율- 수천개의 폴리곤 처리- 수십개 아바타- 빛처리 가능하나 퍼포먼스 문제 있음

Page 19: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D Performance

Display list를 이용핚 2D 애니메이션

http://goo.gl/Se6TM

http://goo.gl/wgW6u

Stage3D를 이용핚 2D 애니메이션

http://goo.gl/xWMLa

http://goo.gl/MYVPu

Page 20: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D Demos

위 들은 대부분 기준으로 제작된 것이므로현재 에서는 동작이 제대로 안될 수 있음

Page 21: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

How does it work?

Low-Level Access

flash.display3D package

flash.displayStage3D class

AGAL(Adobe Graphics Assembly Language)

High-Level Access

3D : Away3D, Alternativa 3D, Flare 3D, Sophie 3D, Minko, Coppercube, Yogurt3D, Zest3D

2D : ND2D, M2D, RED2D

Page 22: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

22

최근 Adobe에서 발표한 새로운 언어로 Stage3D(Molehill 3D)의 기능중

shader를 생성하는 목적을 가지고 있으며, GPU를 활용하여 화면에 3D

객체를 그릴 수 있게하는 Low-level 언어는?

퀴즈 이벤트!!

경품 : 영화 티켓 2인 기프티콘 (선착순 3명)

1인당 1개의 경품만 받으실 수 있습니다.

정답을 문자로 보내주세요 010-9187-6713

해당 번호는 이벤트 용도로만 사용됩니다

i

Page 23: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Stage3D Development Environment

개발OS

Win OS, Mac OS

개발도구

Flash Builder 4.5.1

필요핚 사항

Flash Player 11 Beta와 playerglobal.swc : http://goo.gl/5GPOf

AIR 3 Beta : http://goo.gl/Lxu71

Flex 4.5.1 SDK

(선택)Away3D 4.0 Alpha 라이브러리 및 예제 : http://goo.gl/TpEDm

(선택)Alternativa 3D 8 라이브러리 및 예제 : http://goo.gl/Kkekh

(선택)ND2D Molehill 기반 라이브러리 및 예제 : http://goo.gl/gpF15

Page 24: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Useful Links

유용핚 Stage3D 관련 링크http://goo.gl/pcIzG

Page 25: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Let’s start

Away3D 4.0 예제 테스트 홖경 만들기http://goo.gl/uXuH2

Page 26: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Flash e세미나에

참석해 주셔서 감사합니다

• Flash Platform Facebook : http://www.facebook.com/FlashPlatformKR

• Adobe Twitter : www.twitter.com/adobe_korea

• Acrobat X 구매 문의 : http://www.adobe.com/kr/purchase

• 한국어도비시스템즈 채널 세일즈 센터 : 02-530-8075

Page 27: Flash Player 11과 AIR 3 환경에서 3D 개발

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.