2010-06-07 9 views
2

아이들이 3 차원 객체를 만들고 작업 할 수있게 페인트와 같은 응용 프로그램을 구현하고 싶습니다.3D 페인트 응용 프로그램 구현 : 시작하는 방법?

어떻게 시작할 수 있습니까? 올바른 접근 방식은 무엇입니까? WPF, OpenGL 또는 Direct3D? (나는 C# 솔루션을 선호하지만 C++도 괜찮습니다.)

미리 감사드립니다. --NewB

+4

가능한 모든 인터페이스 설계, 완전한 기술 아키텍처, 클래스 계층 구조/디자인과 함께 모든 요구 사항을 요약 한 디자인 문서부터 시작하십시오. 그 시점에서, 당신은 당신이 말하는 것을하는 것이 얼마나 엄청난 일인지 깨닫게 될 것입니다. 그런 다음 codeplex를 확인하고 3D 모델링 응용 프로그램을 검색하고 C#으로 언어를 제한하면 할 일과 비슷한 일부 오픈 소스 프로젝트를 찾을 수 있습니다. 그것들을 읽으면 어디에서 시작해야하는지 알려줄 것입니다. – DevinB

+0

감사합니다! 나는 그것을 검사 할 것이다. –

+1

@devinb : 새로운 언어로 실험 프로젝트를 시작했을 때, 디자인 - 문서 - 우선 접근 방식은 그리 좋은 생각이 아닙니다. 디자인 문서는 기술과 프로그램 요구 사항을 매우 높은 수준에서 이해하는 상황에 적합합니다 (우주에서 "거의 절대"는 아님). – MusiGenesis

답변

2

여기 당신이 시작할 수 WPF를 사용하여 훌륭한 예입니다 C#을 사용하기 위해이기도합니다. 실제로 이런 종류의 일을하는 다양한 방법이 있기 때문에, 모두 자신의 상대적 비용과 편익을 가지고 있습니다. 그것은 마치 아이스크림과 같습니다. WPF는 아마도 쵸콜렛을 좋아할 것입니다.

1

그냥 참고로, 당신은 너무 XNA를 살펴하실 수 있습니다 - 그것은 더 복잡한 다이렉트 3D 소품류를 많이 감싸고 바로 이동할 수있는 좋은 API이다

http://www.codeproject.com/KB/WPF/Wpf3DPrimer.aspx

그러나, 당신은 확실히 열린 마음을 유지하고 다른 가능성을 고려해야합니다 거기에, 그것은

+0

대단히 고마워요! –

+1

riemers.net에는 내가 아는 xna에 대한 최고의 무료 온라인 자습서가 있습니다. –

1

나는 위의 모든 내용을 건너 뛰고 MOGRE 또는 osgDotNet과 같은 상위 수준 API를 사용합니다. 이것들은 DirectX와 OpenGL 사이를 비교적 쉽게 전환 할 수있게 해주 며, 도면을 반자동으로 최적화 할뿐 아니라 완전히 독자적으로 할 수있는 많은 기능을 지원합니다. 추가 기능은 절대로 필요하지 않을 수도 있지만 다시 한 번 자유롭게 사용할 수 있습니다.

+0

"반자동 최적화"? 그것은 준결 해 보인다. :) – MusiGenesis

+0

@MusicGenesis : 예, 생각은 그들이 그래프 구조에 반영된 필요한 상태 변경과 함께 장면의 그래프 (DAG)를 작성하여, (대부분) 지오메트리에 필요한 상태 변경을 최소화합니다. 한정된. –

관련 문제