'3D'에 해당되는 글 1건

  1. 2008.05.21 플래시10 릴리즈에 새로 추가된 내부 클래스 소개 (3)
2008. 5. 21. 01:44

플래시10 릴리즈에 새로 추가된 내부 클래스 소개

사용자 삽입 이미지


플래시10 "Astro" 공개된지 일주일이 넘었지만
아직까지 이렇다할 공식 도큐먼트도 없고 테스트할 환경도 swc만 달랑 공개되었기 때문에
어떤기능이 추가되었고 뭐가 달라졌는지 알기가 힘들다.

물론 이런 문제들은 시간이 지나고 어도비측의 공식 문서가 공개가 되면 자연히 해결될 것이지만
그래도 해외 플래시 개발자들은 못참고(?) 디컴파일러까지 동원해 어느정도 리스트업을 해놓았다.

정리해보면

새로운 클래스

Vector
- Array와 비슷하지만 타입체킹을 하기 때문에 더 빠르다고 한다.
GraphicsBitmapFill, GraphicsEndFill - 비트맵이나 3D면에 쉐이더를 적용하기 위한 클래스(이부분은 gpu에 의한 하드웨어 가속이 지원된다고 함)
GraphicsGradientFill, GraphicsSolidFill, GraphicsStroke, GraphicsPath - 위와동일하지만
그라디언트나 라인 드로윙을 위한 것들
GraphicsTrianglePath - 한개의 3D 삼각형을 대표하는 클래스
Shader - 3D 그래픽을 위한 커스텀 쉐이더를 만드는 클래스(대단함ㅠㅠ) 쉐이더는 3D그래픽에서 질감을
처리하기 위한 기능임
SamplesCallbackEvent - 오디오(Sound)를 만들고 그 데이터들을 직접 다룰 수 있음
(플래시 기반 신디사이져 어플리케이션들이 많이 발전할 것이라 기대됨)
Matrix3D - 3D객체를 2D평면에 렌더링할 때 필수적인 행렬연산을 지원하는 클래스.
지금까지 플래시 기반으로 나온 Papervision이나 Away3D같은 3D엔진들이 훌륭한 퀼리티를
자랑하지만 실무에 써먹기 힘들었던 이유가 cpu점유율이나 퍼포먼스 문제인데 바로 이 행렬연산을
모두 as에서 직접 처리하기 때문에 느렸던 것이다. 그런데 이제 10에서는 네이티브 행렬연산을 지원하며
속도 또한 엄청 나게 빨라졌다!(바로 원하던것)
아마도 기존 3D엔진들이 이 기능을 사용해서 업데이트 한다면 퍼포먼스가 훨씬 빨라질 것이다.
Orientation3D, PerspectiveProjection, Transform, Utils3D, Vector3D -> 이것모두 3D와 관계된 추가된 클래스들

기존에 있었던 클래스에 추가된 기능

BitmapData - Vector 형태의 setter/getter를 지원함. (getVector/setVector)
BlendMode - 쉐이더를 사용하기 위한 SHADER라는 상수가 생김
DisplayerObject - 기존 x, y의 2차원 축만 가지고 있었지만 z값이 추가됨. 각 3가지 축 중심으로 회전할 수 있는 기능이 추가되고 마찬가지로 쉐이더 처리를 위한 기능도 포함
Graphics - 3D를 그리기 위한 기능들이 추가되고 기존 드로잉 로직또한 gpu지원에 힘입어
엄청나게 빨라질 것이라고 함
Stage - 이 클래스에는 ColorCollection을 세팅하는 기능이 추가됨
Event -  지우기, 복사, 붙여넣기, 전체선택 등이 기본 지원 이벤트로 추가됨
Microphone - speex라는 오픈소스 오디오 코덱을 활용할 수 있는 기능이 추가됨(VOIP!!!)
Sound - 여기에는 extract 라는 오디오 데이터를 직접 ByteArray로 추출하는 함수를 지원하고
samplesCallbackData 이벤트를 이용해서 오디오 데이터를 수정할 수 있음
FileRefernce - 파일 불러오기와 저장을 웹서버를 통하지 않고 직접할 수 있음 (만쉐)
NetConnection, NetStream - 이 두 클래스에는 p2p 기능을 지원하기 위한 여러 함수가 추가됨
여기서 p2p는 데이터를 전송할 때 서버를 거치지 않고 플래시 플레이어 끼리 직접 연결하는 듯
NetStreamInfo - 스트리밍 중 비트레이트를 마음대로 수정할 수 있는 다이나믹 스트리밍 기능
Capabilities - 위에서 잠깐 얘기한 ColorCollection에 대한 함수가 추가됬다고 하는 정확히 뭔지 모르겠음(-0-)

전체적으로 살펴봐도 가장 큰 변화는 3D쪽인거같다.
특히 네이티브 API들이 상당히 강력한 부분까지 지원하는 듯









Trackback 0 Comment 3
  1. 검쉰 2008.05.21 13:47 신고 address edit & del reply

    이런걸 알아내다니 대단한 분들이세요 ㅋㅋ

  2. 검쉰 2008.05.21 13:48 신고 address edit & del reply

    Capabilities 에 시스템 정보니 하는 것들이 담겨있는데 컬러컬랙션은 뭔지 궁금하네요 ^^;

  3. 췌영 2008.07.16 09:49 address edit & del reply

    쉐이더까지 지원한다니 좀 쇼킹하군요