C#/ Aplikacja graficzna - sprzętowe wspomaganie {DirectX ?}

0

Witam! Chciałbym napisać stosunkowo prostą aplikację graficzną wyświetlającą obiekty 3D (na podstawie pliku tekstowego z współrzędnymi punktów) w czterech widokach jednocześnie, tzn:

  • przód
  • góra
  • bok
  • widok perspektywiczny

Chcę podzielić ekran na cztery części (cztery widoki) i wyświetlać obiekty podobnie jak w 3DSMAX. Na razie wystarczy mi przesuwanie, obracanie i zoom dla tych widoków. Z wykonaniem rzutów nie mam problemu, ale nie wiem z jakich bibliotek skorzystać, aby wykorzystać sprzętowe wspomaganie operacji graficznych (tak aby to wszystko działało szybko, płynnie). Czy muszę użyć biblioteki XNA? Albo DirectX (względnie OpenGL)?? Proszę o podpowiedzi.

Jak się do tego zabrać, z czego korzystać (z jakich bibliotek, elementów) języka?

Dziękuje!
R.

0

XNA lub Managed DirectX.
Chyba, że CsGL, ale jest stary, choć może ci podpasi ;p

0

A co w moim przypadku będzie lepsze?

0

W sumie obojętnie jeżeli do tak prostych rzeczy, ale XNA wymaga zainstalowanego własnego framework'a, więc jak chcesz to rozpowszechnić to nie zawsze komuś będzie chciało się go zainstalować. Nie wiem jak to z tym DX i OGL jest, ale w XNA masz już gotowy input, specjalne funkcje itd.

0

Teraz czytam blog o XNA i widzę, że to w zasadzie (głównie) do gier jest...

Jeszcze dodam, że obiekty bedą "pochodzić" z pliku tekstowego w formie współrzędnych punktów (X,Y,Z) - tzw. chmura punktów. I mam wykonać najpierw z tego trójkąty (triangulacja). Nie potrzebuje raczej renderowania, teksturowania, itp. funkcji które wykorzystuje się w grach.

Dobrze by było gdyby to było możliwie proste do zaimplementowania. Kod nie będzie udostępniany, to jest projekt "jednostkowy" ;)

0

Nie potrzebujesz renderowania i teksturowania?

0

Skoro chcesz to wyświetlić to musisz wyrenderować najpierw ;p Skoro masz w pliku, to żadna biblioteka nie wczyta za ciebie tych punktów. Musisz sobie sam napisać obsługę tego. Co do reszty, w XNA nie jest tak łatwo jak pamiętam w OGL. Możesz poczytać w dokumentacji XNA, tam są opisane jak zrobić trójkąty, linie itp. z wierzchołków.

0

Nie potrzebujesz renderowania i teksturowania?

Masz rację. Renderowanie się przyda (inaczej wszystko by się "zlało"), ale bardzo proste (ściany w jednym kolorze), itp. Tekstury zupełnie nie są mi potrzebne.

Z triangulacją (jeśli dana technologia) tego nie posiada to sobie poradzę. Znam algorytm Delanuaya, nie jest zbyt trudny do implementacji. Z rzutami, też sobie poradzę (raczej :). Moje główne pytanie - to jakiej technologi użyć, żeby było wsparcie sprzętowe grafiki 3D.

0

Wszystkie, które wymieniłem są wspomagane przez GPU. IMO XNA jest najłatwiejszy z nich, masz wszystko na tacy.
Tutaj tutek z listą trójkątów:
http://msdn.microsoft.com/en-us/library/bb203926.aspx

0

OK. DZIEKI! Biorę się w takim razie za XNA.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0