2011.05.27 acc 기술세미나 : adobe flash builder 4.5를 환경에서 molehill 3d를 이용한...

26
Molehill 3D이용한 개발소개 발표 : 지용호

Upload: yongho-ji

Post on 28-Jun-2015

4.450 views

Category:

Technology


2 download

DESCRIPTION

Flash Player 11의 Molehill 3D 환경에서 Adobe Flash Builder 4.5 개발도구를 이용 해 프로젝트를 시작할 수 있다.작성 : http://blog.jidolstar.com

TRANSCRIPT

Page 1: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill 3D를 이용한 개발소개

발표 : 지용호

Page 2: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

About me

• 이름 : 지용호

• 별명 : 지돌스타

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

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

• 활동 : ACC, ACP, 천문노트 고문, Powerfl

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

Page 3: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Goal

• Flash Player 11의 Molehill 3D 환경에서 Adobe Flash Builder 4.5 개발도구를 이용해 프로젝트를 시작할 수 있다.

Page 4: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Adobe Flash Platform

Page 5: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Adobe Flash Builder 4.5

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

• Flex SDK, ActionScript 3.0 기반으로 개발

• 다양한 멀티 스크린 어플 제작

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

Page 6: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Adobe Flash Player 11?

• 차세대 Flash Player 버전

• Flash Player 11 Incubator로 지칭

• http://labs.adobe.com/technologies/flashplatformruntimes/incubator

Page 7: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill?

Page 8: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill 3D?• 차세대 2D 및 3D 고성능 렌더링을 Flash Platform

Runtime환경에서 지원하기 위해 만들어진 코드명

• low-level, GPU 가속 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: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill Performance

• 현재 Flash Player

• 수천개의 triangle

• z-buffer 미지원

• GPU 미지원

• 30hz 렌더링

• Molehill 기반 Flash Player

• 수십만개 triangle

• z-buffer 지원

• GPU 지원

• 60Hz HD급 렌더링

Page 10: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill Performance

• Display list를 이용한 2D 애니메이션http://www.bytearray.org/wp-content/projects/molehill2d/displaylist/

• Molehill을 이용한 2D 애니메이션http://www.bytearray.org/wp-content/projects/molehill2d/molehill/

Page 11: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill 3D Demo

• http://blog.theflashblog.com/?p=2607

Page 12: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill API

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

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

• Main Classes : Stage3D, Context3D등

• AGAL(Adobe Graphics Assembly Language)

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

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

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

Page 13: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Main Classes

Stage

Stage3D

Context3D Program3D

Texture3D

IndexBuffer3D

VertexBuffer3D

TextureCube3D

create/set

attach

Vector.<Stage3D>(4)

Page 14: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Stage3D Compositing

Page 15: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Stage3D Class

Page 16: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

flash.display3D package

Page 17: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

flash.display3D.textures package

Page 18: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

VertexBuffer3D Class IndexBuffer3D Class

XYZRGB XYZRGB XYZRGB XYZRGB XYZRGB XYZRGB ...1 2 4IndexBuffer3D

VertexBuffer3D

Page 19: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

AGAL• Adobe Graphics Assembly Language

• Adobe에서 정의한 Low-level 언어

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

• 순수 binary bytecode, ByteArray로 입력

• AGALMiniAssembler.as 또는 Pixel Bender 3D 를 이용해 AGAL을 만듬

• 약 20개의 Opcodes가 존재• Opcode[32] Destination[32] SourceA[64] Source[64]

• Data : MOV, SGE, SLT, ABS, NEG, SAT, MIN, MAX

• Arithmetic : ADD, SUB, MUL, DIV, RCP, RSQ, SQR, POW, LOG, EXP, SIN, COS, FRC, NRM, DP3, DP4, CRS, M44, M34, M33

• Special(Fragment only) : TEX, KIL

• AGAL Register : AGAL Programs(sharders)가 실행되는 동안 사용할 수 있는 GPU내에 작은 메모리 영역

• Attribute Register, Constant Register, Temporary Register, Output Register, Varing Register, Texture Sampler

• Program3D 클래스에서 AGAL을 다룸

• Vertex Program(Vertex Shader), Fragment Program(Pixel Shader) 을 포함

Page 20: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Connecting the Pieces

Page 21: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill 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 22: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

How does it work?

• Low-Level Access

• flash.display3D package

• flash.displayStage3D class

• AGAL(Adobe Graphics Assembly Language)

• High-Level Access

• Away3D, Alternativa 3D, Flare 3D, Sophie 3D, Minko, Coppercube, Yogurt3D, Zest3D, M2D, ND2D

Page 23: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Molehill 3D Development Environment

• 개발OS

• Win OS, Mac OS

• 개발도구• Flash Builder 4.5

• 필요한 사항

• Flash Player Incubator 와 playerglobal.swc

• Flex 4.5 SDK

• (선택)Away3D 4.0 Alpha 라이브러리 및 예제

• (선택)Alternative 3D 8 라이브러리

Page 24: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Useful Links

• http://goo.gl/pcIzG

Page 25: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

When should you start studing?

Right Now!

Page 26: 2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개

Let’s starthttp://goo.gl/uXuH2