WPF 3D 그래픽 발표자 : 조 현 민
Contents 1 . 3D 그래픽 2 . 3D Object 1-1 WFP 3D 그래픽 2-2 UIElement3D Class? 2 . 3D Object 2-1 Model 3D 2-2 Visual 3D 2-3 Transform 3D 2-4 Geometry 3D
3D 그래픽 WPF 3D 그래픽 WPF 3D API들은 .NET Framework의 다른 부분 처럼 접근 하기 쉽고 편리하도록 설계 WPF와 구조적으로 완전히 통합 되어 2D 그래픽이나 여타 부분에서 3D 그래픽 데이터를 공유하고 재사용 할 수 있음 기존 .NET의 코딩 패턴을 따르고 있기 때문에 처음 접하는 개발자들도 비교적 쉽게 양질의 결과를 얻을 수 있음
3D 그래픽 UIElement3D Class? WPF (Windows Presentation Foundation)요소 및 기본 표시 특성을 기반으로 빌드되는 WPF 핵심 수준 구현에 사용되는 기본 클래스 특정 3D 요소를 나타내는 클래스를 파생시킬 수 있는 추상 기본 클래스 일반적으로 3D요소의 입력, 포커스 및 이벤트 동작은 대부분 UIElement3D 클래스에서 정의 키보드, 마우스 및 스타일 러스 입력의 이벤트 관련 상태 속성이 포함
3D Object Model 3D 2D 객체와 이에 상응하는 3D 객체 - Drawing 드로잉(Drawing) 객체들은 비주얼(Visual) 객체를 렌더링 해서 만들어 내는 클립아트 처럼 2D 컨텐트를 표현 하는데 사용 모델3D(Model 3D)객체는 비주얼3D(Visual3D) 객체를 렌더링해서 3D 모델을 표현 모델3D 하위 클래스 - 라이트(Light) - 지오메트리모델3D(GeometryModel3D) -모델3D그룹(Model3DGroup) -렌더링 : 2차원 화상에 광원, 위치, 색상 등 외부의 정보를 고려하여 사실감을 불어넣어 3차원 화상을 만드는 과정을 뜻함
3D Object Visual 3D 2D 객체와 이에 상응하는 3D 객체 - Visual3D 컨트롤(Control)과 셰이프(Shape)처럼 FrameworkElement 계열의 모든 엘리먼트와 드로잉비주얼(DrawingVisual)을 포함 비주얼3D(Visual3D)는 3D 컨텐트를 렌더링 하는 기반 클래스 실제 구현한 모델비주얼3D(ModelVisual3D)는 모델3D(Model3D)같은 3D 컨텐트를 렌더링 하는데 사용 비주얼3D 하위 클래스 -ModelVisual3D
3D Object Transform 3D 2D 객체와 이에 상응하는 3D 객체 - Transform 형태 변환 작업에 사용 Transform3D 하위 클래스 -TranslateTransform3D : 3D 객체를 포함하는 컨테이너에 따라 상대적인 위치를 정하도록 해줌 -ScaleTransform3D : 3D 객체를 포함하는 컨테이너에 따라 상대적인 크기를 조절 -RotateTransform3D : 3D 객체를 포함하는 컨테이너에 따라 생대적인 회전 -MatrixTransform3D : 매트릭스 3D를 이용해서 3D 객체를 형태 변환 -Transform3DGroup : Transform3D 객체들의 컬렉션을 포함 자체가 또한 하나의 Transform3D일 뿐만 아니라 3D객체를 한 번에 형태 변환할 때 사용
3D Object Geometry 3D 2D 객체와 이에 상응하는 3D 객체 - Geometry But 자체적으로 렌더링 되지 않음 지오메트리3D(Geometry3D)는 3D의 서피스를 표현, But 자체적으로 렌더링 불가하므로 지오메트리모델3D(GeometryModel3D)를 사용해서 메터리얼(Material)과 결합 시켜야 함 -서피스 : 면의 반사율 굴욕등의 기본적인 속성을 가지며, 앞뒤 구분이 있음. -매터리얼 : 다양한 라이트 객체의 프로퍼티들은 화면마다 빛의 방향과 컬러를 결정하는 데 사용하며, 메터리얼 객체의 프로들은 라이트에서 발산되는 빛을 반사해 볼 수 있는 이미지를 만들어 냄
Thank you!