2012-05-13 4 views
1

저는 게임을 디자인하고 WPF를 사용하여 기본적인 게임 플레이의 간단한 프로토 타입을 만드는 것에 대해 생각하고 있습니다.WPF 실시간 렌더링

WPF에서 기본 2D 그래픽을 실시간으로 렌더링 할 수 있습니까? 기본 그래픽은 선, 원 등과 같은 단순한 모양을 의미합니다. "실시간"이란 속도, 가속도 등과 같은 매개 변수를 기반으로 렌더링되는 것을 말합니다. 플레이어 입력에 따라 변경됩니다. 애니메이션에 스토리 보드를 사용하지 마십시오.

감사

답변

8

체크 아웃 좋은 관련 논의는 앞의 질문 High Performance Graphics using the WPF Visual Layer. WPF는 풍부한 벡터 그래픽을위한 훌륭한 프레임 워크를 제공하지만 실시간 2D 성능에는 다소 부족합니다.

예를 들어 장면 복잡도에 따라 DrawingVisuals 또는 가상화 된 Shape 클래스 (WPF 벡터 그래픽)를 사용하여 스프라이트를 그릴 수있는 해결 방법이 있습니다. 약간 낮은 단계로 진행하면 .NET4.0에서 사용할 수있는 BitmapCache 모드를 사용하여 스프라이트를 캐시하거나 미리 비트 맵에 미리 입력하고 다양한 optimization patterns을 사용하여 처리량을 향상시킬 수 있습니다.

여전히 낮은 레벨이 되려면 환상 WriteableBitmapEx 프로젝트를 사용하여 벡터/래스터 그래픽을 혼합하거나 D3DImage을 사용하는 벡터/GPU 그래픽을 혼합 할 수 있습니다.

장면을 업데이트하는 방법에 관해서는 CompositionTarget.Rendering 이벤트 (화면 다시 그리기)에서 업데이트 된 매개 변수를 가져 와서 스프라이트의 위치/방향을 계산하는 원시적 인 게임 엔진을 작성해야합니다. WPF/Silverlight 및 Farseer 물리학을 통합 한이 큰 codeplex project이 도움이 될 수 있습니다.

관련 문제