Hanka_Franek Temat założony przez niniejszego użytkownika |
[C#] Kilka pytań o biblioteki 2d » 2011-10-28 01:42:57 To mój pierwszy post na tym forum, więc jeśli złamałem jakieś utarte zasady: przykro mi. Na początku też chciałem wyrazić nadzieję, że portal taki jak ten utrzyma się dłużej niż inne, dotyczące tej lub zbliżonej tematyki, bo w polskim necie nic nie można znaleźć kompletnego.
Do rzeczy:
"Za górami za lasami" powstało sobie w MS coś takiego jak MDX. Z przyczyn mi nieznananych długo nie pożyło. Był tam dostęp do DirectDraw (w wersji zarządzanej) (Ja tutaj zdaję sobie sprawę, że odnoszę się do c# ale wszędzie w tej kwestii widzę tylko milczenie).
Jakiś czas temu chciałem napisać sobie kontrolkę. Miała ona jednak swoje wymagania(gdi nie wystarczało) i musiałem zaprząc do pracy MDX. Ku swojemu zdziwieniu po zainstalowaniu sdk odkryłem, że MS więcej nie będzie tego "przestarzałego badziewia" rozwijał. Gdzie indziej wyczytałem parę innych informacji. Zacząłem szukać zastępstwa dla DDraw. Na horyzyncie szybko pojawiły się nazwy:
XNA Game Studio - nie znalazłem jeszcze rozwiązania mojego problemu w tym środowisku
Direct2D - siedzę na antycznym XP-ku
DirectWrite - j.w.
Po co ten wywód?
Chciałbym zapytać o kilka spraw:
1. Chciałbym uzyskać informacje o przeznaczeniu i "sposobie obsługi" Direct2D i DirectWrite.
2. I najważniejsze pytanie: czy to, że dziś MDX a także DirectDraw rozwijane już nie są, oznacza, że praktycznie w przyszłości nawet z zainstalowanym DirectX 8 mogą nie działać?
3. Czy Direct3D(może być natywny) posiada ustrojstwa, które pozwalałyby na wierne rysowanie na płaszczyźnie? Czy użycie go do takich celów nie będzie strzelaniem z armaty do muchy? |
|
DejaVu |
» 2011-10-28 08:40:37 Stare technologie zostały wycofane z rynku ponieważ zostały wyparte przez te, które posiadały wsparcie sprzętowe. Obecnie używa się wszystkiego co używa OpenGL-a bądź DirectX-a. Własne autorskie silniki, które nie korzystają z możliwości sprzętowych są po prostu słabe i niewarte zainteresowania. Przykładem może być tu np. Allegro 4.4, które swego czasu miało szerokie grono zwolenników, a w dzisiejszych czasach ludzie czym prędzej uciekają od tej biblioteki zastępując ją inną - taką, która posiada sprzętowe wsparcie renderowania elementów na scenie. |
|
Hanka_Franek Temat założony przez niniejszego użytkownika |
» 2011-10-28 13:46:58 Nie bardzo rozumiem.
Akceleracja sprzętowa istnieje od ubiegłego wieku. No oczywiście wiadomo, że się rozwija.
DirectDraw miał wsparcie sprzętowe.
DirectDraw to była część pakietu DirectX do wersji 9.3
Moje pytanie jednak nie dotyczy tych rzeczy. Nie wiem jak Allegro ale widziałem pierwsze strony kursów SDL i SFML. Wyglądają one raczej jak frameworki bazujące na DirectX lub OpenGL. DirectDraw był podzbiorem DirectX. U mnie przy zainstalowanym DirectX 9 SDK nadal jest. Podpiąłem w C# MDX do kontrolki i śmiga znacznie szybciej niż GDI.
Pytanie co zamiast niego?
Chodzi mi o coś takiego:
http://www.binboy.org/csharp/articles/123/Przelom_w_swiecie_DirectX_DirectX_NET.html
Ale może być też coś takiego, czyli to samo tylko nieopakowane:
http://darkcult.nazwa.pl/wiki/index.php/Kurs_DirectDraw_część_1
|
|
DejaVu |
» 2011-10-28 14:38:11 Jeżeli szukasz porady jakiej biblioteki użyć w C# - polecam poszukać forum C#. Jeżeli masz pytania o sposób użycia DirectDraw czy czegokolwiek innego - polecam wpisać hasło w googlach. Jeżeli pytasz o zastosowanie bibliotek - to zastosowanie może być dowolne o ile da się to coś dowolnego napisać za pomocą danego narzędzia. Jeżeli pytasz czy coś przestanie kiedyś działać - to odpowiem Ci, że z pewnością tak ale zanim to nastąpi to myślę, że się albo zestarzejesz albo zmieni się całkowicie technologia. To, że wychodzą nowsze rozwiązania Microsoftu czy innych firm nie oznacza, że nagle n-milionów aplikacji przestanie działać bo Microsoft coś sobie zmienił. Coś co zostało oddane do użytku ma być obsługiwane latami. Nawet jeżeli ktoś uzna, że 'okej, napisaliśmy to fatalnie - przepisujemy to' to mechanizm wyjdzie jako nowy komponent, a stary będzie dalej wspierany z myślą o aplikacjach, które zostały wytworzone w oparciu o tą technologię. Nie wiem co jeszcze mam napisać bo jakoś tak krążysz swoimi wypowiedziami dookoła zamiast sprecyzować w krótkich zdaniach jaki masz problem... ja na chwilę obecną np. nie wiem czy odpowiedziałem chociaż częściowo na to czego chciałeś się dowiedzieć :) |
|
Hanka_Franek Temat założony przez niniejszego użytkownika |
» 2011-10-28 15:17:50 Może najprościej jak się da będzie w punktach:
1. Czy to będzie c++ czy c# - bez znaczenia. Szukam biblioteki dlatego zamieściłem to w bibliotekach.
2. Potrzebuję zestawu luźno-związanych mechanizmów do niskopoziomowej obsługi grafiki 2d. Framework to już nie są luźno związane mechanizmy.
3. Byłoby miło gdyby DirectX.DirectDraw w wersji managed działał jeszcze z 5 lat ale:
http://msdn.microsoft.com/en-us/library/bb318765(VS.85).aspx
4. Może być to biblioteka niezarządzana, zwyczajnie napiszę wówczas sprawę w c++ a będę korzystał w c#.
5. Szukałem i nadal jestem w trakcie szukania rozwiązania za pomocą XNA. Niestety nigdy aż tak "krwawo" mi to nie szło. |
|
DejaVu |
» 2011-10-28 15:31:40 To weź OpenGL-a. Bliżej sprzętu niż OpenGL nie będziesz :) |
|
Hanka_Franek Temat założony przez niniejszego użytkownika |
» 2011-10-28 22:59:34 Żeby mnie tylko prąd nie kopnął :)
Poszedłem raz jeszcze do majkrosoftu na forum. Tym razem szperałem w nowszych wątkach i znalazłem informacje jak włączyć do swojego programu DirectDraw. Więc posty z 2007/2008 to była tylko paniczna reakcja. Nie zmienia to jednak faktu, że dość długo szukam aby móc chyba stwierdzić, że z kuźnii MS tylko DirectDraw lub Direct2D jest odpowiedzią na moje potrzeby.
OpenGL - przeczytałem sobie (chyba ze dwa lata temu) jakiś tutorial. Wolałem omijać temat OpenGL z daleka bo mam za słabą głowę do wyobrażenia sobie 2D w OpenGL. Owszem skrzynka która sie obracała we mgle u Nehe wyglądała ładnie. Czcionki freetype 2D ale w 3D :) tragicznie nie wyglądały. No ale to wszystko było 3D.
Interesuje mnie interface, który "nie będzie mial pojęcia" o istnieniu trzeciego wymiaru :). Chyba każdy przyzna, że trudno abym przeczytał książkę o opengl żeby wyświetlić wykresik albo nanieść w okienku tekst truetype, tylko dlatego, że potrzebuję więcej szybkości niż oferuje mi to GDI w dotnecie :).
Widzę to tak: dostarczam mojej wymarzonej bibliotece kontekst, robię szurumburum czy inne abrykadabry, których ona potrzebuje żeby się czuć komfortowo a później ona robi hokus pokus, żeby spełnic moje wymagania co do zawartości okienka, mając na uwadzę, że mam agorafobię i dlatego 3D może mnie zabić :)
Dlatego dzięki za odpowiedzi, pobawię się jeszcze MDX.
|
|
SeaMonster131 |
» 2011-10-28 23:11:43 |
|
« 1 » 2 |